Eigen解線性方程組

2022-05-02 14:24:10 字數 1231 閱讀 2879

一. 矩陣分解:

矩陣分解 (decomposition, factorization)是將矩陣拆解為數個矩陣的乘積,可分為三角分解、滿秩分解、qr分解、jordan分解和svd(奇異值)分解等,常見的有三種:1)三角分解法 (triangular factorization),2)qr 分解法 (qr factorization),3)奇異值分解法 (singular value decompostion)。

1. lu三角分解:

三角分解法是將原正方 (square) 矩陣分解成乙個上三角形矩陣 或是排列(permuted) 的上三角形矩陣和乙個 下三角形矩陣,這樣的分解法又稱為lu分解法。它的用途主要在簡化乙個大矩陣的行列式值的計算過程,求 反矩陣,和求解聯立方程組。不過要注意這種分解法所得到的上下三角形矩陣並非唯一,還可找到數個不同 的一對上下三角形矩陣,此兩三角形矩陣相乘也會得到原矩陣。

matlab以lu函式來執行lu分解法, 其語法為[l,u]=lu(a)。

2. qr分解:

qr分解法是將矩陣分解成乙個正規正交矩陣與上三角形矩陣,所以稱為qr分解法,與此正規正交矩陣的通用符號q有關。

matlab以qr函式來執行qr分解法, 其語法為[q,r]=qr(a)。

3. 奇異值分解:

奇異值分解 (singular value decomposition,svd) 是另一種正交矩陣分解法;svd是最可靠的分解法,但是它比qr 分解法要花上近十倍的計算時間。[u,s,v]=svd(a),其中u和v分別代表兩個正交矩陣,而s代表一對角矩陣。 和qr分解法相同, 原矩陣a不必為正方矩陣。使用svd分解法的用途是解最小平方誤差法和資料壓縮。

matlab以svd函式來執行svd分解法, 其語法為[s,v,d]=svd(a)。

4. llt分解:

a=ll^t

cholesky 分解是把乙個對稱正定的矩陣表示成乙個下三角矩陣l和其轉置的乘積的分解。它要求矩陣的所有特徵值必須大於零,故分解的下三角的對角元也是大於零的(lu三角分解法的變形)。

5. ldlt分解法:

若a為一對稱矩陣且其任意一k階主子陣均不為零,則a有如下惟一的分解形式:

a=ldl^t

其中l為一下三角形單位矩陣(即主對角線元素皆為1),d為一對角矩陣(只在主對角線上有元素,其餘皆為零),l^t為l的轉置矩陣。

ldlt分解法實際上是cholesky分解法的改進,因為cholesky分解法雖然不需要選主元,但其運算過程中涉及到開方問題,而ldlt分解法則避免了這一問題,可用於求解線性方程組。

MATLAB解線性方程組

rref 函式 把矩陣換為行最簡形 可以用來解線性方程組,求矩陣的秩,求矩陣行最簡形 每行首元所在的列只有它乙個是1 首元所在的列數。例如 我們知道乙個方程組 a x b 中 a 係數矩陣 和b列向量 a 2 2 2 6 2 1 2 4 3 1 4 4 1 1 1 3 b 16 10 11 12 u...

線性方程組

給出乙個線性方程組的標準形式 a11x1 a12x 2 a1nx na21x 1 a22 x2 a2n xnan 1x1 an2x 2 annx n b1 b2 bn 1x 2y 34x 5y 6 1 2 這裡由克萊姆法則進行計算得出xy 3625 14 25 3 5 2 61 5 2 4 3 3 ...

線性方程組

若線性方程組相容,則此方程組有1個或無窮多個解 若線性方程組不相容,則該方程組無解。線性方程組所有解的集合被稱為線性方程組的解集 若線性方程組不相容,則解集為空集。若兩個含有相同變數的方程組具有相同的解集,則稱它們是等價的。有三種運算可以得到等價的方程組 交換任意兩個方程的順序 任一方程兩邊同乘乙個...