数值分析基础应用线性代数

Posted myjs999

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数值分析基础应用线性代数相关的知识,希望对你有一定的参考价值。

自乘终零矩阵

满足以下任一条件的称为自乘终零矩阵。自乘终零矩阵 B B B都满足以下三条件。

  • B k → O ( k → + ∞ ) 。 B^k\\to O(k\\to+\\infty)。 BkO(k+)其中 O O O是零矩阵。
  • ρ ( B ) < 1 \\rho(B)<1 ρ(B)<1。即谱半径小于 1 1 1
  • 至少存在一种从属矩阵范数,满足 ∣ ∣ B ∣ ∣ m < 1 ||B||_m<1 Bm<1。称这个(或这些中的某一个)范数为钻石范数或命定范数。

谱半径夹范数定理(谱夹范定理)

对于所有范数, ρ ( A ) ≤ ∣ ∣ A ∣ ∣ \\rho(A)\\le||A|| ρ(A)A

对于任意 ε > 0 \\varepsilon>0 ε>0,至少有一种矩阵范数满足 ∣ ∣ A ∣ ∣ m ≤ ρ ( A ) + ε ||A||_m\\le\\rho(A)+\\varepsilon Amρ(A)+ε

对于所有范数, ∣ ∣ B k ∣ ∣ 1 k → ρ ( B ) , k → + ∞ ||B^k||^\\frac1k\\to\\rho(B),k\\to+\\infty Bkk1ρ(B),k+

序列终零第一定理

A ( k ) → O , k → + ∞    ⟺    A ( k ) x → 0 , ∀ x , k → + ∞ A^(k)\\to O,k\\to+\\infty\\iff A^(k)\\bmx\\to0,\\forall\\bmx,k\\to+\\infty A(k)O,k+A(k)x0,x,k+

注意序列终零不是自乘终零。当然,自乘序列终零也是序列终零。

范数乘自由定理(定义) 范数加自由定理(三角不等式,定义)

∣ ∣ A B ∣ ∣ ≤ ∣ ∣ A ∣ ∣ ∣ ∣ B ∣ ∣ ||AB||\\le||A||||B|| ABAB ∣ ∣ A + B ∣ ∣ ≤ ∣ ∣ A ∣ ∣ + ∣ ∣ B ∣ ∣ ||A+B||\\le||A||+||B|| A+BA+B

迭代解线性方程组

对于 A x = b A\\bmx=\\bmb Ax=b,令 A = M − N A=M-N A=MN。其中 M M M可逆。

( M − N ) x = b (M-N)\\bmx=\\bmb (MN)x=b M x = N x + b M\\bmx=N\\bmx+\\bmb Mx=Nx+b x = M − 1 N x + M − 1 b \\bmx=M^-1N\\bmx+M^-1\\bmb x=M1Nx+M1b

B = M − 1 N B=M^-1N B=M1N f = M − 1 b \\bmf=M^-1\\bmb f=M1b。可以得到迭代形式 x ( k + 1 ) = B x ( k ) + f \\bmx^(k+1)=B\\bmx^(k)+\\bmf x(k+1)=Bx(k)+f。这属于单步定常迭代法

要保证 M M M可逆,一种简单的想法是让 M M M就是 A A A的对角部分,然后 N N N是剩下的相反数。这种迭代法叫雅克比(Jacobi)迭代法

实际上我们是一个一个算 x i \\bmx_i xi的。如果算的时候已经算出 x j ( k + 1 ) \\bmx_j^(k+1) xj(k+1),那么要用 x j ( k ) \\bmx_j^(k) xj(k)的时候就改成用这个新的值,这种迭代法叫Gauss-Seidel(高斯-赛德尔,简称GS)迭代法。不知道这个能优化多少,而且这个人显然不了解并行计算。

误差向量

x ∗ \\bmx^* x是真正的解。记误差向量 e ( k ) = x ( k ) − x ∗ \\bme^(k)=\\bmx^(k)-\\bmx^* e(k)=x(k)x。那么收敛条件就是 e ( k ) → 0 , k → + ∞ \\bme^(k)\\to0,k\\to+\\infty e(k)0,k+注意这里是对任意的初始取值都要满足。即全局收敛。

e ( k ) = B x ( k − 1 ) + f − x ∗ \\bme^(k)=B\\bmx^(k-1)+\\bmf-\\bmx^* e(k)=Bx(k1)+fx。注意这里真正的解迭代之后依然是真正的解
因此 e ( k ) = B x ( k − 1 ) + f − B x ∗ − f = B ( x ( k − 1 ) − x ∗ ) = B e ( k − 1 ) 。 \\bme^(k)=B\\bmx^(k-1)+\\bmf-B\\bmx^*-\\bmf=B(\\bmx^(k-1)-\\bmx^*)=B\\bme^(k-1)。 e(k)=Bx(k1)+fBxf=B(x(k1)x)=Be(k1)也就是说新的误差向量就是上一个左乘 B B B

假设最开始取的x是 x ( 0 ) \\bmx^(0) x(0,对应的误差向量是 e ( 0 ) \\bme^(0) e(0)。那么 e ( k ) = B k e ( 0 ) \\bme^(k)=B^k\\bme^(0) e(k)=Bk

以上是关于数值分析基础应用线性代数的主要内容,如果未能解决你的问题,请参考以下文章

数值分析-线性方程组的迭代解法

《数值分析》-- 高斯消去法与矩阵三角分解法(LU分解)

MATLAB教程案例80~85总结MATLAB数值仿真经验和技巧总结

Python数据分析-Numpy数值计算

python与数据分析Numpy数值计算基础——补充

《数值分析》-- 插值方法中基础名词概念解释