您的位置:首页 > 其它

线性代数学习笔记(二)

2014-03-17 13:58 627 查看

高斯消元法 解 线性方程

对于Ax=b:

for i := 1 to n-1:
for j := i+1 to n:
if a(i,j)==0:
substitute row j with some row below j
row j := row j - row i * a(j,i) / a(i,i)


结合矩阵相乘的row picture来看,高斯消元每一步均可看做是一个矩阵E乘以A,例如:

\( E_{i,j}A=\begin{bmatrix}1 & 0 & 0\\ 1 & 1 & 0\\ 0 & 0 & 1\end{bmatrix}\begin{bmatrix}\mathbf{a_1}\\\mathbf{a_2}\\\mathbf{a_3}\end{bmatrix}=\begin{bmatrix}\mathbf{a_1}\\\mathbf{a_1+a_2}\\\mathbf{a_3}\end{bmatrix} \)

Eij乘以A得到EA的意义是:第一行结果不变,第二行结果是原第一行加上原第二行,第三行结果不变。将所有Eij相乘(包括逆向迭代的过程),得到的结果就是A的逆矩阵(1.如果有逆的话;2.不考虑行交换):A-1Ax = Ix = x

将b并入A,得到增广矩阵 [A b],目的是让对A的操作均等效在b中(相当于Eij乘以b),之后对增广矩阵进行高斯消元得到 [A-1A A-1b],即 [ I A-1b],A-1b即为线性方程的解。

总结:1. 构造增广矩阵;2. 对增广矩阵进行高斯消元。

逆矩阵

判断A是否可逆


这里讨论的逆矩阵都是方阵的逆。假如A是m*n的,B是n*m的,AB=Im,BA=In,我们似乎能定义:B就是非方阵A的逆矩阵。

为什么不讨论非方阵矩阵的逆?可以证明上述情况下,m=n,也就是A必须是方阵。

Quora的一个直观解释是,我们可以从“线性变换”的角度看这个问题:一个m*n的矩阵A,可以看做 n维空间 到 m维空间 的一个转化。它的逆矩阵是 m维空间 到 n维空间 的一个转化。假如n>m,那么A的转化就是“高维到低维”的一个转化,也就是不可逆的(我们可以从人得到影子,但是无法从影子得到人)。


如果A满足以下条件之一,A就是可逆的:

消元之后有n个主元pivot(也就是A满秩) or

Ax=0无非零解(否则(左)A-1Ax=x=(右)A-10=0) or

A的行列式不等于0

利用Gauss-Jordan消元法求A-1

设A-1=[ a b; c d],AA-1按照column picture可以看做两个线性方程:A*[a;c]=[1;0]和A*[b;d]=[0;1],将这两个方程同时解(也就是增广矩阵右侧是矩阵I)就是Gauss-Jordan消元法:

\( A^{-1}\begin{bmatrix}A & I\end{bmatrix}=\begin{bmatrix}I & A^{-1}\end{bmatrix} \)

将求逆过程看做对系数矩阵 [A I] 进行高斯消元,将所有Eij相乘(见高斯消元)得到A的逆矩阵。

总结:1. 构造大的增广矩阵;2. 对增广矩阵进行高斯消元。

从GJ消元法得到的一个不大不小的推论:假如L是下三角矩阵,那么L的逆也是下三角矩阵(考虑求L的逆的过程即可得出)。

注:单位矩阵,常标注为 I (identity matrix),但有时也被标为 E(elementary matrix)。

矩阵的LU分解

L=Lower,是一个下三角矩阵, U=Upper,是一个上三角矩阵。高斯消元的过程可以理解为A的LU分解:

U就是消元之后的系数矩阵

L是高斯消元每一步之积E的逆,EA=U,A=LU,L的对角线是1,下三角矩阵中每个元素 l(i,j) 都是高斯消元的系数 c(i,j)

(E也是下三角矩阵,对角线也等于1,但是下三角中每个元素就没有这个性质)

可以按照row picture结合高斯消元的步骤来理解:

(row 3 of U) = (row 3 of A) - c(3,1)*(row 1 of U) - c(3,2)*(row 2 of U) =>高斯消元的步骤

(row 3 of A) = c(3,1)*(row 1 of U) + c(3,2)*(row 2 of U) + 1*(row 3 of U) =>row picture的含义

U还能再分解为DU,D=diagonal是对角线矩阵,对角线元素等于U的主元(U的每一行都要除以相应的主元)。

以上假设A不需要进行行交换,有时需要对A的行进行调整,就需要permutation matrice P:PA=LU (这就是matlab函数lu的参数意义)

转置矩阵

(AB)T = BT AT

(A-1)T = (AT)-1

AB是B的行的组合,BT AT是BT的列的组合。对称矩阵的逆还是对称的。任何矩阵乘以其转置得到一个对称矩阵:(RRT)T==RTTRT=RRT.对称矩阵分解成LDU后,L与U互为转置。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: