← 返回《人工智能数学基础》
📑 查看全课大纲(第 55 / 93 节)
  1. 1.概论和集合的定义
  2. 2.逼疯康托的实数集理论
  3. 3.常用不等式与映射
  4. 4.函数及特殊函数
  5. 5.序列极限的定义
  6. 6.序列极限的性质与夹逼定理
  7. 7.重要极限
  8. 8.无穷小量,无穷大量和一组重要的阶的比较关系
  9. 9.聚点原理
  10. 10.函数极限及其性质
  11. 11.重要极限与等价无穷小
  12. 12.连续函数
  13. 13.导数的概念(那些年,扛起牛顿的胡克)
  14. 14.定义法求导
  15. 15.函数四则运算的导数与反函数求导法则
  16. 16.复合函数,隐函数,参数式求导
  17. 17.不定式求导之“洛必达与伯努利的师生情”
  18. 18.一阶微分
  19. 19.高阶导数
  20. 20.高阶微分
  21. 21.罗尔中值定理与拉格朗日中值定理
  22. 22.柯西空降科学院遭排挤
  23. 23.泰勒公式与泰勒的克妻属性
  24. 24.利用泰勒展开唯一性定理计算泰勒展开
  25. 25.泰勒公式的余项估计
  26. 26.极值问题与导数
  27. 27.函数凹凸性
  28. 28.无卵用的渐近线与函数作图
  29. 29.不定积分的定义
  30. 30.第一换元法
  31. 31.第二换元法
  32. 32.分部积分法
  33. 33.有理式积分
  34. 34.三角替换
  35. 35.定积分的概念
  36. 36.定积分的性质与积分中值定理
  37. 37.变上限定积分
  38. 38.微积分基本定理之“高斯教你如何优雅地装逼”
  39. 39.定积分的换元法
  40. 40.奇偶函数与周期函数的定积分
  41. 41.曲线求长与不可求长曲线(海岸线居然算不出长度?)
  42. 42.旋转体体积
  43. 43.旋转体侧面积
  44. 44.极坐标下图形的面积(数学系常用表白曲线)
  45. 45.欧式空间
  46. 46.点列极限,开集与闭集
  47. 47.多元函数的定义
  48. 48.多元函数的极限
  49. 49.多元连续函数
  50. 50.一阶偏导数
  51. 51.高阶偏导数
  52. 52.全微分
  53. 53.方向导数与梯度
  54. 54.链式法则
  55. 55.一阶全微分形式的不变性与高阶微分
  56. 56.多元函数的泰勒公式
  57. 57.隐函数存在定理与逆映射存在定理
  58. 58.多元函数的极值
  59. 59.矩阵基础知识
  60. 60.行列式的定义与特殊矩阵的行列式
  61. 61.行列式的性质
  62. 62.行列式按k行展开
  63. 63.线性方程组初步与高斯消元法
  64. 64.齐次线性方程组与Cramer法则
  65. 65.线性空间
  66. 66.线性相关与线性无关
  67. 67.向量组的秩
  68. 68.矩阵的秩与线性方程组有解的充要条件
  69. 69.齐次线性方程组的解集结构
  70. 70.非齐次线性方程组解集结构
  71. 71.基与维数
  72. 72.矩阵的乘法
  73. 73.特殊矩阵
  74. 74.矩阵乘积的秩与行列式
  75. 75.矩阵的逆
  76. 76.正交矩阵
  77. 77.矩阵对角化与特征值特征向量
  78. 78.实对称矩阵对角化
  79. 79.二次型与正定矩阵
  80. 80.LU分解
  81. 81.Cholesky分解
  82. 82.SVD分解
  83. 83.线搜索
  84. 84.步长
  85. 85.最速下降法和牛顿法
  86. 86.共轭梯度法
  87. 87.拟牛顿法
  88. 88.无约束优化
  89. 89.若干知识点补充(一)
  90. 90.若干知识点补充(二)
  91. 91.凸优化问题
  92. 92.对偶问题(一)
  93. 93.对偶问题(二)

一阶全微分形式的不变性与高阶微分

约 14 分钟

📺 正在播放小象官方高清录播(支持倍速与清晰度调节)

一阶全微分形式的不变性与高阶微分

小象实战讲义 · 人工智能数学基础

在多元函数的微分学中,复合函数的求导(链式法则)是核心工具。本节将探讨链式法则在微分形式上的一个优美体现——一阶全微分形式的不变性。掌握这一性质,能让我们在处理复杂复合函数的微分时,如同处理简单函数一样直接。此外,我们还将把高阶微分的概念从一元函数推广到多元函数,并揭示其与二项式定理的深刻联系,为后续学习泰勒公式打下基础。

💡 核心导读

  • 一阶全微分形式不变性:无论中间变量是自变量还是因变量,全微分的形式保持不变。这是链式法则的直接推论,也是简化计算的关键。
  • 高阶全微分:通过对一阶全微分重复进行微分运算,可以得到高阶全微分。多元函数的高阶微分公式具有类似二项式定理的展开形式。
  • 算子观点:引入微分算子 /x\partial / \partial x/y\partial / \partial y,可以将高阶全微分公式写成一个简洁的算子幂次形式,极大地简化了记忆和推导。
  • 实战应用:利用一阶全微分形式不变性,可以快速、准确地计算复杂复合函数的全微分,避免繁琐的链式求导过程。

一阶全微分形式的不变性

问题引入与概念表述

考虑一个典型的复合函数情形:设 z=f(u,v)z = f(u, v),而中间变量 u,vu, v 又是自变量 x,yx, y 的函数,即 u=u(x,y),v=v(x,y)u = u(x, y), v = v(x, y)。假设所有函数都具有连续的偏导数。那么,zz 最终是 x,yx, y 的复合函数: z=f(u(x,y),v(x,y))z = f(u(x, y), v(x, y))

根据链式法则,我们可以计算 zzx,yx, y 的偏导数,进而写出其全微分: dz=zxdx+zydydz = \frac{\partial z}{\partial x} dx + \frac{\partial z}{\partial y} dy

然而,链式法则告诉我们: zx=fuux+fvvx,zy=fuuy+fvvy\frac{\partial z}{\partial x} = \frac{\partial f}{\partial u} \frac{\partial u}{\partial x} + \frac{\partial f}{\partial v} \frac{\partial v}{\partial x}, \quad \frac{\partial z}{\partial y} = \frac{\partial f}{\partial u} \frac{\partial u}{\partial y} + \frac{\partial f}{\partial v} \frac{\partial v}{\partial y}

将这两个表达式代入 dzdz 的定义式,并进行整理: dz=(fuux+fvvx)dx+(fuuy+fvvy)dy=fu(uxdx+uydy)+fv(vxdx+vydy)\begin{aligned} dz &= \left( \frac{\partial f}{\partial u} \frac{\partial u}{\partial x} + \frac{\partial f}{\partial v} \frac{\partial v}{\partial x} \right) dx + \left( \frac{\partial f}{\partial u} \frac{\partial u}{\partial y} + \frac{\partial f}{\partial v} \frac{\partial v}{\partial y} \right) dy \ &= \frac{\partial f}{\partial u} \left( \frac{\partial u}{\partial x} dx + \frac{\partial u}{\partial y} dy \right) + \frac{\partial f}{\partial v} \left( \frac{\partial v}{\partial x} dx + \frac{\partial v}{\partial y} dy \right) \end{aligned}

注意到括号内的表达式正是中间变量 uuvv 的全微分: du=uxdx+uydy,dv=vxdx+vydydu = \frac{\partial u}{\partial x} dx + \frac{\partial u}{\partial y} dy, \quad dv = \frac{\partial v}{\partial x} dx + \frac{\partial v}{\partial y} dy

因此,我们得到了一个极其简洁的结果: dz=fudu+fvdvdz = \frac{\partial f}{\partial u} du + \frac{\partial f}{\partial v} dv

这个形式与 u,vu, v 本身就是自变量时,函数 z=f(u,v)z = f(u, v) 的全微分公式 完全一致。这一性质被称为 一阶全微分形式的不变性

性质总结与意义

一阶全微分形式不变性:设 z=f(u1,u2,,um)z = f(u_1, u_2, \dots, u_m),而 ui=ui(x1,x2,,xn) (i=1,2,,m)u_i = u_i(x_1, x_2, \dots, x_n) \ (i=1,2,\dots,m),且所有函数均具有连续的偏导数。则不论 uiu_i 是自变量还是中间变量,其一阶全微分都具有相同的形式: dz=fu1du1+fu2du2++fumdumdz = \frac{\partial f}{\partial u_1} du_1 + \frac{\partial f}{\partial u_2} du_2 + \dots + \frac{\partial f}{\partial u_m} du_m

重要意义

  1. 计算简化:在实际计算复合函数的全微分时,我们可以“假装”中间变量就是自变量,直接写出微分形式 fudu+fvdvf_u du + f_v dv,然后再将 du,dvdu, dv 用其关于最终自变量的微分表达式代入即可。这避免了先求偏导再组装的繁琐步骤。
  2. 形式统一:它揭示了微分运算的一种内在“不变性”,即微分形式不依赖于变量的角色(自变量或中间变量),只依赖于函数关系本身。这使得微分成为比导数更具“几何”或“形式”意义的运算对象。

例题解析

例题:设函数 u=sin(x2+y2)+exzu = \sin(x^2 + y^2) + e^{xz},求 uu 在点 (1,0,1)(1, 0, 1) 处的全微分 dudu

: 利用一阶全微分形式不变性。令 s=x2+y2s = x^2 + y^2t=xzt = xz,则 u=sins+etu = \sin s + e^t。 首先,将 s,ts, t 视为中间变量,直接写出 uu 的微分: du=cossds+etdtdu = \cos s \cdot ds + e^t \cdot dt 接下来,计算 dsdsdtdtds=d(x2+y2)=2xdx+2ydyds = d(x^2 + y^2) = 2x dx + 2y dy dt=d(xz)=zdx+xdzdt = d(xz) = z dx + x dzds,dtds, dt 的表达式代回 dududu=cos(x2+y2)(2xdx+2ydy)+exz(zdx+xdz)=[2xcos(x2+y2)+zexz]dx+[2ycos(x2+y2)]dy+[xexz]dz\begin{aligned} du &= \cos(x^2 + y^2) \cdot (2x dx + 2y dy) + e^{xz} \cdot (z dx + x dz) \ &= [2x \cos(x^2 + y^2) + z e^{xz}] dx + [2y \cos(x^2 + y^2)] dy + [x e^{xz}] dz \end{aligned} 最后,代入点 (x,y,z)=(1,0,1)(x, y, z) = (1, 0, 1)

  • x2+y2=1x^2 + y^2 = 1,故 cos(1)\cos(1)
  • xz=1xz = 1,故 e1=ee^{1} = e
  • y=0y=0。 代入得: du(1,0,1)=[21cos1+1e]dx+[20cos1]dy+[1e]dz=(2cos1+e)dx+edzdu|_{(1,0,1)} = [2 \cdot 1 \cdot \cos 1 + 1 \cdot e] dx + [2 \cdot 0 \cdot \cos 1] dy + [1 \cdot e] dz = (2\cos 1 + e) dx + e dz 因此,在点 (1,0,1)(1,0,1) 处,du=(2cos1+e)dx+edzdu = (2\cos 1 + e) dx + e dz
import sympy as sp

# 定义符号变量和微分符号
x, y, z = sp.symbols('x y z')
dx, dy, dz = sp.symbols('dx dy dz')

# 定义函数 u = sin(x^2 + y^2) + exp(x*z)
u = sp.sin(x**2 + y**2) + sp.exp(x*z)

# 方法1:直接利用 sympy 的微分功能求全微分(它会自动应用链式法则)
du_direct = sp.diff(u, x)*dx + sp.diff(u, y)*dy + sp.diff(u, z)*dz
print("直接求偏导得到的全微分表达式:")
print(sp.simplify(du_direct))
print()

# 方法2:利用一阶全微分形式不变性手动计算
# 令 s = x^2 + y^2, t = x*z(s, t 用独立符号表示,便于对中间变量求导)
s, t = sp.symbols('s t')
u_uv = sp.sin(s) + sp.exp(t)

# 计算 du = (∂u/∂s) ds + (∂u/∂t) dt,再把 s, t 的表达式代回
s_expr = x**2 + y**2
t_expr = x*z
du_s = sp.diff(u_uv, s).subs(s, s_expr)  # cos(x^2+y^2)
du_t = sp.diff(u_uv, t).subs(t, t_expr)  # exp(x*z)

# 计算 ds 和 dt
ds = sp.diff(s_expr, x)*dx + sp.diff(s_expr, y)*dy + sp.diff(s_expr, z)*dz  # 2x dx + 2y dy
dt = sp.diff(t_expr, x)*dx + sp.diff(t_expr, y)*dy + sp.diff(t_expr, z)*dz  # z dx + x dz

du_by_invariance = du_s * ds + du_t * dt
print("利用一阶全微分形式不变性得到的表达式:")
print(sp.simplify(du_by_invariance))
print()

# 验证两种方法结果一致
print("两种方法结果是否一致?", sp.simplify(du_direct - du_by_invariance) == 0)
print()

# 代入点 (1, 0, 1) 求值
du_at_point = du_direct.subs({x: 1, y: 0, z: 1})
print(f"在点 (1, 0, 1) 处的全微分为:")
print(sp.simplify(du_at_point))
# 提取 dx 和 dz 的系数
coeff_dx = sp.simplify(du_at_point.coeff(dx))
coeff_dz = sp.simplify(du_at_point.coeff(dz))
print(f"即 du = ({coeff_dx}) dx + ({coeff_dz}) dz")

高阶全微分

从一元函数到多元函数

在一元函数中,若 y=f(x)y = f(x) 具有 nn 阶导数,则其 nn 阶微分定义为: dny=f(n)(x)(dx)nd^n y = f^{(n)}(x) (dx)^n 其中 (dx)n(dx)^n 表示自变量的微分 dxdxnn 次幂,并约定它是一个常数因子。

对于多元函数 z=f(x,y)z = f(x, y),我们通过重复进行微分运算来定义高阶全微分。一阶全微分为: dz=fxdx+fydyfxdx+fydydz = \frac{\partial f}{\partial x} dx + \frac{\partial f}{\partial y} dy \triangleq f_x dx + f_y dy

二阶全微分

二阶全微分 d2zd^2 z 定义为 dzdz 的微分,即 d(dz)d(dz)。在计算时,我们将 dx,dydx, dy 视为常数(因为它们是自变量的微分,不随 x,yx, y 变化)。因此: d2z=d(dz)=d(fxdx+fydy)=d(fx)dx+d(fy)dy(因为 dx,dy 是常数)=(fxxdx+fxydy)dx+(fyxdx+fyydy)dy=2fx2(dx)2+2fyxdydx+2fxydxdy+2fy2(dy)2\begin{aligned} d^2 z &= d(dz) = d(f_x dx + f_y dy) \ &= d(f_x) dx + d(f_y) dy \quad \text{(因为 $dx, dy$ 是常数)} \ &= \left( \frac{\partial f_x}{\partial x} dx + \frac{\partial f_x}{\partial y} dy \right) dx + \left( \frac{\partial f_y}{\partial x} dx + \frac{\partial f_y}{\partial y} dy \right) dy \ &= \frac{\partial^2 f}{\partial x^2} (dx)^2 + \frac{\partial^2 f}{\partial y \partial x} dy dx + \frac{\partial^2 f}{\partial x \partial y} dx dy + \frac{\partial^2 f}{\partial y^2} (dy)^2 \end{aligned}

如果函数 ff 的二阶混合偏导数连续,则 2fxy=2fyx\frac{\partial^2 f}{\partial x \partial y} = \frac{\partial^2 f}{\partial y \partial x}。此时,上式可以合并为: d2z=2fx2(dx)2+22fxydxdy+2fy2(dy)2d^2 z = \frac{\partial^2 f}{\partial x^2} (dx)^2 + 2 \frac{\partial^2 f}{\partial x \partial y} dx dy + \frac{\partial^2 f}{\partial y^2} (dy)^2

算子观点与 n 阶微分公式

上述二阶微分公式启发我们引入微分算子。定义算子: d=dxx+dyyd = dx \frac{\partial}{\partial x} + dy \frac{\partial}{\partial y} 那么,一阶微分可以简洁地写为 dz=dfdz = d f。二阶微分则可以看作算子 dd 作用于 ff 两次: d2z=d2f=(dxx+dyy)2fd^2 z = d^2 f = (dx \frac{\partial}{\partial x} + dy \frac{\partial}{\partial y})^2 f 将算子平方形式地按二项式定理展开: (dxx+dyy)2=(dx)22x2+2dxdy2xy+(dy)22y2(dx \frac{\partial}{\partial x} + dy \frac{\partial}{\partial y})^2 = (dx)^2 \frac{\partial^2}{\partial x^2} + 2 dx dy \frac{\partial^2}{\partial x \partial y} + (dy)^2 \frac{\partial^2}{\partial y^2} 然后作用于 ff,得到的结果与前面推导的 d2zd^2 z 公式完全一致。

推广到 nn 阶微分,我们有: dnz=dnf=(dxx+dyy)nfd^n z = d^n f = (dx \frac{\partial}{\partial x} + dy \frac{\partial}{\partial y})^n f 将其形式地按二项式定理展开: dnf=k=0nCnknfxkynk(dx)k(dy)nkd^n f = \sum_{k=0}^{n} C_n^k \frac{\partial^n f}{\partial x^k \partial y^{n-k}} (dx)^k (dy)^{n-k} 其中 CnkC_n^k 是二项式系数,nfxkynk\frac{\partial^n f}{\partial x^k \partial y^{n-k}} 表示 ffnn 阶偏导数,先对 xxkk 次,再对 yynkn-k 次。在混合偏导数连续的条件下,求导次序可交换,该记号是明确的。

import sympy as sp

# 定义符号变量和微分符号
x, y = sp.symbols('x y')
dx, dy = sp.symbols('dx dy')
# 定义一个二元函数
f = sp.sin(x*y) + x**2 * sp.log(y)

# 计算一阶全微分 df
f_x = sp.diff(f, x)
f_y = sp.diff(f, y)
df = f_x * dx + f_y * dy
print("一阶全微分 df:")
print(df)
print()

# 计算二阶全微分 d^2f (通过微分 df)
# 将 df 中的系数 f_x, f_y 视为新的函数,对它们求微分
coeff_dx = f_x  # df 中 dx 的系数
coeff_dy = f_y  # df 中 dy 的系数

# d^2f = d(coeff_dx)*dx + d(coeff_dy)*dy
d_coeff_dx = sp.diff(coeff_dx, x)*dx + sp.diff(coeff_dx, y)*dy
d_coeff_dy = sp.diff(coeff_dy, x)*dx + sp.diff(coeff_dy, y)*dy
d2f_calculated = d_coeff_dx * dx + d_coeff_dy * dy
print("通过微分 df 计算得到的 d^2f:")
print(sp.expand(d2f_calculated))
print()

# 使用二阶微分公式计算 d^2f
f_xx = sp.diff(f, x, 2)
f_xy = sp.diff(f, x, y)
f_yy = sp.diff(f, y, 2)
# 公式: d^2f = f_xx * dx^2 + 2*f_xy * dx*dy + f_yy * dy^2
d2f_formula = f_xx * dx**2 + 2*f_xy * dx*dy + f_yy * dy**2
print("使用二阶微分公式计算得到的 d^2f:")
print(sp.expand(d2f_formula))
print()

# 验证两种方法结果一致
print("两种方法计算的二阶微分是否一致?", sp.simplify(d2f_calculated - d2f_formula) == 0)
print()

# 展示算子形式 (dx * ∂/∂x + dy * ∂/∂y)^2 f
# 定义微分算子 d_op(符号表示)
d_op = dx * sp.Symbol('∂/∂x') + dy * sp.Symbol('∂/∂y')
print("微分算子形式: d = ", d_op)
print("d^2 的形式展开(按二项式定理):")
print("(dx * ∂/∂x + dy * ∂/∂y)^2 = dx^2 * ∂²/∂x² + 2*dx*dy * ∂²/∂x∂y + dy^2 * ∂²/∂y²")

📝 动手练一练

  1. 利用一阶全微分形式不变性求全微分 设函数 w=arctan(uv)w = \arctan(\frac{u}{v}),其中 u=x+yu = x + y, v=xyv = x - y。求 dwdw,并将其表示为 dxdxdydy 的表达式。

    参考答案:t=u/vt = u/v,则 w=arctantw = \arctan t。先利用形式不变性:dw=11+t2dtdw = \frac{1}{1+t^2} dt。 计算 dt=d(u/v)=vduudvv2dt = d(u/v) = \frac{v du - u dv}{v^2}。 又 du=d(x+y)=dx+dydu = d(x+y) = dx + dydv=d(xy)=dxdydv = d(x-y) = dx - dy。 代入并整理,最终可得:dw=ydx+xdyx2+y2dw = \frac{-y dx + x dy}{x^2 + y^2}

  2. 计算二阶全微分 设函数 z=excosyz = e^{x} \cos y,求其二阶全微分 d2zd^2 z

    参考答案: 首先求偏导: zx=excosyz_x = e^x \cos y, zy=exsinyz_y = -e^x \sin y, zxx=excosyz_{xx} = e^x \cos y, zxy=exsinyz_{xy} = -e^x \sin y, zyy=excosyz_{yy} = -e^x \cos y。 代入二阶全微分公式: d2z=zxx(dx)2+2zxydxdy+zyy(dy)2=excosy(dx)22exsinydxdyexcosy(dy)2d^2 z = z_{xx} (dx)^2 + 2z_{xy} dx dy + z_{yy} (dy)^2 = e^x \cos y (dx)^2 - 2e^x \sin y dx dy - e^x \cos y (dy)^2 也可以写成 d2z=ex[cosy(dx2dy2)2sinydxdy]d^2 z = e^x [\cos y (dx^2 - dy^2) - 2\sin y dx dy]

本章小结

本节深入探讨了多元微分学中两个重要的进阶主题:

  1. 一阶全微分形式的不变性:这是链式法则的微分形式体现。它指出,无论变量是自变量还是中间变量,函数的一阶全微分形式保持不变。这一性质是简化复合函数微分计算的强大工具。
  2. 高阶全微分:我们通过重复微分运算定义了高阶全微分,并推导了二阶全微分的具体公式。更重要的是,我们引入了微分算子的观点,将 nn 阶全微分与二项式定理联系起来,得到了简洁的通用公式 dnf=(dxx+dyy)nfd^n f = (dx \frac{\partial}{\partial x} + dy \frac{\partial}{\partial y})^n f。这种形式化的处理方法在泰勒公式的推导中至关重要。

行动清单

  • 掌握“形式不变”思维:下次遇到复合函数求全微分时,尝试先利用形式不变性直接写出对中间变量的微分式,再代入中间变量的微分,体会其便捷性。
  • 验证一个高阶微分:任选一个二元函数(如 z=x3y2z = x^3 y^2),手动计算其一阶和二阶全微分,并尝试用微分算子 (dxx+dyy)2(dx \partial_x + dy \partial_y)^2 的形式展开来验证结果。
  • 联想与预习:思考微分算子形式 d=dxx+dyyd = dx \partial_x + dy \partial_y 与后续将学习的方向导数 fl\nabla f \cdot \vec{l}有何联系?这有助于构建知识网络。

— 小象教研组

配套学习资源与课件
  • 第9章讲义(含板书):多元微分学(PDF · 28.2MB)
    下载
🎁 免费学习资源

领取《小象 11GB VIP 课件资料包与大厂真题手册》

包含全套实战 Jupyter 源码、清洗后数据集、大厂高频面试真题与专属学员答疑交流群。

  • 完整 Python / 数据分析 Jupyter 实战源码
  • 大厂真实业务数据集与练习题
  • 微信扫码添加课程顾问,免费获取网盘下载链接
微信二维码:扫码添加课程顾问微信扫码添加顾问