几天前看到一个线性方程组的问题。不论形式如何变化,终归是线性方程组。只是,把看上去陌生的问题、转换成采用特定熟悉的模式能够解决的问题而已。
CSDN博客方便用 LATEX ,不妨再把公式写一遍。
方程组(红色的是未知数,要求的是红色部分):
⎡⎣⎢a11a21a31a12a22a32a13a23a33⎤⎦⎥⋅⎡⎣⎢x1x2x3⎤⎦⎥=⎡⎣⎢b1b2b3⎤⎦⎥
本质上,仍然是三个(需要相互独立的)一次或线性方程、三个未知变量的线性方程组的问题。所以,求解方法仍然是线性的即可,而实际上,对于变量较少 情况下,这样规模的方程组,通常直接用Mathematica的Solve应该也可以求解。不过,想要用更高效的LinearSolve只能从特定形式出发。
上面的线性方程组等价和同解于如下的线性方程组:
⎡⎣⎢a11a21a310−10a13a23a33⎤⎦⎥⋅⎡⎣⎢x1b2x3⎤⎦⎥=⎡⎣⎢b1−a12x2−a22x2b3−a32x2⎤⎦⎥
从而可以用标准的线性代数方程组的求解模式来实现。
下面贴图中所用的求解方法本质上其实类似,不过看上去稍微繁琐了些。
两种解法都能推广到分块矩阵的情形;前一种方法的
0
应该变成相应维数的