矩陣分解是將一個(gè)矩陣分解為數(shù)個(gè)矩陣的乘積,是線性代數(shù)中的一個(gè)核心概念。
下面的表格總結(jié)了在 Julia 中實(shí)現(xiàn)的幾種矩陣分解方式。具體的函數(shù)可以參考標(biāo)準(zhǔn)庫文檔的 Linear Algebra章節(jié)。
Cholesky | Cholesky 分解 |
CholeskyPivoted | 主元 Cholesky 分解 |
LU | LU 分解 |
LUTridiagonal | 三對角矩陣的 LU 因子分解 |
UmfpackLU | 稀疏矩陣的 LU 分解(使用 UMFPACK 計(jì)算) |
QR | QR 分解 |
QRCompactWY | QR 分解的緊湊 WY 形式 |
QRPivoted | 主元 QR 分解 |
Hessenberg | Hessenberg 分解 |
Eigen | 特征分解 |
SVD | 奇異值分解 |
GeneralizedSVD | 廣義奇異值分解 |
線性代數(shù)中經(jīng)常碰到帶有對稱性結(jié)構(gòu)的特殊矩陣,這些矩陣經(jīng)常和矩陣分解聯(lián)系到一起。Julia 內(nèi)置了非常豐富的特殊矩陣類型,可以快速地對特殊矩陣進(jìn)行特定的操作.
下面的表格總結(jié)了 Julia 中特殊的矩陣類型,其中也包含了 LAPACK 中的一些已經(jīng)優(yōu)化過的運(yùn)算。
Hermitian | 埃爾米特矩陣 |
Triangular | 上/下三角矩陣 |
Tridiagonal | 三對角矩陣 |
SymTridiagonal | 對稱三對角矩 |
Bidiagonal | 上/下雙對角矩陣 |
Diagonal | 對角矩陣 |
UniformScaling | 縮放矩陣 |
矩陣類型 | + | - | * | \ | 其它已優(yōu)化的函數(shù) |
---|---|---|---|---|---|
Hermitian | XY | inv, sqrtm, expm | |||
Triangular | XY | XY | inv, det | ||
SymTridiagonal | X | X | XZ | XY | eigmax/min |
Tridiagonal | X | X | XZ | XY | |
Bidiagonal | X | X | XZ | XY | |
Diagnoal | X | X | XY | XY | inv, det, logdet, / |
UniformScaling | X | X | XYZ | XYZ | / |
圖例:
X | 已對矩陣-矩陣運(yùn)算優(yōu)化 |
---|---|
Y | 已對矩陣-向量運(yùn)算優(yōu)化 |
Z | 已對矩陣-標(biāo)量運(yùn)算優(yōu)化 |
矩陣類型 | LAPACK | eig | eigvals | eigvecs | svd | svdvals |
---|---|---|---|---|---|---|
Hermitian | HE | ABC | ||||
Triangular | TR | |||||
SymTridiagonal | ST | A | ABC | AD | ||
Tridiagonal | GT | |||||
Bidiagonal | BD | A | A | |||
Diagonal | DI | A |
圖例:
A | 已對尋找特征值和/或特征向量優(yōu)化 | 例如 eigvals(M) |
---|---|---|
B | 已對尋找 ilth 到 ihth 特征值優(yōu)化 | eigvals(M, il, ih) |
C | 已對尋找在 [vl, vh] 之間的特征值優(yōu)化 | eigvals(M, vl, vh) |
D | 已對尋找特征值 x=[x1, x2,...] 所對應(yīng)的特征向量優(yōu)化 | eigvecs(M, x) |
一個(gè) UniformScaling
運(yùn)算符代表了一個(gè)單位算子的標(biāo)量次數(shù), λ*I
。單位算子 I
被定義為一個(gè)常量且是 UniformScaling
的一個(gè)實(shí)例。 這些運(yùn)算符的尺寸是一般大小,可匹配 +
,-
,*
和 \
等其它二元運(yùn)算符中的矩陣。對于 A+I
和 A-I
這意味著 A
必須是一個(gè)方陣. 使用了單位算子 I
的乘法運(yùn)算是一個(gè)空操作(除非縮放因子為一) ,因此基本沒有開銷。
更多建議: