linear algebra主要涉及4个主要问题:
LU分解,消元 ,matlab command: lu(A)
QR分解 ,主要用于最小二乘,矩形矩阵,matlab command: qr(A)
eigenvalue , matlab command: eig(A)
singular values decomposition, SVD. , matlab command: svd(A)
首先来说LU 分解: 假设任意一个3x3矩阵 对于这样一个矩阵,做消元之前最好将其行顺序调整一下,提高消元的效率。按照Lec2的介绍,为了使0位的利用率最高(在消元的过程中不被fill in),应当使最左侧为0的行往前提。将单位矩阵的第i 行与第j行互换(也可以是列互换,对于单位矩阵来说都一样)(称该矩阵为),那么将调换矩阵的第i行与第j行。将调换矩阵的第i列与第j列。很容易可以证明矩阵的逆矩阵是它本身,因为调换两次等于没调换。
第一步,调整矩阵的行顺序:
第二步消元:step0,以第0行的行首作为pivot,然后对下面每一行,例如第j行执行-A[j][0]/A[0][0]*第0行的操作。如此操作,矩阵将变成 将这一行消元产生的系数A[j][0]/A[0][0]作为元素填入到L矩阵第0列中,将被消元后的矩阵的第0行填入U矩阵的第0行。L矩阵是下三角矩阵,对角元素是1,其余元素,例如第一列的L[j][0]=A[j][0]/A[0][0]。U矩阵是上三角矩阵,例如,step0以矩阵A的第一行第一个元素作为pivot,那么矩阵的第0行将不受后面消元操作的影响,所以可以直接填入U矩阵第0行中。下面再以矩阵[1][1]作为pivot,对下面的行进行消元,从而继续填充L矩阵和U矩阵。
note:如果矩阵是对称矩阵,LU分解之后会丧失symmetry,为了恢复symmetry,可以peel off diagonals from U:。所以当矩阵是对称矩阵,有。
另外,一个对称矩阵的逆也是对称矩阵。