Julia 線性代數(shù)

2018-08-12 21:26 更新

線性代數(shù)

矩陣分解

矩陣分解是將一個(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ùn)算

矩陣類型 + - * \ 其它已優(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)

縮放運(yùn)算

一個(gè) UniformScaling 運(yùn)算符代表了一個(gè)單位算子的標(biāo)量次數(shù), λ*I。單位算子 I 被定義為一個(gè)常量且是 UniformScaling 的一個(gè)實(shí)例。 這些運(yùn)算符的尺寸是一般大小,可匹配 +,-,*\ 等其它二元運(yùn)算符中的矩陣。對于 A+IA-I 這意味著 A 必須是一個(gè)方陣. 使用了單位算子 I 的乘法運(yùn)算是一個(gè)空操作(除非縮放因子為一) ,因此基本沒有開銷。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)