1. 微分与变分 变分(variation)这一词不论在海气模式中,还是在Machine Learning中,都能常常听到。比如资料同化中经常用到的三维变分同化、四维变分同化。在有限元方法中,变分的思想也是其基础。在机器学习中,变分推断和变分自编码器等等也被时常提起。在这些方法中,有的是使用了变分的基本原理,有的是用到了变分的思想。本文就来探讨一下变分的思想以及基本方法。
" C6 V P, t* u, w 研究物理问题往往需要对其现象使用数学工具进行建模,找到可以很好的描述其性质和特征的控制方程。因此,在对物理方程进行研究时,往往需要借助更高级的数学工具。变分就是一个很好的数学工具。提到变分,首先就不得不提到泛函分析。
. D' k2 U& U# k$ g' ^5 Y 相信大部分大气和海洋类本科专业出身的同学在本科阶段都学过数学分析(高等数学)和复变函数论。而数学分析、复分析和泛函分析都是广义上的分析学的分支。研究方法上有很多共性,只是研究对象不同。如果翻看这几门课课本的目录,可以发现编排的思路也比较相近。接下来,我将类比数学分析来讨论泛函与变分的思想。2 ?# N8 |4 M7 ]
数学分析主要研究的是实数域之间的关系。我们把一个实数集合到另一个实数集合之间的映射关系定义为函数。而为了研究函数的性质与特征,就需要知道这个函数的变化趋势与变化率。因此需要定义其导数,导数的定义如下所示。当x趋近于无穷小时,即可表示导数。5 H& O( p; U0 G, N9 F9 c2 J1 I
! ^2 }' Q! r% W! u8 A
, e! m: T% A! S- V9 I& } 取极限之后,就有了微分的概念。因此,微分可以理解为是指函数在某一点处趋近于无穷小的变化量,可记做 和 。
( j- y+ x4 e/ i2 ]) a3 V4 ?, H2 k
% s) O. J* p# {# J' L4 W- \# W" V/ z$ c- q( r" U0 _5 s& s
有了这些工具,我们就可以对函数求极大值和极小值了。比如下面这个例子,可以使用我们在数学分析中学到的方法,求解 和 处的 (假设二阶导数不为0),此时就求得了其极值点的位置和大小。
4 q- C% f j- N& S; A! x$ z/ C( N# n3 X# ^; b$ @
然而,如果想要用类似的方法去分析有名的最速降线问题,则比较难处理。最速降线问题就是如下图所示,两点之间选择一个合适的路线使得小球下落速度最快。而这一下降的路线,可以用函数 来表示。如果有合适的数学工具用来求这一函数族的极小函数曲线 ,就能和上述求极值的方法去求得最小函数了。
4 E, n" G+ [0 p' e1 c! q
6 u6 e: [& R k 泛函分析与变分学给出了研究这类问题的思想与工具。如果自变量是一类函数的集合,而因变量是一个数域,则这一类函数和实数的映射关系被称为泛函。而变分就是在泛函自变量(也就是无穷维的函数空间上)取的“微分”。用通俗的话来讲,就是函数改变无穷小时,所对应的数域的数值变化。对应到具体问题上,就是路径改变了无穷小时,小球下落时间变化的那个无穷小量。5 d; p' u7 @* \& F% N9 @2 j% j4 a/ r
2.推导Euler-Lagrange方程 而对函数做定积分是一种常见的泛函。接下来我们就来推导对泛函求极值的方法。考虑两个定点(a,m)和(b,n),通过这两点的任意函数记为 ,则该泛函的形式如下。8 J c: @ @/ b9 H
2 ~1 D% k! t/ ?. v1 V6 ~
, |( a9 c( S! @/ L+ a( |1 C
" U0 f0 ^+ o8 r9 \/ s! T
将函数 的变分记为 ,类似于求全微分的思想,可以将其展开为$ J9 E ~, ?2 r9 O1 Y7 t
/ R2 J5 a' W: [+ ?
( D4 ?6 L4 ~) H3 b/ ~# L& g
$ p8 \. o& p1 {* q) g1 O
接下来去化简括号中的第二项,将其推导至如下形式。由于边界是固定的,因此在a和b点的 是0,因此下式在推导分步积分时,前面那部分为0。- h: k/ O1 ~9 K; I/ ~) S
# L3 d; T; G, O: w: i: I+ K( E* ~
9 s$ E5 r( @" h5 a
) [" L% f2 l7 f6 E/ J' G- [, a* I0 |+ \' S/ p
) l$ ~. N$ g7 R! L( D
这样,就推导出了该泛函的变分最终形式。9 C1 m) P& h) y! g6 t
& H; ]7 V. ?2 N L+ o
' X, ]) n" I' k( L6 H+ l. O9 V4 F7 a 类似于函数在趋近于极值处 。同理,此时需要满足 。因此,下式需要等于0。该式被称为Euler-Lagrange方程。是一个二阶微分方程,解出此微分方程,即可求得最小函数y(x)。# f# Y/ ]8 Q/ C
9 j- M" ^( S# U, F4 P9 i g4 v( Q( N) g9 D
8 F/ [6 t& O! g4 F- W! v9 ^" t" ~! [) a
3.泛函与海洋大气模式 泛函分析在研究海洋与大气模式中有着重要的作用。海洋与大气的控制方程可以写成算子的形式,而通过研究算子的性质可以研究数值方法的守恒性以及其他性质。以正压浅水方程为例如下所示。
* c1 H# o! Y0 Z; p% g' n( ]& m. g: ]3 W0 a$ j0 }5 n$ ~
- N) J5 A1 I& B9 o 可以写成如下的算子形式. v7 P( z, M% a6 D
: }$ P) ^4 O; o$ V0 L
: N& i( o) t2 Q7 m0 G0 I% v$ }2 r, P: A$ C+ G; U; `+ l
- c/ ?& [+ f$ p
通过对算子 的研究,即可分析数值算法的稳定性、耗散性与守恒性。接下来的几篇文章,将从算子的视角,分析数值模式中常用的数值求解算法,并探讨如何通过这种方式进一步提高数值算法的稳定性与守恒性。由于该部分内容对数学基础要求较高,因此在之后的文章中,为了保障文章的可读性,会在必要的时候对相应的数学知识进行讲解。, H: H0 Z/ _5 F7 z) s" p& E% Q: f: H
% A+ @, X7 P6 r$ q- B版权声明 本文创作的初衷是用于帮助数值模式的学习者。欢迎转载,转载请私信并注明作者和出处,请勿用于任何商业用途。" J) ?$ i# J4 o, R. C/ N8 ^% F
参考资料大气科学中的数值新方法及其应用. 王斌. 科学出版社, 2006.
3 B. F! [( ^9 n1 Q/ h" _
" k0 W+ |" T V) _ |