
1. 一元导数里那个恰到好处的巧合是后面所有混乱的源头一元微积分学得顺很大程度上是因为那里有一个巧合在帮忙。等你到了多元函数这一章偏导数、全微分、方向导数、梯度一股脑涌过来公式越写越长可一旦被问偏导数都算出来了为什么还不能说函数可微很多人就只能背结论。这不是记性问题是概念的层级没有理顺。导数、偏导数、全微分这三样东西本质上在回答三个不同的问题变化率是多少、沿某个坐标方向的变化率是多少、函数增量能不能被一个线性函数逼到足够近。把这几个问题的边界划清楚后面的方向导数、梯度、隐函数求导、泰勒展开基本一路顺下去。1.1 导数管变化率微分管增量怎么拆函数 $f$ 在 $x_0$ 可导的定义是极限存在$$f(x_0)\lim_{\Delta x\to 0}\frac{f(x_0\Delta x)-f(x_0)}{\Delta x}$$这个数描述的是瞬时变化率——自变量每走一个单位函数大约走 $f(x_0)$ 个单位。而可微是另一句话能不能找到一个与 $\Delta x$ 无关的常数 $A$使得$$\Delta yf(x_0\Delta x)-f(x_0)A\Delta xo(\Delta x)$$把这两件事放在一起看一元情形下它们是等价的。等价的原因很简单上面那个式子两边除以 $\Delta x$ 再取极限能充当 $A$ 的只有 $f(x_0)$。教材里常常把可导和可微当同义词用久而久之人们会以为这种等价是天经地义的。问题恰恰出在这里。一元情形下靠近 $x_0$ 只有左右两个方向沿一个方向能线性逼近和沿所有方向能线性逼近几乎是同一句话。多元情形把这两件事彻底分开了因为平面上有无数条路径可以走向一个点。1.2 真正该记住的是这一句话我自己反复用的记法是导数回答变化率是多少微分回答增量能不能被一个线性函数替代误差有多小。一元$\Delta yf(x_0)\Delta xo(\Delta x)$线性部分是 $f(x_0)\Delta x$记作 $dy$。多元$\Delta zA\Delta xB\Delta yo(\rho)$线性部分是 $A\Delta xB\Delta y$记作 $dz$。写成矩阵味道更重一点$\Delta z Df(P)\cdot\Delta \boldsymbol{x}o(\rho)$其中 $Df$ 就是雅可比矩阵一元时退化成一个数。这个视角后面有大用——全微分本质是一个线性映射偏导数是它的分量方向导数是它作用在单位向量上的取值。提示把微分和导数分开记是后面所有判断的起点。凡是问能不能线性逼近讨论的都是微分凡是问变化率是多少讨论的都是导数。2. 偏导数把 y 冻住沿坐标轴方向量一次斜率2.1 定义式里那个关键动作$$\frac{\partial f}{\partial x}(x_0,y_0)\lim_{\Delta x\to 0}\frac{f(x_0\Delta x,,y_0)-f(x_0,y_0)}{\Delta x}$$注意看这个定义里 $y$ 从头到尾都等于 $y_0$一点都没动过。等价的说法是令 $g(x)f(x,y_0)$那么 $\partial f/\partial x(x_0,y_0)g(x_0)$。偏导数就是把多元函数切一刀切成一个一元函数再对这个一元函数求导。这也是为什么偏导数的计算几乎不需要新技巧——把另一个变量当常数剩下的就是一元求导。几何上更好理解曲面 $zf(x,y)$ 与平面 $yy_0$ 相交得到一条曲线$\partial f/\partial x$ 就是这条曲线处切线关于 $x$ 轴的斜率类似地 $\partial f/\partial y$ 是曲面与 $xx_0$ 相交所得曲线切线的斜率。在一点处两个偏导数给出了两条特定方向的切线。这两条切线如果能确定唯一的平面那个平面就是切平面。而偏导数只能告诉我们这两条方向上的斜率能不能保证这个平面在整个邻域内都贴住曲面是另一件事。2.2 偏导数只完成了线性逼近的一半一维里$f(x_0)$ 完整描述了函数的局部线性行为。二维里$f_x$ 只管 $x$ 方向$f_y$ 只管 $y$ 方向。把两者拼成 $A\Delta xB\Delta y$ 的时候其实是在外推我们赌函数沿着别的方向也是线性的也就是赌$$f(x_0\Delta x,y_0\Delta y)-f(x_0,y_0)\approx f_x\Delta xf_y\Delta y$$这个赌注对不对标标准准就是可微性要回答的问题。打个比方。你站在一块起伏的地形上只沿正东和正北各量了一次坡度就宣布这块地是个斜面任意方向的坡度都能用这两个数合成。如果地形真是斜的那没问题但如果东偏北 45 度方向藏着一道沟你在正东和正北的测量完全看不见它。偏导数就是这么两次单独采样。2.3 偏导都存在函数却可以不连续最小代价反例$$f(x,y)\begin{cases}\dfrac{xy}{x^{2}y^{2}}, (x,y)\neq(0,0)\[6pt] 0, (x,y)(0,0)\end{cases}$$在原点求偏导。因为 $f(h,0)0$$h\neq 0$所以$$f_x(0,0)\lim_{h\to 0}\frac{f(h,0)-f(0,0)}{h}\lim_{h\to 0}\frac{0-0}{h}0$$同理 $f_y(0,0)0$。两个偏导数都存在而且都是 0。但这个函数在原点不连续。沿直线 $yx$ 靠近原点时 $f(x,x)x^2/(2x^2)1/2$与 $f(0,0)0$ 不相等所以极限不存在。既然可微必然连续它在原点当然也不可微。顺带说一句这个函数连方向导数都基本不存在。取单位方向 $\boldsymbol u(\cos\theta,\sin\theta)$当 $t\neq 0$ 时 $f(t\cos\theta,t\sin\theta)t^2\cos\theta\sin\theta/t^2\cos\theta\sin\theta$除以 $t$ 后是 $\cos\theta\sin\theta/t$$t\to 0$ 时发散。只有 $\cos\theta\sin\theta0$也就是沿两条坐标轴方向导数才存在。3. 全微分要求一个平面同时管住所有方向3.1 把可微的定义式逐项拆开定义是这样的如果存在与 $\Delta x,\Delta y$ 都无关的常数 $A,B$使得$$\Delta zf(x_0\Delta x,y_0\Delta y)-f(x_0,y_0)A\Delta xB\Delta yo(\rho),\qquad \rho\sqrt{\Delta x^{2}\Delta y^{2}}$$则称 $f$ 在 $(x_0,y_0)$ 可微$A\Delta xB\Delta y$ 称为全微分$dz$。拆开看这里有三件事同时被要求与 $\Delta x,\Delta y$ 无关的常数 $A,B$——切平面是固定的一个平面不能随方向改变$o(\rho)$——误差相对欧氏距离 $\rho$ 是高阶无穷小注意 $\rho$ 是距离不是 $|\Delta x|$也不是 $|\Delta y|$。如果可微那么一定可以求出 $Af_x(x_0,y_0)$$Bf_y(x_0,y_0)$。证法极简在上式里令 $\Delta y\equiv 0$得 $\Delta zA\Delta xo(|\Delta x|)$两边除以 $\Delta x$ 取极限就是 $A$。所以可微必偏导存在而且$$dz\frac{\partial z}{\partial x}dx\frac{\partial z}{\partial y}dy$$这就是可微是偏导存在的充分条件这一方向的来源你可以从可微推出偏导但反过来不行。3.2 余项里的 ρ 和一元的 Δx差在哪里这是整篇最要紧的一句话。一元的时候$\Delta x\to 0$ 和 $\rho|\Delta x|\to 0$ 是同一件事。偏导数的定义式就是一个以 $\Delta x$ 为自变量的极限。沿 $x$ 方向线性逼近自动就是唯一的线性逼近。多元的时候$\rho\to 0$ 允许 $\Delta x$ 和 $\Delta y$ 以任意方式、任意比例同时趋于 0——可以沿直线可以沿抛物线可以螺旋着靠近。$o(\rho)$ 意味着不管沿着哪条路径靠近误差都必须比 $\rho$ 更快地趋近 0。而偏导数 $f_x$ 只处理了 $\Delta y\equiv 0$ 这一条路径$f_y$ 只处理了 $\Delta x\equiv 0$ 这一条路径。两条路径合格不代表所有路径都合格。提示偏导数是对两条坐标轴的承诺全微分是对整个邻域的承诺。这个差距就是所有反例的来源。3.3 偏导数连续最好用的充分条件但不是必要条件实际操作中用得最多的一条定理是如果 $f_x,f_y$ 在 $P$ 的某个邻域内存在并且在 $P$ 点连续那么 $f$ 在 $P$ 可微。证明的思路是用拉格朗日中值定理把增量沿两条坐标轴接力分解再估计余项被 $\rho$ 控制住。这条定理好用因为绝大多数初等函数在它们的定义区域内偏导数都连续直接判定可微。但它是充分不必要条件。经典反例$$f(x,y)\begin{cases}(x^{2}y^{2})\sin\dfrac{1}{x^{2}y^{2}}, (x,y)\neq(0,0)\[6pt] 0, (x,y)(0,0)\end{cases}$$可微性检查余项 $Rf(h,k)$$\rho\sqrt{h^2k^2}$$$\frac{R}{\rho}\rho\sin\frac{1}{\rho^{2}},\qquad \left|\rho\sin\frac{1}{\rho^{2}}\right|\le \rho\to 0$$所以它在原点可微且 $f_x(0,0)f_y(0,0)0$。但偏导数在原点不连续在 $(x,y)\neq(0,0)$ 处$$f_x(x,y)2x\sin\frac{1}{\rho^{2}}-\frac{2x}{\rho^{2}}\cos\frac{1}{\rho^{2}}$$取点 $(x,0)$第二项等于 $-\dfrac{2\cos(1/x^{2})}{x}$$x\to 0$ 时无界。所以 $f_x$ 在原点根本不连续。结论很清楚可微推不出偏导连续偏导连续只是判定可微的一条方便的充分条件。4. 把关系理成一张表再逐个验证反例4.1 谁能推出谁命题是否成立说明或反例偏导存在 ⇒ 连续否$xy/(x^2y^2)$ 在原点偏导存在 ⇒ 可微否$xy/\sqrt{x^2y^2}$ 在原点偏导存在 ⇒ 方向导数存在否$xy/(x^2y^2)$ 在原点方向导数全存在 ⇒ 连续否沿抛物线取值为 1 的特征函数方向导数全存在 ⇒ 可微否同上可微 ⇒ 偏导存在是在定义式中令 $\Delta y\equiv 0$ 推出可微 ⇒ 方向导数存在且 $D_{\boldsymbol u}f\nabla f\cdot\boldsymbol u$是全微分线性主部直接作用可微 ⇒ 连续是增量式右边整体趋于 0偏导连续 ⇒ 可微是充分不必要$(x^2y^2)\sin\frac{1}{x^2y^2}$ 是反例连续 偏导存在 ⇒ 可微否$xy/\sqrt{x^2y^2}$ 在原点这张表建议自己动手抄一遍抄的过程比读的过程记得牢得多。4.2 三个反例的完整验证过程反例一$f\dfrac{xy}{\sqrt{x^{2}y^{2}}}$原点补 0。偏导$f(h,0)0$故 $f_x(0,0)0$同理 $f_y(0,0)0$。连续性$|f|\le \dfrac{|xy|}{\rho}\le \dfrac{\rho}{2}\to 0$所以连续。可微性把 $AB0$ 代入余项只看$$\lim_{(h,k)\to(0,0)}\frac{f(h,k)-0-0\cdot h-0\cdot k}{\rho}\lim\frac{hk}{h^{2}k^{2}}$$沿 $kh$ 这条路径取值恒为 $1/2$不趋于 0所以不可微。这个例子说明连续加上偏导存在仍然不够。反例二$(x^{2}y^{2})\sin\dfrac{1}{x^{2}y^{2}}$原点补 0。上面已经算过可微但偏导在原点不连续。它专门用来打掉可微等价于偏导连续这个错觉。反例三特征函数。定义 $f(x,y)1$ 当 $yx^{2}$ 且 $x\neq 0$其余点为 $0$。偏导在原点沿坐标轴函数值恒为 0故 $f_x(0,0)f_y(0,0)0$。方向导数任取单位方向 $\boldsymbol u(\cos\theta,\sin\theta)$点 $(t\cos\theta,t\sin\theta)$ 落在抛物线上需要满足 $t\sin\thetat^{2}\cos^{2}\theta$对固定的 $\theta$这只对至多一个 $t$ 成立。所以 $t\to 0$ 足够小时 $f\equiv 0$方向导数等于 0。所有方向导数都存在。连续性沿抛物线 $yx^{2}$ 走向原点时 $f\equiv 1$与 $f(0,0)0$ 不等所以不连续。连连续都不满足可微自然免谈。这个例子直接打掉了方向导数全存在就能推可微的幻想。4.3 用几行代码把反例跑一遍眼睛看不出来的东西数值能看出来。下面这段脚本专门检验反例一的余项行为import numpy as np def f(x, y): r np.hypot(x, y) return 0.0 if r 0 else x * y / r for h in [1e-1, 1e-2, 1e-3, 1e-4, 1e-5]: rho np.hypot(h, h) print(fh{h:.0e} R/rho{f(h, h) / rho:.6f})输出会稳定停在 $0.5$ 附近无论 $h$ 缩到多小。这就是余项除以 $\rho$ 不趋于 0的数值铁证。如果你把同样的代码换成 $fx^{2}y^{2}/(x^{2}y^{2})$会看到 $R/\rho$ 随 $\rho$ 一起萎缩到 $10^{-5}$ 量级两相对比很有说服力。5. 方向导数和梯度把全微分的线性部分读出来5.1 方向导数的定义以及它和偏导数的关系$$\frac{\partial f}{\partial \boldsymbol u}(x_0,y_0)\lim_{t\to 0^{}}\frac{f(x_0t\cos\alpha,\ y_0t\sin\alpha)-f(x_0,y_0)}{t}$$其中 $\boldsymbol u(\cos\alpha,\sin\alpha)$ 是单位向量。这个定义和偏导数唯一的区别是不再是沿 $x$ 轴或 $y$ 轴而是沿任意指定方向。偏导数是方向导数在 $\boldsymbol u(1,0)$ 和 $\boldsymbol u(0,1)$ 时的两个特例。要留意的是方向导数要求 $t$ 从正方向趋于 0因为反方向对应的是 $-\boldsymbol u$结果可能不同比如 $|x|$ 的原点。所以把方向导数写成双边极限是错的。5.2 梯度就是那个线性泛函的向量化身若 $f$ 在 $P$ 可微则对任意单位向量 $\boldsymbol u$$$D_{\boldsymbol u}f(P)\nabla f(P)\cdot\boldsymbol uf_x(P)\cos\alphaf_y(P)\sin\alpha$$推导只用一步把 $Pt\boldsymbol u$ 代入全微分定义式$\rho|t|t$于是$$\Delta zA(t\cos\alpha)B(t\sin\alpha)o(t)$$两边除以 $t$ 取极限得到 $A\cos\alphaB\sin\alpha$。这说明全微分这条线性映射作用在方向向量 $\boldsymbol u$ 上正好就是方向导数。把方向导数写成 $D_{\boldsymbol u}f|\nabla f|\cos\theta$$\theta$ 是 $\boldsymbol u$ 与梯度的夹角立刻得到梯度方向是最陡上升方向模长是最大变化率这个结论。很多教材把它当成一个需要记的定理其实它就是上面的点乘公式换个写法。5.3 反过来推不成立而且是两种不同的失败第一种失败方向导数存在不代表函数可微。4.2 里的特征函数已经演示过它连连续都不满足。第二种失败更要小心偏导存在和方向导数存在是两件独立的事。$xy/(x^2y^2)$ 在原点偏导都是 0但除了两条坐标轴方向其余方向导数统统不存在。所以我有两个偏导数这句话的信息量比很多人想象的要少得多。真正把方向导数和可微打通的是这个命题如果 $f$ 在 $P$ 可微则所有方向导数存在且统一由梯度给出如果所有方向导数存在且关于方向连续才能反过来推出可微。日常做题时看到求方向导数而题目没保证可微就要先确认可微性不能想当然套 $\nabla f\cdot\boldsymbol u$。6. 判定可微性的标准动作和计算技巧6.1 一套可以照做的流程先做连续性的快筛。如果函数在 $P$ 点不连续直接判不可微不用算偏导。找两条路径得出的极限不同或者沿某条曲线趋近的值不对就能结束战斗。求出两个偏导$f_x(P),f_y(P)$。这一步按照另一个变量当常数的规则做注意分母里出现 $\rho$ 时用定义式别硬套求导公式。写出余项并验证极限$$Rf(x_0\Delta x,y_0\Delta y)-f(x_0,y_0)-f_x(P)\Delta x-f_y(P)\Delta y$$真正要检查的是 $\lim\limits_{\rho\to 0}R/\rho0$。 4.先证伪再证真。想证不可微就找路径——$ykx$、$yx^{2}$、$yx^{3}$ 是三个最常用的方向让极限依赖 $k$ 或者不为 0 就成功了。想证可微就用放缩法把 $|R|$ 压到 $O(\rho^{1\varepsilon})$。 5.走捷径。函数是初等函数、偏导在定义区域内连续直接判可微不必每次都做第 3 步。这是考试里最省时间的一条。6.2 放缩法常用的几个不等式工具形式典型用途均值不等式$\lvert xy\rvert\le\frac{x^{2}y^{2}}{2}\frac{\rho^{2}}{2}$把交叉项压成 $\rho^{2}$有界因子$\lvert\cos\cdot\rvert\le 1$$\lvert\sin\cdot\rvert\le 1$处理振荡项无穷小替代$\lvert\sin\theta\rvert\le\lvert\theta\rvert$$\sin(1/\rho^{2})$ 类幂次比较$\lvert x\rvert\le\rho$$\lvert y\rvert\le\rho$把单项压到 $\rho$举一个放缩成功的例子$f\dfrac{x^{2}y^{2}}{x^{2}y^{2}}$原点补 0。原地偏导都为 0余项就是 $f$ 本身而$$\frac{|x^{2}y^{2}|}{(x^{2}y^{2})\rho}\le\frac{\rho^{4}/4}{\rho^{3}}\frac{\rho}{4}\to 0$$所以它可微。这个套路和 4.2 反例一的失败形成鲜明对照分子是二次、分母是一次余项就是常数级不收敛分子是四次、分母是三次就能被 $\rho$ 压住。6.3 全微分在近似计算和误差分析里的实际用法全微分最实在的用途是局部线性近似$$f(x_0\Delta x,y_0\Delta y)\approx f(x_0,y_0)f_x(x_0,y_0)\Delta xf_y(x_0,y_0)\Delta y$$拿 $f(x,y)x^{y}$ 在 $(1,3)$ 附近试一下。$f(1,3)1$$f_xyx^{y-1}3$$f_yx^{y}\ln x0$于是$$1.02^{2.99}\approx 13\times 0.020\times(-0.01)1.06$$真值约 $1.06100$误差在千分之一量级。这就是全微分在工程估算里的价值——一阶近似够用的时候一行乘加就能出结果。误差传播同样依赖它。如果 $x,y$ 的测量误差分别是 $\delta_x,\delta_y$那么$$|\Delta z|\lesssim |f_x|,\delta_x|f_y|,\delta_y$$关键还是要可微这个前提成立否则这条线性估计没有理论保证。7. 我踩过的几个坑以及一套自用的记忆框架7.1 术语上的三个坑第一个坑是全微分和可微混用。全微分 $dz$ 是一个表达式准确说是一个线性函数可微是一个性质。说求全微分意思是求 $f_xdxf_ydy$说判断可微意思是检查 $\lim R/\rho0$。两者相关但不相等。第二个坑是偏导和全导混用。当 $zf(x,y)$ 且 $yy(x)$ 时对 $x$ 求导有两条路$$\frac{\partial z}{\partial x}f_x,\qquad \frac{dz}{dx}f_xf_y\frac{dy}{dx}$$前者假设 $y$ 与 $x$ 无关后者把 $y$ 的依赖算进去了。物理书里 $\partial$ 和 $d$ 的区别全在这儿写错一个符号答案就完全不同。第三个坑是一阶微分形式不变性的适用条件。当 $zf(u,v)$、$uu(x,y)$、$vv(x,y)$ 时无论 $u,v$ 是自变量还是中间变量都有$$dzf_u,duf_v,dv$$这个形式不变性用起来很爽省掉一大堆复合函数求导。但它的前提是 $f$ 在相应点可微。如果只知道偏导存在这个式子不保证成立。7.2 我自己的记忆框架我把它压缩成三句话遇到题先默念一遍偏导数是两个方向的两条切线全微分是一个平面。偏导数的余项是 $o(|\Delta x|)$ 和 $o(|\Delta y|)$全微分的余项是 $o(\rho)$$o(\rho)$ 更强。一元时两个方向就是所有方向所以可导等价于可微多元时不是所以偏导推不出可微。学习顺序上我建议先把一元可微的定义式 $\Delta yA\Delta xo(\Delta x)$ 抄三遍逼自己想清楚 $A$ 为什么必须与 $\Delta x$ 无关再进入多元。跳过这一步直接背偏导连续则全微分存在后面见到反例只会困惑。另一个对我帮助很大的习惯是每次遇到一个新函数先问它在原点偏导是多少再问它沿 $yx$ 是什么行为。这两问能覆盖九成的考场反例。像 $xy/\sqrt{x^{2}y^{2}}$ 这种连续但不可微的构造其实有个通用模板——分子取二次齐次、分母取一次齐次在原点附近就天然是 $\rho$ 量级而不衰减沿 $ykx$ 一般都会跑出与 $k$ 有关的极限。最后分享一个小技巧。如果你拿不准某个关系成不成立别急着翻书直接在原点构造一个反例试试。偏导存在和可微的分离、方向导数和连续的分离都能用几行分段函数写出来。亲手写一遍反例比看十遍定理证明都管用。