本节以二次函数极值问题入手, 介绍变分问题的基本概念和方法.
熟知一元二次函数 `1/2 ax^2 - bx` (`a != 0`) 的极值在 `x = b/a` 处取得.
`RR^n` 中向量 `bm x = (x_1, x_2, cdots, x_n)^T`, `bm y = (y_1, y_2, cdots, y_n)^T` 的内积定义为 `(bm x, bm y) = sum_(i=1)^n x_i y_i`. 记矩阵 `bm A = [ a_(11),a_(12),cdots,a_(1n); a_(21),a_(22),cdots,a_(2n); vdots,vdots,,vdots; a_(n1),a_(n2),cdots,a_(n n); ]`, 考虑 `n` 变量的二次函数 `J(bm x) = 1/2 (bm (Ax), bm x) - (bm b, bm x)` `= 1/2 sum_(i,j=1)^n a_(ij) x_i x_j - sum_(i=1)^n b_i x_i` 在 `bm x_0 = (x_1^0, x_2^0, cdots, x_n^0)` 取极值的条件.
由上述讨论, 得到定理:
设 `bm A` 为实对称正定矩阵, 则 `bm x_0 in RR^n` 是变分问题 `J(bm x_0) = min_(x in RR^n) J(bm x)` 的解当且仅当它是线性方程组 `bm (Ax) = bm b` 的解.
设 `bm A` 为实对称矩阵 (不必正定), 则 `bm x_0` 是 `J(bm x)` 的驻点 (使 `varphi'(0) = 0` 成立的点) 当且仅当 `bm (Ax_0) = bm b`.
设 `bm A` 为 `n` 阶实矩阵 (不必对称正定), 则 `bm x_0 in RR^n` 是变分问题 `(bm (Ax_0), bm x) = (bm b, bm x)`, `quad AA bm x in RR^n` 的解当且仅当它是线性方程组 `bm (Ax) = bm b` 的解.
今后, 在微分方程边值问题中, 我们也将反复见到形如
`J(u) = 1/2 a(u, u) - (f, u)`, `quad u in U`
的实二次泛函. 其中 `U` 是某线性空间,
`a(u, v)` 是对称双线性形式, 即对于任意
`u, v, w in U` 和 `k, l in RR`, 满足
`a(u, kv + lw) = k a(u, v) + l a(u, w)`,
`a(ku + lv, w) = k a(u, w) + l a(v, w)`,
`a(u, v) = a(v, u)`.
注意, 在复线性空间中, 对称性条件应当写成
`a(u, v) = bar(a(v, u))`.
`L^2` 空间 设 `I = (a, b)`, `bar I = [a, b]`. 用 `L^2(I)` 表示定义在 `I` 上的平方可积的可测函数组成的空间, 内积定义为 `(f, g) = int_a^b f * g dx`. 熟知的 Schwartz 不等式为 `(f, g) le ||f|| * ||g||`.
广义导数 用 `C_0^oo(I)` 表示在 `I` 上无穷次可微, 且在端点 `a, b` 的某一邻域内等于零的函数类, 称这一类中的函数为试探函数. 对于任一 `f(x) in C^1([a, b])` 和任意试探函数 `varphi in C_0^oo(I)`, 用分部积分有 `int_a^b f'(x) varphi(x) dx = -int_a^b f(x) varphi'(x) dx` 现在设 `f in L^2(I)`, 若存在 `g in L^2(I)`, 使成立 `int_a^b g(x) varphi(x) dx = -int_a^b f(x) varphi'(x) dx`, `AA varphi in C_0^oo(I)`. 则称 `g(x)` 是 `f(x)` 的广义导数. 上面的推理说明, `f` 在通常意义下可导时, 它的导数也是它的 (一个) 广义导数. 下面来说明广义导数在几乎处处相等的意义下是唯一的.
变分法基本引理 设 `f in L^2(I)`, 若对任意 `varphi in C_0^oo(I)`, `int_a^b f(x) varphi(x) dx = 0`, 则 `f(x)` 几乎处处为 0. 若进一步, `f in C(bar I)`, 则 `f(x) -= 0`.
`f in L^2(I)` 的不同广义导数几乎处处相等.
设 `I = (-1, 1)`. 阶梯函数 `f(x) = {0, if -1 le x le 0; 1, if 0 lt x le 1 :}` 的广义导数是 Dirac `delta` 函数, 它满足 `int_(-1)^1 delta(x) varphi(x) dx = varphi(0)`, `AA varphi in C_0^oo(I)`. `delta(x) !in L^2(I)`.
定义 Sobolev 空间为 `H^1(I) = {f: f, f' in L^2(I)}`, 其中 `f'` 为广义导数. 由于 `L^2` 是线性空间, 又容易验证 `H^1` 上加法与数乘的封闭性, 故 `H^1` 是 `L^2` 的子空间. `H^1` 上的内积定义为 `(f, g)_1 = int_a^b (fg + f'g') dx`. 可以证明 `H^1` 是完备的内积空间, 即 Hilbert 空间. 类似地, `m` 阶 Sobolev 空间 `H^m(I)` 的内积定义为 `(f, g)_m = sum_(i=0)^m int_a^b f^((i))(x) * g^((i))(x) dx`. 注意 `H^0 = L^2`.
`C(I) sube H^1(I)` ?
考虑常微分方程两点边值问题
`Lu = -Tu'' = f(x)`, `0 lt x lt l`
`u(0) = u(l) = 0`.
若记 `H_0^1(I)` 为 `H^1(I)` 中满足齐次边值条件的函数类构成的子空间,
则与原问题对应的变分问题为求 `u_** in H_0^1`, 使
`J(u_**) = min_(u in H_0^1) J(u)`,
其中 `J(u) = 1/2 (Lu, u) - (f, u)`.
我们将在稍后进行严格的证明.
对于两点边值问题
`Lu = -"d"/("d"x)(p ("d"u)/("d"x)) + qu = f`, `x in I`,
`u(a) = u'(b) = 0`.
其中 `I = (a, b)`, `p in C^1(bar I)`, `p(x) gt 0, AA x in I`,
`q in C(bar I)` 且 `q` 非负; `f in H^0(I)`.
注意到任一 `u in H_E^1` 可表为 `u(x) = int_a^x u'(t) dt`, 利用 Schwarz 不等式, `u(x) le (x-a)^(1/2) (int_a^x |u'(t)|^2 dt)^(1/2)`, 于是 `int_a^b |u|^2 dx le int_a^b (x-a) dx int_a^b |u'(t)|^2 dt` `= (b-a)^2/2 int_a^b |u'(t)|^2 dt`. 换言之, 如令 `h = b-a`, 则 `||u||_(L^2) le h/sqrt(2) ||u'||_(L^2)`. 最终, `int_a^b |u'|^2 dx = 1/2 [int_a^b |u'|^2 dx + int_a^b |u'|^2 dx]` `ge 1/(b-a)^2 int_a^b |u|^2 dx + 1/2 int_a^b |u'|^2 dx` `= Omega(||u||_1^2)`. (Poincare 不等式) 由 `p` 恒正的条件, `(Lu, u) = int_a^b [p(("d"u)/(dx))^2 + q u^2] dx` `ge p_(min) int_a^b (("d"u)/(dx))^2 dx` `= Omega(||u||_1^2)`, `AA u in H_E^1`. 称满足这样不等式的 `L` 为正定算子.
由 Schwarz 不等式, `|(Lu"," v)| = O(||u||_1 ||v||_1)`, `AA u, v in H_E^1`. 上式称为连续性条件.
极小位能原理 设 `f in C(I)`, `u_** in C^2(I)` 是中边值问题的解, 则 `u_**` 使 `J(u)` 达到最小值; 反之, 若 `u_** in C^2 H_E^1` 使 `J(u)` 达到极小值, 则 `u_**` 是该边值问题的解.
从上述定理知道, 左边值条件 (第一边值条件) 必须强加在变分问题所在的函数类上, 称为强制边值条件或本质边值条件. 而右边值条件 (第二, 三边值条件) 不必对函数类作为条件提出, 只要函数 `u_**` 使 `J(u)` 取极小值, 则它必然满足该条件, 因此称为自然边值条件.
继续考虑边值问题, 分部积分, 并考虑到 `u, v` 满足的边值条件 `v(a) = 0`, `u'(b) = 0`, 则 `-int_a^b "d"/dx (p ("d"u)/(dx))v dx` `= {:-p ("d"u)/(dx) v |_a^b + int_a^b p ("d"u)/(dx) ("d"v)/(dx) dx` `= int_a^b p ("d"u)/(dx) ("d"v)/(dx) dx`. 以 `v` 乘方程两端并沿区间 `[a, b]` 积分, 得 `0 = int_a^b (Lu-f)v dx` `= int_a^b [-"d"/dx (p ("d"u)/(dx)) v + quv - fv]dx` `= int_a^b (p ("d"u)/dx ("d"v)/dx + quv - fv) dx`. 上式即 `a(u, v) - (f, v) = 0`.
虚功原理 设 `u in C^2`, 则 `u` 是边值问题的解的充要条件是: `u in H_E^1` 且满足变分方程 `a(u, v) - (f, v) = 0`, `AA v in H_E^1`.
虚功原理不仅适用于对称正定算子方程 (保守场方程), 而且也适用于非对称正定算子方程. 上述定理的一个推广是: 设 `u in C^2`, 则 `u` 是边值问题 `{ Lu = -"d"/dx(p ("d"u)/(dx)) + r("d"u)/(dx) + q u = f; u(a) = 0", " u'(b) = 0; :}` 的解当且仅当 `u in C^2 nn H_E^1` 且满足变分方程 `{ a(u, v) - (f, v) = 0"," AA v in H_E^1; a(u, v) = int_a^b [p("d"u)/dx ("d"v)/dx + r ("d"u)/dx v + quv]dx :}` 其中 `p in C^1`, `p_min gt 0`, `r, q in C`, `f in L^2`. 此时双线性形式 `a(u, v)` 非对称正定, 除非 `r -= 0` 且 `q ge 0` (这就化为中的边值问题).
本节总假定 `G` 是有界平面区域, 其边界 `Gamma` 是逐段光滑的简单闭曲线.
支集 对于 `bar G` 上任一函数 `u(x, y)`, 称集合 `{(x, y) in bar G: u(x, y) != 0}` 的闭包为 `u` 的支集, 记作 `"supp" u`. 如果 `"supp" u sube G`, 则说 `u` 于 `G` 具有紧致支集. 具有紧致支集的函数必在 `Gamma` 的某一邻域内恒等于零(?).
`L^2` 空间, 广义导数与 Sobolev 空间
用 `C_0^oo(G)` 表示于 `G` 无穷次可微并具有紧致支集的函数类.
`L^2` 是定义在 `G` 上的平方可积的可测函数空间, 内积定义为
`(f, g) = iint_G f g dx dy`.
`AA f in L^(G)`, 若存在 `g, h in L^2(G)`, 使成立
`iint_G g varphi dx dy = -iint_G f{::} (del varphi)/(del x) dx dy`,
`iint_G h varphi dx dy = -iint_G f{::} (del varphi)/(del y) dx dy`,
`AA varphi in C_0^oo(G)`.
则分别称 `g, h` 为 `f` 对 `x, y` 的广义一阶偏导数.
在广义导数的意义下, 定义
`H^1(G) = {f(x, y): f, f_x, f_y in L^2(G)}`,
及其上的内积
`(f, g)_1 = iint_G (fg + f_x g_x + f_y g_y) dx dy`.
称为 Sobolev 空间. 类似可定义高阶导数下的 Sobolev 空间.
考虑 Poisson 方程第一边值问题
`-laplace u = f(x, y)`, `(x, y) in G`,
`u|_Gamma = 0`.
利用场论公式 `grad * (f bm F) = grad f * bm F + f(grad * bm F)`, 在 Green 公式 `iint_G ((del Q)/(del x) + (del P)/(del y) ) dxdy` `= int_Gamma -P dx + Q dy`. 中取 `Q = v (del u)/(del x)`, `P = v (del u)/(del y)`, 再借助关系 `bm n dx = (dy, -dx)` 和 `(del u)/(del bm n) = grad u * bm n`, 得到 Green 第一公式: `iint_G (-laplace u)v dx dy` `= iint_G (-grad * grad u)v dx dy` `= iint_G (grad v * grad u - grad * (v grad u)) dx dy` `= iint_G (grad v * grad u) dx dy - int_Gamma v grad u * bm n "d"s` `= iint_G (grad v * grad u) dx dy - int_Gamma v (del u)/(del bm n) "d"s`.