往学习资料汇聚平台插入资料

目前项目进入尾声,我目前的任务是往平台中插入一些测试数据。

我选择的专题是数值计算专题。

我往其中插入了一些数值计算专题的学习资料,markdown格式。
下面是其中的一个例子:

雅可比法

给定一个n×n的线性方程组
A x = b {\displaystyle A\mathbf {x} =\mathbf {b} } Ax=b
其中:
A = [ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a n 1 a n 2 ⋯ a n n ] , x = [ x 1 x 2 ⋮ x n ] , b = [ b 1 b 2 ⋮ b n ] . {\displaystyle A={\begin{bmatrix}a_{11}&a_{12}&\cdots &a_{1n}\\a_{21}&a_{22}&\cdots &a_{2n}\\\vdots &\vdots &\ddots &\vdots \\a_{n1}&a_{n2}&\cdots &a_{nn}\end{bmatrix}},\qquad \mathbf {x} ={\begin{bmatrix}x_{1}\\x_{2}\\\vdots \\x_{n}\end{bmatrix}},\qquad \mathbf {b} ={\begin{bmatrix}b_{1}\\b_{2}\\\vdots \\b_{n}\end{bmatrix}}.} A=a11a21an1a12a22an2a1na2nann,x=x1x2xn,b=b1b2bn.
可以分解成对角部分D和剩余部分R:
A = D + R 其 中 D = [ a 11 0 ⋯ 0 0 a 22 ⋯ 0 ⋮ ⋮ ⋱ ⋮ 0 0 ⋯ a n n ] , R = [ 0 a 12 ⋯ a 1 n a 21 0 ⋯ a 2 n ⋮ ⋮ ⋱ ⋮ a n 1 a n 2 ⋯ 0 ] {\displaystyle A=D+R\qquad {\text{其 中}}\qquad D={\begin{bmatrix}a_{11}&0&\cdots &0\\0&a_{22}&\cdots &0\\\vdots &\vdots &\ddots &\vdots \\0&0&\cdots &a_{nn}\end{bmatrix}},\qquad R={\begin{bmatrix}0&a_{12}&\cdots &a_{1n}\\a_{21}&0&\cdots &a_{2n}\\\vdots &\vdots &\ddots &\vdots \\a_{n1}&a_{n2}&\cdots &0\end{bmatrix}}} A=D+R D=a11000a22000ann,R=0a21an1a120an2a1na2n0
线性方程组可以重写为:
D x = b − R x {\displaystyle D\mathbf {x} =\mathbf {b} -R\mathbf {x} } Dx=bRx
雅可比法是一种迭代方法。在每一次迭代中,上一次算出的x被用在右侧,用来算出左侧的新的x。这个过程可以如下表示:
x ( k + 1 ) = D − 1 ( b − R x ( k ) ) . {\displaystyle \mathbf {x} ^{(k+1)}=D^{-1}(\mathbf {b} -R\mathbf {x} ^{(k)}).} x(k+1)=D1(bRx(k)).
对每个元素可以用以下公式:
x i ( k + 1 ) = 1 a i i ( b i − ∑ j ≠ i a i j x j ( k ) ) , i = 1 , 2 , … , n . {\displaystyle x_{i}^{(k+1)}={\frac {1}{a_{ii}}}\left(b_{i}-\sum _{j\neq i}a_{ij}x_{j}^{(k)}\right),\quad i=1,2,\ldots ,n.} xi(k+1)=aii1bij=iaijxj(k),i=1,2,,n.
注意计算 xi(k+1)需要x(k)中除了自己之外的每个元素。 不像高斯-赛德尔迭代,我们不能用 xi(k+1)覆盖xi(k),因为在接下来的计算中还要用到这些值。这是雅可比和高斯-塞德尔方法最显著的差别,也是为什么前者可以用并行算法而后者不能的原因。最小需要的存储空间是两个长度为n的向量。

高斯-赛德尔迭代

对于一个含有n个未知量及n个等式的如下线性方程组
a 11 ⋅ x 1 + a 12 ⋅ x 2 + … + a 1 n ⋅ x n = b 1 , a 21 ⋅ x 1 + a 22 ⋅ x 2 + … + a 2 n ⋅ x n = b 2 , ⋮ = ⋮ a n 1 ⋅ x 1 + a n 2 ⋅ x 2 + … + a n n ⋅ x n = b n . {\displaystyle {\begin{aligned}a_{11}\cdot x_{1}+a_{12}\cdot x_{2}+\ldots +a_{1n}\cdot x_{n}&=b_{1},\\a_{21}\cdot x_{1}+a_{22}\cdot x_{2}+\ldots +a_{2n}\cdot x_{n}&=b_{2},\\\vdots \qquad \qquad \qquad &=\vdots \\a_{n1}\cdot x_{1}+a_{n2}\cdot x_{2}+\ldots +a_{nn}\cdot x_{n}&=b_{n}.\end{aligned}}} a11x1+a12x2++a1nxna21x1+a22x2++a2nxnan1x1+an2x2++annxn=b1,=b2,==bn.
为了求这个方程组的解 x ⃗ {\displaystyle {\vec {x}}} x ,我们使用迭代法。k用来计量迭代步数。给定该方程组解的一个近似值 x ⃗   k ∈ R n {\displaystyle {\vec {x}}^{\,k}\in \mathbb {R} ^{n}} x kRn。在求k+1步近似值时,我们利用第m个方程求解第m个未知量。在求解过程中,所有已解出的k+1步元素都被直接使用。这一点与雅可比法不同。对于每个元素可以使用如下公式
x m k + 1 = 1 a m m ( b m − ∑ j = 1 m − 1 a m j ⋅ x j k + 1 − ∑ j = m + 1 n a m j ⋅ x j k ) , 1 ≤ m ≤ n . {\displaystyle x_{m}^{k+1}={\frac {1}{a_{mm}}}\left(b_{m}-\sum _{j=1}^{m-1}a_{mj}\cdot x_{j}^{k+1}-\sum _{j=m+1}^{n}a_{mj}\cdot x_{j}^{k}\right),\quad 1\leq m\leq n.} xmk+1=amm1(bmj=1m1amjxjk+1j=m+1namjxjk),1mn.
重复上述的求解过程,可以得到一个线性方程组解的近似值数列:
x ⃗ 0 , x ⃗ 1 , x ⃗ 2 , … {\displaystyle {\vec {x}}^{0},{\vec {x}}^{1},{\vec {x}}^{2},\ldots } x 0,x 1,x 2,
在该方法收敛的前提下,此数列收敛于 x ⃗ {\displaystyle {\vec {x}}} x . 可以证明数列收敛若线性方程组系数矩阵为对称正定矩阵 ( s y m m e t r i c p o s i t i v e d e f i n i t e m a t r i x ) (symmetric positive definite matrix) (symmetricpositivedefinitematrix)或对角优势矩阵 ( d i a g o n a l l y d o m i n a n t m a t r i x ) (diagonally dominant matrix) (diagonallydominantmatrix)

为了保证该方法可以进行,主对角线元素 a m m {\displaystyle a_{mm}} amm需非零。

明天将会整理项目有关文档。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值