线性方程组:
(i:1-n)
(j:1-m)
({egin{cases}a_{11}x_1+a_{12}x_2+a_{13}x_3+cdots+a_{1n}x_n=b_1\a_{21}x_1+a_{22}x_2+a_{23}x_3+cdots+a_{2n}x_n=b_2\~~~~vdots~~~~~~~~~~~~vdots~~~~~~~~~~~~vdots~~~~~~~~~~vdots~~~~~~~~~~vdots~~~~~~~~~vdots\a_{m1}x_1+a_{m2}x_2+a_{m3}x_3+cdots+a_{mn}x_n=b_mend{cases}})
系数矩阵:方程组各项系数((a_{ij}))按顺序组成的矩阵(A)。
未知数矩阵:未知数(x_i)组成的列向量(X)。
常数项矩阵:等式右侧常数((b_j))组成的矩阵(B)。
增广矩阵:系数矩阵最右侧补充一个常数项矩阵。
线性方程组与矩阵的一个关系:
设两个线性变换:
({egin{cases}y_1=a_{11}x_1+a_{12}x_2+a_{13}x_3\y_2=a_{21}x_1+a_{22}x_2+a_{23}x_3end{cases}})
({egin{cases}x_1=b_{11}t_1+b_{12}t_2\x_2=b_{21}t_1+b_{22}t_2\x_3=b_{31}t_1+b_{32}t_2end{cases}})
那么(y,t)之间的关系的系数矩阵是
(left(egin{matrix}a_{11}&a_{12}&a_{13}\a_{21}&a_{22}&a_{23}end{matrix}
ight) imesleft(egin{matrix}b_{11}&b_{12}\b_{21}&b_{22}\b_{31}&b_{32}end{matrix}
ight)=cdots)
simplex:
(1.)建立系数矩阵,辅助松弛变量略过。
(2.)寻找(b_l<0)随机取,若无则(return),寻找(a_{l,e}<0)随机取,若无则无解,(pivot(l,e)),重复。
(3.)找(max(c_e)),小于0则结束,否则找(min(b_l/a_{l,e})),等于(INF)则解为(INF),然后(pivot(l,e))。
注意:
(1.ans+=c_e imes b_l),(c_e)为变动前,(b_l)为变动后。
(2.a_{l,e})变为倒数,(e)列其他为其相反数(/a_{l,e})(原)。
(3.)其余相当于把(a_{l,e})变成(1),(e)列其他变为(0)所做的高斯消元操作。
如何输出解:
(1.i=1-n,id[i]=i)
(2.pivot(l,e))时(swap(id[l+n],id[e]))(不断记当前列和省略列是哪个变量)。
(3.x_{id_{n+i}}=b_i)所有的基变量的取值就是(b),非基变量的取值是(0)。
克拉默法则与线性方程组求解:
由(AX=B),得(X=A^{-1}B)