微信搜索:编程笔记本。获取更多干货。
点击上方蓝字关注我,我们一起学编程
欢迎小伙伴们分享、转载、私信、赞赏
小伙伴儿们看完以后可不可以帮我点亮一下在看呀~
数值算法——线性代数方程组求解。
线性代数方程组
考虑下述线性代数方程组:
a 11 x 1 + a 12 x 2 + a 13 x 3 + . . . + a 1 N x N = b 1 a 21 x 1 + a 22 x 2 + a 23 x 3 + . . . + a 2 N x N = b 2 a 31 x 1 + a 32 x 2 + a 33 x 3 + . . . + a 3 N x N = b 3 . . . a M 1 x 1 + a M 2 x 2 + a M 3 x 3 + . . . + a M N x N = b M a_{11}x_1+a_{12}x_2+a_{13}x_3+...+a_{1N}x_N=b_1 \\ a_{21}x_1+a_{22}x_2+a_{23}x_3+...+a_{2N}x_N=b_2 \\ a_{31}x_1+a_{32}x_2+a_{33}x_3+...+a_{3N}x_N=b_3 \\ ... \\ a_{M1}x_1+a_{M2}x_2+a_{M3}x_3+...+a_{MN}x_N=b_M \\ a11x1+a12x2+a13x3+...+a1NxN=b1a21x1+a22x2+a23x3+...+a2NxN=b2a31x1+a32x2+a33x3+...+a3NxN=b3...aM1x1+aM2x2+aM3x3+...+aMNxN=bM
其中, x j x_j xj为 N N N个未知数,系数 a i j a_{ij} aij与右端项 b i b_i bi均已知。
方程组的奇异性
如果 N = M N=M N=M,即方程的个数与未知数个数相同,这样就有可能求得 x j x_j xj的唯一解集。
如果这 M M M个方程组中的一个或多个方程是其他方程的线性组合,这种情况称之为行退化;如果所有方程中某些变量是其他变量的的同一线性组合,称之为列退化。
上述两种情况都得不到唯一的解,退化的方程组称为奇异的。
方程组的矩阵表示
前述方程组可以表示成下列矩阵形式:
A ⋅ x = b A·x=b A⋅x=b
其中,黑点(·)代表矩阵相乘, A A A为稀疏矩阵, b b b为右端项的向量形式:
A = ( a 11 a 12 ⋯ a 1 N a 21 a 22 ⋯ a 2 N ⋮ ⋮ ⋱ ⋮ a M 1 a M 2 ⋯ a M N ) b = ( b 1 b 2 ⋮ b M ) A = \begin{pmatrix} a_{11} & a_{12} & \cdots & a_{1N} \\ a_{21} & a_{22} & \cdots & a_{2N} \\ \vdots & \vdots & \ddots & \vdots \\ a_{M1} & a_{M2} & \cdots & a_{MN} \\ \end{pmatrix} \ \ \ \ b= \begin{pmatrix} b_1 \\ b_2 \\ \vdots \\ b_M \end{pmatrix} A=⎝⎜⎜⎜⎛a11a21⋮aM1a12a22⋮aM2