数学解析:从抽象公式到 C++ 数值实现的全景图

数学解析(Mathematical Analysis)是高等数学的主干,它为微积分、函数论、微分方程和最优化提供了严格的理论根基。当这一理论与 C++ 数值计算结合时,便形成了一套强大的工具链,能从定理证明走向物理仿真、人工智能与计算机图形学。本文将依据目录顺序,逐一梳理关键数学公式,并简要联系其数值实现与应用背景。

一、数学解析导论:什么是数学解析?

数学解析的核心在于用严格的极限语言定义连续性、可微性与可积性。其主要研究对象是函数、序列、级数与测度。

  • 极限的 ε − δ \varepsilon-\delta εδ 定义
    lim ⁡ x → x 0 f ( x ) = L    ⟺    ∀ ε > 0 , ∃ δ > 0  使得  0 < ∣ x − x 0 ∣ < δ ⇒ ∣ f ( x ) − L ∣ < ε . \lim_{x\to x_0} f(x) = L \iff \forall \varepsilon > 0, \exists \delta > 0 \text{ 使得 } 0<\lvert x-x_0 \rvert <\delta \Rightarrow \lvert f(x)-L \rvert <\varepsilon. xx0limf(x)=Lε>0,δ>0 使得 0<xx0<δf(x)L<ε.
  • 函数连续性 f f f x 0 x_0 x0 连续当且仅当 lim ⁡ x → x 0 f ( x ) = f ( x 0 ) \lim_{x\to x_0} f(x)=f(x_0) limxx0f(x)=f(x0)
  • 导数定义
    f ′ ( x ) = lim ⁡ h → 0 f ( x + h ) − f ( x ) h . f'(x)=\lim_{h\to0}\frac{f(x+h)-f(x)}{h}. f(x)=h0limhf(x+h)f(x).
  • 黎曼积分
    ∫ a b f ( x )   d x = lim ⁡ ∥ P ∥ → 0 ∑ i = 1 n f ( ξ i ) Δ x i . \int_a^b f(x)\,dx = \lim_{\lVert P \rVert \to0}\sum_{i=1}^n f(\xi_i)\Delta x_i. abf(x)dx=P0limi=1nf(ξi)Δxi.
  • 无穷级数收敛 ∑ a n \sum a_n an 收敛当部分和序列 S N = ∑ n = 1 N a n S_N=\sum_{n=1}^N a_n SN=n=1Nan 的极限存在。

正是这些基本定义,构成了后续所有分析理论的大厦基础。

二、C++ 数学基础库与高精度计算

在 C++ 中实现数学解析,首先面临浮点误差问题。IEEE 754 双精度浮点数的机器精度为 ε ≈ 2.22 × 10 − 16 \varepsilon \approx 2.22\times10^{-16} ε2.22×1016,基本运算满足:
fl ⁡ ( x ⊙ y ) = ( x ⊙ y ) ( 1 + δ ) , ∣ δ ∣ ≤ ε , \operatorname{fl}(x \odot y) = (x \odot y)(1+\delta),\quad \lvert \delta \rvert \le \varepsilon, fl(xy)=(xy)(1+δ),δε,
其中 ⊙ \odot 代表加减乘除。在长累计或迭代中,误差传播可能淹没真实解。为此引入高精度库(如 GMP、MPFR、Boost.Multiprecision)以支持任意精度的有理数、浮点数运算。例如,利用 MPFR 计算 π \pi π 到 1000 位,其核心是基于算术几何平均 (AGM) 的高阶收敛算法:
a n + 1 = a n + b n 2 , b n + 1 = a n b n , π ≈ 4 AGM ⁡ ( 1 , 1 2 ) 2 1 − ∑ k = 1 ∞ 2 k ( a k 2 − b k 2 ) . a_{n+1} = \frac{a_n+b_n}{2},\quad b_{n+1} = \sqrt{a_n b_n},\quad \pi \approx \frac{4 \operatorname{AGM}\left(1, \frac{1}{\sqrt{2}}\right)^2}{1-\sum_{k=1}^\infty 2^k\left(a_k^2-b_k^2\right)}. an+1=2an+bn,bn+1=anbn ,π1k=12k(ak2bk2)4AGM(1,2 1)2.
此类算法在数值极限和特殊函数计算中尤为重要。

三、极限理论与 C++ 数值极限计算

理论极限中,两个最重要的基石极限为:
lim ⁡ x → 0 sin ⁡ x x = 1 , lim ⁡ n → ∞ ( 1 + 1 n ) n = e . \lim_{x\to0}\frac{\sin x}{x}=1,\qquad \lim_{n\to\infty}\left(1+\frac1n\right)^n=e. x0limxsinx=1,nlim(1+n1)n=e.
在 C++ 中,我们无法计算真正的无穷极限,但可通过 外推法 (Richardson 外推)序列加速 (Aitken Δ 2 \Delta^2 Δ2 法) 逼近:

  • Aitken 加速:
    x ^ n = x n − ( x n + 1 − x n ) 2 x n + 2 − 2 x n + 1 + x n . \hat{x}_n = x_n - \frac{(x_{n+1}-x_n)^2}{x_{n+2}-2x_{n+1}+x_n}. x^n=xnxn+22xn+1+xn(xn+1xn)2.
    若原序列线性收敛至 L L L,则 x ^ n \hat{x}_n x^n 可达到超线性收敛。这常用于估计像 lim ⁡ h → 0 f ( x + h ) − f ( x ) h \lim_{h\to0}\frac{f(x+h)-f(x)}{h} limh0hf(x+h)f(x) 等差分公式的极限精度。

四、单变量微积分:导数、微分、高阶导数

单变量微积分的基本运算规则包括:

  • 链式法则 ( f ∘ g ) ′ ( x ) = f ′ ( g ( x ) ) g ′ ( x ) (f\circ g)'(x)=f'(g(x))g'(x) (fg)(x)=f(g(x))g(x)
  • 莱布尼茨公式(高阶导数乘法)
    ( f g ) ( n ) = ∑ k = 0 n ( n k ) f ( k ) g ( n − k ) . (fg)^{(n)} = \sum_{k=0}^n \binom{n}{k} f^{(k)} g^{(n-k)}. (fg)(n)=k=0n(kn)f(k)g(nk).
  • 常用初等函数导数
    d d x x n = n x n − 1 , d d x e x = e x , d d x ln ⁡ x = 1 x , \frac{d}{dx}x^n = nx^{n-1},\quad \frac{d}{dx}e^x = e^x,\quad \frac{d}{dx}\ln x = \frac1x, dxdxn=nxn1,dxdex=ex,dxdlnx=x1,
    d d x sin ⁡ x = cos ⁡ x , d d x cos ⁡ x = − sin ⁡ x . \frac{d}{dx}\sin x = \cos x,\quad \frac{d}{dx}\cos x = -\sin x. dxdsinx=cosx,dxdcosx=sinx.
  • 中值定理:若 f f f [ a , b ] [a,b] [a,b] 连续可微,则存在 ξ ∈ ( a , b ) \xi\in(a,b) ξ(a,b) 使得 f ′ ( ξ ) = f ( b ) − f ( a ) b − a f'(\xi) = \frac{f(b)-f(a)}{b-a} f(ξ)=baf(b)f(a)

在 C++ 自动微分(如 Ceres 的 Jet 类型)中,导数通过双数 (dual number) 计算:
f ( x + ε ) = f ( x ) + f ′ ( x )   ε , ε 2 = 0 , f(x+\varepsilon) = f(x) + f'(x)\,\varepsilon,\quad \varepsilon^2=0, f(x+ε)=f(x)+f(x)ε,ε2=0,
从而无需符号推导即可同时得到函数值与导数。

五、多变量微积分:偏导、梯度、雅可比、海森矩阵

f : R n → R f:\mathbb{R}^n\to\mathbb{R} f:RnR,则:

  • 梯度
    ∇ f = ( ∂ f ∂ x 1 , … , ∂ f ∂ x n ) . \nabla f = \left( \frac{\partial f}{\partial x_1}, \ldots, \frac{\partial f}{\partial x_n} \right). f=(x1f,,xnf).
  • 方向导数:沿单位向量 v \mathbf{v} v 的方向导数 ∇ v f = ∇ f ⋅ v \nabla_{\mathbf{v}}f = \nabla f \cdot \mathbf{v} vf=fv
  • 雅可比矩阵:对于向量值函数 F : R n → R m \mathbf{F}:\mathbb{R}^n\to\mathbb{R}^m F:RnRm
    J i j = ∂ F i ∂ x j . J_{ij} = \frac{\partial F_i}{\partial x_j}. Jij=xjFi.
  • 海森矩阵:对称矩阵,
    H i j = ∂ 2 f ∂ x i ∂ x j . H_{ij} = \frac{\partial^2 f}{\partial x_i \partial x_j}. Hij=xixj2f.
  • 二阶泰勒展开
    f ( x + Δ x ) ≈ f ( x ) + ∇ f ( x ) ⊤ Δ x + 1 2 Δ x ⊤ H ( x ) Δ x . f(\mathbf{x}+\Delta\mathbf{x}) \approx f(\mathbf{x}) + \nabla f(\mathbf{x})^\top \Delta\mathbf{x} + \frac12 \Delta\mathbf{x}^\top H(\mathbf{x}) \Delta\mathbf{x}. f(x+Δx)f(x)+f(x)Δx+21ΔxH(x)Δx.

这些矩阵在牛顿法、优化、神经网络反向传播中反复出现。

六、数值积分:矩形法、梯形法、辛普森积分、自适应积分

将积分区间 [ a , b ] [a,b] [a,b] 等分为 n n n 段,步长 h = b − a n h=\frac{b-a}{n} h=nba,节点 x k = a + k h x_k=a+kh xk=a+kh

  • 矩形法(中点)
    ∫ a b f ( x )   d x ≈ h ∑ k = 0 n − 1 f  ⁣ ( x k + h 2 ) . \int_a^b f(x)\,dx \approx h\sum_{k=0}^{n-1} f\!\left(x_k+\frac{h}{2}\right). abf(x)dxhk=0n1f(xk+2h).
  • 梯形法
    ∫ a b f ( x )   d x ≈ h 2 [ f ( x 0 ) + 2 ∑ k = 1 n − 1 f ( x k ) + f ( x n ) ] . \int_a^b f(x)\,dx \approx \frac{h}{2}\left[ f(x_0)+2\sum_{k=1}^{n-1} f(x_k)+f(x_n) \right]. abf(x)dx2h[f(x0)+2k=1n1f(xk)+f(xn)].
  • 辛普森法 ( n n n 为偶数):
    ∫ a b f ( x )   d x ≈ h 3 [ f ( x 0 ) + 4 f ( x 1 ) + 2 f ( x 2 ) + ⋯ + 4 f ( x n − 1 ) + f ( x n ) ] . \int_a^b f(x)\,dx \approx \frac{h}{3}\big[ f(x_0)+4f(x_1)+2f(x_2)+\cdots+4f(x_{n-1})+f(x_n) \big]. abf(x)dx3h[f(x0)+4f(x1)+2f(x2)++4f(xn1)+f(xn)].
    其误差分别为 O ( h 2 ) O(h^2) O(h2) O ( h 2 ) O(h^2) O(h2) O ( h 4 ) O(h^4) O(h4)自适应积分 通过递归地细分误差较大的区间,用 Kronrod 扩展或辛普森规则局部估计误差,直至全局误差小于容限。

七、泰勒级数与函数逼近

函数在 a a a 处的泰勒级数为:
f ( x ) = ∑ n = 0 ∞ f ( n ) ( a ) n ! ( x − a ) n . f(x) = \sum_{n=0}^\infty \frac{f^{(n)}(a)}{n!}(x-a)^n. f(x)=n=0n!f(n)(a)(xa)n.
麦克劳林级数 ( a = 0 a=0 a=0) 常见展开:
e x = ∑ n = 0 ∞ x n n ! , sin ⁡ x = ∑ n = 0 ∞ ( − 1 ) n x 2 n + 1 ( 2 n + 1 ) ! , cos ⁡ x = ∑ n = 0 ∞ ( − 1 ) n x 2 n ( 2 n ) ! , e^x = \sum_{n=0}^\infty \frac{x^n}{n!},\quad \sin x = \sum_{n=0}^\infty (-1)^n \frac{x^{2n+1}}{(2n+1)!},\quad \cos x = \sum_{n=0}^\infty (-1)^n \frac{x^{2n}}{(2n)!}, ex=n=0n!xn,sinx=n=0(1)n(2n+1)!x2n+1,cosx=n=0(1)n(2n)!x2n,
ln ⁡ ( 1 + x ) = ∑ n = 1 ∞ ( − 1 ) n + 1 x n n , ∣ x ∣ < 1. \ln(1+x) = \sum_{n=1}^\infty (-1)^{n+1}\frac{x^n}{n},\quad \lvert x \rvert <1. ln(1+x)=n=1(1)n+1nxn,x<1.
截断 N N N 项时的拉格朗日余项为:
R N ( x ) = f ( N + 1 ) ( ξ ) ( N + 1 ) ! ( x − a ) N + 1 , ξ  在  a  与  x  之间 . R_N(x) = \frac{f^{(N+1)}(\xi)}{(N+1)!} (x-a)^{N+1},\quad \xi \text{ 在 } a \text{ 与 } x \text{ 之间}. RN(x)=(N+1)!f(N+1)(ξ)(xa)N+1,ξ  a  x 之间.
在函数逼近中,常采用切比雪夫多项式 T n ( x ) = cos ⁡ ( n arccos ⁡ x ) T_n(x)=\cos(n\arccos x) Tn(x)=cos(narccosx) 来最小化最大误差(极小化极大多项式),或者使用最小二乘正交多项式(Legendre、Hermite)做拟合。

八、微分方程求解:欧拉法、龙格‑库塔法(RK4)

对于常微分方程初值问题:
d y d x = f ( x , y ) , y ( x 0 ) = y 0 , \frac{dy}{dx} = f(x,y),\quad y(x_0)=y_0, dxdy=f(x,y),y(x0)=y0,
步长 h h h,显式数值方法:

  • 欧拉法
    y n + 1 = y n + h f ( x n , y n ) . y_{n+1} = y_n + h f(x_n,y_n). yn+1=yn+hf(xn,yn).
    局部截断误差 O ( h 2 ) O(h^2) O(h2),全局 O ( h ) O(h) O(h)
  • 经典显式 RK4
    k 1 = h f ( x n , y n ) , k 2 = h f  ⁣ ( x n + h 2 , y n + k 1 2 ) , k 3 = h f  ⁣ ( x n + h 2 , y n + k 2 2 ) , k 4 = h f ( x n + h , y n + k 3 ) , y n + 1 = y n + 1 6 ( k 1 + 2 k 2 + 2 k 3 + k 4 ) . \begin{aligned} k_1 &= h f(x_n, y_n), \\ k_2 &= h f\!\left(x_n+\frac{h}{2}, y_n+\frac{k_1}{2}\right), \\ k_3 &= h f\!\left(x_n+\frac{h}{2}, y_n+\frac{k_2}{2}\right), \\ k_4 &= h f(x_n+h, y_n+k_3), \\ y_{n+1} &= y_n + \frac{1}{6}(k_1+2k_2+2k_3+k_4). \end{aligned} k1k2k3k4yn+1=hf(xn,yn),=hf(xn+2h,yn+2k1),=hf(xn+2h,yn+2k2),=hf(xn+h,yn+k3),=yn+61(k1+2k2+2k3+k4).
    局部误差 O ( h 5 ) O(h^5) O(h5),全局 O ( h 4 ) O(h^4) O(h4),是性价比极高的单步法。

九、复变函数与复分析

复函数 f ( z ) = u ( x , y ) + i v ( x , y ) f(z)=u(x,y)+iv(x,y) f(z)=u(x,y)+iv(x,y) 解析的充要条件是满足 柯西‑黎曼方程
∂ u ∂ x = ∂ v ∂ y , ∂ u ∂ y = − ∂ v ∂ x . \frac{\partial u}{\partial x} = \frac{\partial v}{\partial y}, \quad \frac{\partial u}{\partial y} = -\frac{\partial v}{\partial x}. xu=yv,yu=xv.
核心定理:

  • 柯西积分公式:若 f f f 在闭围道 C C C 内解析,则
    f ( z 0 ) = 1 2 π i ∮ C f ( z ) z − z 0   d z . f(z_0) = \frac{1}{2\pi i}\oint_C \frac{f(z)}{z-z_0}\,dz. f(z0)=2πi1Czz0f(z)dz.
  • 留数定理
    ∮ C f ( z )   d z = 2 π i ∑ k Res ⁡ ( f , z k ) , \oint_C f(z)\,dz = 2\pi i \sum_{k} \operatorname{Res}(f, z_k), Cf(z)dz=2πikRes(f,zk),
    其中留数计算对 m m m 阶极点: Res ⁡ ( f , z 0 ) = 1 ( m − 1 ) ! lim ⁡ z → z 0 d m − 1 d z m − 1 [ ( z − z 0 ) m f ( z ) ] \operatorname{Res}(f,z_0)=\frac{1}{(m-1)!}\lim_{z\to z_0}\frac{d^{m-1}}{dz^{m-1}}\left[(z-z_0)^m f(z)\right] Res(f,z0)=(m1)!1limzz0dzm1dm1[(zz0)mf(z)]
  • 欧拉公式
    e i θ = cos ⁡ θ + i sin ⁡ θ . e^{i\theta} = \cos\theta + i\sin\theta. eiθ=cosθ+isinθ.

十、傅里叶分析(FFT)

  • 傅里叶级数(周期 T T T,角频率 ω 0 = 2 π T \omega_0=\frac{2\pi}{T} ω0=T2π):
    f ( t ) = a 0 + ∑ n = 1 ∞ [ a n cos ⁡ ( n ω 0 t ) + b n sin ⁡ ( n ω 0 t ) ] , f(t) = a_0 + \sum_{n=1}^\infty \left[ a_n \cos(n\omega_0 t) + b_n \sin(n\omega_0 t) \right], f(t)=a0+n=1[ancos(nω0t)+bnsin(nω0t)],
    a n = 2 T ∫ − T / 2 T / 2 f ( t ) cos ⁡ ( n ω 0 t )   d t , b n = 2 T ∫ − T / 2 T / 2 f ( t ) sin ⁡ ( n ω 0 t )   d t . a_n = \frac{2}{T}\int_{-T/2}^{T/2} f(t)\cos(n\omega_0 t)\,dt,\quad b_n = \frac{2}{T}\int_{-T/2}^{T/2} f(t)\sin(n\omega_0 t)\,dt. an=T2T/2T/2f(t)cos(nω0t)dt,bn=T2T/2T/2f(t)sin(nω0t)dt.
  • 连续傅里叶变换
    f ^ ( ω ) = ∫ − ∞ ∞ f ( t ) e − i ω t   d t , f ( t ) = 1 2 π ∫ − ∞ ∞ f ^ ( ω ) e i ω t   d ω . \hat{f}(\omega) = \int_{-\infty}^\infty f(t)e^{-i\omega t}\,dt,\qquad f(t) = \frac{1}{2\pi}\int_{-\infty}^\infty \hat{f}(\omega)e^{i\omega t}\,d\omega. f^(ω)=f(t)etdt,f(t)=2π1f^(ω)etdω.
  • 离散傅里叶变换 (DFT)
    X k = ∑ n = 0 N − 1 x n e − 2 π i k n / N , k = 0 , … , N − 1. X_k = \sum_{n=0}^{N-1} x_n e^{-2\pi i k n / N},\quad k=0,\dots,N-1. Xk=n=0N1xne2πikn/N,k=0,,N1.
  • 快速傅里叶变换 (FFT) 通过蝶形运算将计算量从 O ( N 2 ) O(N^2) O(N2) 降至 O ( N log ⁡ N ) O(N\log N) O(NlogN)。Cooley‑Tukey 基‑2 算法递归地将 DFT 拆分为奇偶下标序列的 DFT。

十一、拉普拉斯变换

L { f ( t ) } = F ( s ) = ∫ 0 ∞ f ( t ) e − s t   d t , s ∈ C . \mathcal{L}\{f(t)\} = F(s) = \int_0^\infty f(t) e^{-st} \, dt, \quad s\in\mathbb{C}. L{f(t)}=F(s)=0f(t)estdt,sC.
常用变换对:
L { 1 } = 1 s , L { t n } = n ! s n + 1 , L { e a t } = 1 s − a , \mathcal{L}\{1\} = \frac1s,\quad \mathcal{L}\{t^n\} = \frac{n!}{s^{n+1}},\quad \mathcal{L}\{e^{at}\} = \frac1{s-a}, L{1}=s1,L{tn}=sn+1n!,L{eat}=sa1,
L { sin ⁡ ( ω t ) } = ω s 2 + ω 2 , L { cos ⁡ ( ω t ) } = s s 2 + ω 2 . \mathcal{L}\{\sin(\omega t)\} = \frac{\omega}{s^2+\omega^2},\quad \mathcal{L}\{\cos(\omega t)\} = \frac{s}{s^2+\omega^2}. L{sin(ωt)}=s2+ω2ω,L{cos(ωt)}=s2+ω2s.
重要性质:

  • 微分性质 L { f ′ ( t ) } = s F ( s ) − f ( 0 ) \mathcal{L}\{f'(t)\}=sF(s)-f(0) L{f(t)}=sF(s)f(0),用于将微分方程转化为代数方程。
  • 卷积定理 L { ( f ∗ g ) ( t ) } = F ( s ) G ( s ) \mathcal{L}\{(f*g)(t)\}=F(s) G(s) L{(fg)(t)}=F(s)G(s),其中 ( f ∗ g ) ( t ) = ∫ 0 t f ( τ ) g ( t − τ )   d τ (f*g)(t)=\int_0^t f(\tau)g(t-\tau)\,d\tau (fg)(t)=0tf(τ)g(tτ)dτ

十二、矩阵分析与线性解析

线性代数是数学解析在多维空间中的载体。

  • 线性方程组 A x = b A\mathbf{x}=\mathbf{b} Ax=b。解析解可通过 LU 分解、QR 分解或 SVD 求伪逆。
  • 奇异值分解 (SVD) A = U Σ V ⊤ A = U\Sigma V^\top A=UΣV,其中 Σ = diag ⁡ ( σ 1 , … , σ r ) \Sigma=\operatorname{diag}(\sigma_1,\dots,\sigma_r) Σ=diag(σ1,,σr)。SVD 用途广泛,包括计算 矩阵条件数
    cond ⁡ 2 ( A ) = σ max ⁡ σ min ⁡ . \operatorname{cond}_2(A) = \frac{\sigma_{\max}}{\sigma_{\min}}. cond2(A)=σminσmax.
  • 最小二乘:当 A x = b A\mathbf{x}=\mathbf{b} Ax=b 超定时,正规方程解为 x = ( A ⊤ A ) − 1 A ⊤ b \mathbf{x} = (A^\top A)^{-1}A^\top \mathbf{b} x=(AA)1Ab(数值更推荐使用 QR 分解直接求解)。
  • 特征值问题 A v = λ v A\mathbf{v}=\lambda \mathbf{v} Av=λv。对称矩阵的谱分解 A = Q Λ Q ⊤ A = Q\Lambda Q^\top A=QΛQ 在振动分析、主成分分析中至关重要。

十三、泛函分析与变分法入门

泛函分析将函数视作无穷维空间中的点。变分法研究泛函极值。

  • 泛函 J [ y ] = ∫ a b F ( x , y , y ′ )   d x J[y] = \int_a^b F(x, y, y') \, dx J[y]=abF(x,y,y)dx
  • 欧拉‑拉格朗日方程:取极值的必要条件为
    ∂ F ∂ y − d d x ( ∂ F ∂ y ′ ) = 0. \frac{\partial F}{\partial y} - \frac{d}{dx}\left( \frac{\partial F}{\partial y'} \right) = 0. yFdxd(yF)=0.
    例如,最速降线问题中 F = ( 1 + ( y ′ ) 2 ) / ( y ) F = \sqrt{(1+(y')^2)/(y)} F=(1+(y)2)/(y) ,得到的解为摆线。
  • 希尔伯特空间:完备内积空间 ⟨ f , g ⟩ \langle f, g \rangle f,g,里斯表示定理建立了泛函与内积的一一对应。这是有限元方法变分形式的基础。

十四、最优化与凸分析(梯度下降、牛顿法、拟牛顿法)

  • 凸函数定义 ∀ λ ∈ [ 0 , 1 ] \forall \lambda\in[0,1] λ[0,1] f ( λ x + ( 1 − λ ) y ) ≤ λ f ( x ) + ( 1 − λ ) f ( y ) f(\lambda x+(1-\lambda)y) \le \lambda f(x)+(1-\lambda)f(y) f(λx+(1λ)y)λf(x)+(1λ)f(y)
  • 梯度下降 x k + 1 = x k − α k ∇ f ( x k ) \mathbf{x}_{k+1} = \mathbf{x}_k - \alpha_k \nabla f(\mathbf{x}_k) xk+1=xkαkf(xk),学习率 α k \alpha_k αk 可由线搜索(如 Armijo 条件)决定。
  • 牛顿法 x k + 1 = x k − [ ∇ 2 f ( x k ) ] − 1 ∇ f ( x k ) \mathbf{x}_{k+1} = \mathbf{x}_k - [\nabla^2 f(\mathbf{x}_k)]^{-1} \nabla f(\mathbf{x}_k) xk+1=xk[2f(xk)]1f(xk)。收敛速率二次,但需计算海森逆。
  • 拟牛顿法 (BFGS):通过秩‑2 更新近似海森逆 B k ≈ ∇ 2 f ( x k ) − 1 B_k \approx \nabla^2 f(x_k)^{-1} Bk2f(xk)1,避免直接求逆。
    B k + 1 = ( I − ρ k s k y k ⊤ ) B k ( I − ρ k y k s k ⊤ ) + ρ k s k s k ⊤ , B_{k+1} = (I - \rho_k s_k y_k^\top) B_k (I - \rho_k y_k s_k^\top) + \rho_k s_k s_k^\top, Bk+1=(Iρkskyk)Bk(Iρkyksk)+ρksksk,
    其中 s k = x k + 1 − x k ,   y k = ∇ f k + 1 − ∇ f k ,   ρ k = 1 / ( y k ⊤ s k ) s_k = \mathbf{x}_{k+1}-\mathbf{x}_k,\ y_k = \nabla f_{k+1} - \nabla f_k,\ \rho_k = 1/(y_k^\top s_k) sk=xk+1xk, yk=fk+1fk, ρk=1/(yksk)
  • 约束优化的 KKT 条件:对 min ⁡ f ( x ) \min f(x) minf(x) 满足 g ( x ) ≤ 0 , h ( x ) = 0 g(x)\le 0, h(x)=0 g(x)0,h(x)=0,存在拉格朗日乘子 λ , μ \lambda, \mu λ,μ 使得
    ∇ f ( x ) + ∑ λ i ∇ g i ( x ) + ∑ μ j ∇ h j ( x ) = 0 ,   λ i g i ( x ) = 0 ,   λ i ≥ 0. \nabla f(x) + \sum \lambda_i \nabla g_i(x) + \sum \mu_j \nabla h_j(x) = 0,\ \lambda_i g_i(x)=0,\ \lambda_i\ge 0. f(x)+λigi(x)+μjhj(x)=0, λigi(x)=0, λi0.

十五、C++ 数学解析完整工程库(可直接使用)

整合上述理论的 C++ 工程库生态系统包括:

  • Eigen:头文件式线性代数,API 形如 A.colPivHouseholderQr().solve(b),内置 SVD、稀疏矩阵。
  • Ceres Solver:非线性最小二乘优化,自动微分结合残差模型 min ⁡ 1 2 ∑ ρ i ( ∥ f i ( x ) ∥ 2 ) \min\frac12\sum\rho_i\left(\lVert f_i(x) \rVert^2\right) min21ρi(fi(x)2)
  • FFTW:FFT 实现,通过计划 (plan) 计算 DFT,接口核心为 fftw_plan_dft_1d
  • GSL (GNU Scientific Library):提供 C 接口的特殊函数、数值积分(QAG 自适应)、ODE 求解(如 gsl_odeiv2_step_rk4)。
  • Boost.MathBoost.Odeint:C++ 模板化的特殊函数和常微分方程求解,支持可控步长 RK 方法。
  • GMP/MPFR:高精度算术和正确的舍入超越函数,例如 mpfr_sin

十六、数学解析在 AI / 物理 / 图形学中的应用

  1. 人工智能:深度神经网络的反向传播本质是雅可比矩阵的链式乘积。损失 L L L 对权重 W W W 的梯度为:
    ∂ L ∂ W = ∂ L ∂ y ⋅ ∂ y ∂ W , \frac{\partial L}{\partial W} = \frac{\partial L}{\partial \mathbf{y}} \cdot \frac{\partial \mathbf{y}}{\partial W}, WL=yLWy,
    多层堆叠即构成连乘的雅可比矩阵,自动微分正是解析求导的代码化。

  2. 物理:薛定谔方程是偏微分方程分析的经典对象:
    i ℏ ∂ ψ ∂ t = [ − ℏ 2 2 m ∇ 2 + V ( r , t ) ] ψ . i\hbar\frac{\partial \psi}{\partial t} = \left[ -\frac{\hbar^2}{2m}\nabla^2 + V(\mathbf{r},t) \right]\psi. itψ=[2m22+V(r,t)]ψ.
    其定态分离变量导出特征值问题,数值上常用有限差分或有限元结合时间步进法 (Crank‑Nicolson) 求解。

  3. 计算机图形学:全局光照由 渲染方程 描述(Kajiya 路径积分形式):
    L ( x , ω o ) = L e ( x , ω o ) + ∫ Ω f r ( x , ω i , ω o ) L i ( x , ω i ) ( n ⋅ ω i )   d ω i . L(\mathbf{x},\omega_o) = L_e(\mathbf{x},\omega_o) + \int_{\Omega} f_r(\mathbf{x},\omega_i,\omega_o) L_i(\mathbf{x},\omega_i) (\mathbf{n}\cdot\omega_i) \, d\omega_i. L(x,ωo)=Le(x,ωo)+Ωfr(x,ωi,ωo)Li(x,ωi)(nωi)dωi.
    这是一个第二类 Fredholm 积分方程,数学解析中迭代求解(诺依曼级数)与蒙特卡洛路径追踪的“轨道展开”完全对应,而函数逼近(球谐光照、小波)则运用了分析中的展开理论。


结语:从极限的 ε − δ \varepsilon-\delta εδ 定义,到 C++ 中的高精度数值实现;从单变量微积分,到泛函极值与神经网络训练——数学解析提供了一套连贯而强大的语言。每一个公式都在理论证明与代码工程之间架起了桥梁,使我们不仅能够理解世界的连续性,还能在计算机上将这种理解转化为可计算、可仿真的现实。

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐