逼近向量

最小二乘法, 伽辽金法
简述有限元逼近向量

有限元 博大精深, 开设本专题意在督促自己学习, 只能讲述一些最简单的有限元知识. 本主题将注重数学推导和有关程序实现(Matlab 为主, Python 为辅), 配以适当图示, 尽量做到不晦涩, 强调趣味性易读性.

有限元主要用来解(偏)微分方程, 但实际某些思想在逼近向量或者函数时, 就存在了, 比如本节介绍的正交性

逼近向量

关键词: 正交性

逼近二维向量

Approximation of planar vectors

假设 xy 平面有向量 f=[3,5], 在向量 [2,1] 方向上, 寻找向量 u 逼近 f

一维向量最佳逼近二维向量

ψ0=[2,1], 则有 xy 平面的子空间

V=span{ψ0}.

使得 u=c0ψ0V, 并且 ψ0V 的基.

e=uf, 并且定义范数

e=(e,e)12.

则原问题转化为: 寻找 c0, 使得 e 最小.

这里实际上指定在向量二范数下的逼近

最小二乘法

The least squares method

定义函数

E(c0)=(e,e)=(c0ψ0f,c0ψ0f)=c02(ψ0,ψ0)2c0(ψ0,f)+(f,f).

Ec0=0 时, E 取极值, 即

(1)Ec0=2c0(ψ0,ψ0)2(ψ0,f)=0.

所以, c0=(ψ0,f)(ψ0,ψ0). 改写式 (1), 得到,

(fc0ψ0,ψ0)=(fu,ψ0)=0.

即所谓的 正交性

(e,ψ0)=0.

伽辽金方法

Galerkin method

几何上看, 从第一张图中, 很容易得到: 当向量 e 垂直于 V 中任意向量时, e 的二范数最小, 用数学语言描述如下:

对任意 v=s,ψ0V, 满足

(e,sψ0)=(c0ψ0v,sψ0)=c0s(ψ0,ψ0)s(v,ψ0)=s(v,ψ0)(ψ0,ψ0)(ψ0,ψ0)s(v,ψ0)=0

更进一步地

(2)(e,v)=0,vV.

式 (1) 和式 (2) 本质上是一样的.

补充

从线性代数的角度看, 是这样的 ψ0=[2,1],f=[3,5]

ψ0Tc0=fT.

上式显然无解, 所以, 左右同乘 ψ0

ψ0ψ0Tc0=ψ0fT.

所以

c0=ψ0fTψ0ψ0T=(ψ0,f)(ψ0,ψ0).


逼近一般向量

二维是容易比较直观的, 但当维数增加时, 尤其 dim4, 一般人类是无法想象的 😂

假设 f 是任意 N+1 维向量, 我们在空间

V=span{ψ0,,ψN},

中寻找 u 逼近 f. 假设 ψ0,,ψN 线性无关, 即 V 的维数是 N+1. 那么, 对于任意 uV 可以被写成以下线性组合

u=j=0Ncjψj,cjR.

最小二乘法

The least squares method

现在确定 u 的系数 c0,,cN 使得距 v 的距离(误差) e=uf 最小. 定义函数

(3)E(c0,,cN)=(e,e)=(j=0Ncjψjf,j=0Ncjψjf)=p=0Nq=0Ncpcq(ψp,ψq)2j=0Ncj(ψj,f)+(f,f).

当系函数满足

(4)Eci=0,i=0,,N.

接下来是重点

  • 第一步

式 (3) 的第 2 项对 ci 求导

ci(2j=0Ncj(ψj,f))=2c(ψi,f)

  • 第二步

式 (3) 的第 1 项对 ci 求导

因为,

cicpcq={0,piqicq,p=iqicp,piq=i2ci,p=q=i.

所以,

cip=0Nq=0Ncpcq(ψp,ψq)=p=0,piNcp(ψp,ψi)+q=0,qiNcq(ψq,ψi)+2ci(ψi,ψi).

合并前两项至第三项, 即

cip=0Nq=0Ncpcq(ψp,ψq)=2j=0Nci(ψj,ψi).

结合 (4), 得到 线性方程组:

(5)j0NAi,jcj=bi,i=0,,N.

其中

Ai,j=(ψj,ψi)=(ψi,ψj)=Aj,i,

bi=(ψi,f).


伽辽金方法

Galerkin method

e=uf, 寻找 u 对于任意的 v=i=0NciψiV, 满足

(e,i=0Nciψi)=0.

上式可写成

i=0Nci(e,ψi)=0.

上式对于任意的 c0,,cN 都成立, 所以

(e,ψi)=0,i=0,,N.

上式依旧可以形成一个如同式 (5) 的线性方程组

对于 i=0,,N, 有

(j=0Ncjψjf,ψi)=j=0N(ψj,ψi)cj(f,ψi)=0.

j=0N(ψj,ψi)cj=(f,ψi),i=0,,N.

小结

对于逼近向量问题, 伽辽金法(Galerkin method)和最小二乘法(The least squares method)等同.

预告

下次讨论逼近函数问题.

update shortcodes
加载评论