MATLAB求解线性方程的过程基于三种分解法则:
(1)Cholesky分解,针对对称正定矩阵;
(2)高斯消元法, 针对一般矩阵;
(3)正交化, 针对一般矩阵(行数≠列数)
这三种分解运算分别由chol, lu和 qr三个函数来分解.
1. Cholesky分解(Cholesky Decomposition)
仅适用于对称和上三角矩阵
例:cholesky分解。
a=pascal(6)
b=chol(a)
a =
1 1 1 1 1 1
1 2 3 4 5 6
1 3 6 10 15 21
1 4 10 20 35 56
1 5 15 35 70 126
1 6 21 56 126 252
b =
1 1 1 1 1 1
0 1 2 3 4 5
0 0 1 3 6 10
0 0 0 1 4 10
0 0 0 0 1 5
0 0 0 0 0 1
CHOL Cholesky factorization.
CHOL(X) uses only the diagonal and upper triangle of X. The lower triangular is assumed to be the (complex conjugate) transpose of the upper. If X is positive definite, then R = CHOL(X) produces an upper triangular R so that R'*R = X. If X is not positive definite, an error message is printed.
[R,p] = CHOL(X), with two output arg