鍍金池/ 教程/ Java/ 線性代數(shù)
類型轉(zhuǎn)換和類型提升
方法
嵌入式 Julia
交互
調(diào)用 C 和 Fortran 代碼
類型
代碼性能優(yōu)化
多維數(shù)組
元編程
函數(shù)
簡介
線性代數(shù)
與其它語言的區(qū)別
數(shù)學(xué)運(yùn)算和基本函數(shù)
構(gòu)造函數(shù)
控制流
常見問題
并行計(jì)算
擴(kuò)展包
開發(fā)擴(kuò)展包
開始
字符串
運(yùn)行外部程序
變量的作用域
模塊
網(wǎng)絡(luò)和流
代碼樣式
復(fù)數(shù)和分?jǐn)?shù)
可空類型
整數(shù)和浮點(diǎn)數(shù)
變量
日期和時(shí)間

線性代數(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 三對(duì)角矩陣的 LU 因子分解
UmfpackLU 稀疏矩陣的 LU 分解(使用 UMFPACK 計(jì)算)
QR QR 分解
QRCompactWY QR 分解的緊湊 WY 形式
QRPivoted 主元 QR 分解
Hessenberg Hessenberg 分解
Eigen 特征分解
SVD 奇異值分解
GeneralizedSVD 廣義奇異值分解

特殊矩陣

線性代數(shù)中經(jīng)常碰到帶有對(duì)稱性結(jié)構(gòu)的特殊矩陣,這些矩陣經(jīng)常和矩陣分解聯(lián)系到一起。Julia 內(nèi)置了非常豐富的特殊矩陣類型,可以快速地對(duì)特殊矩陣進(jìn)行特定的操作.

下面的表格總結(jié)了 Julia 中特殊的矩陣類型,其中也包含了 LAPACK 中的一些已經(jīng)優(yōu)化過的運(yùn)算。

Hermitian 埃爾米特矩陣
Triangular 上/下三角矩陣
Tridiagonal 三對(duì)角矩陣
SymTridiagonal 對(duì)稱三對(duì)角矩
Bidiagonal 上/下雙對(duì)角矩陣
Diagonal 對(duì)角矩陣
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 已對(duì)矩陣-矩陣運(yùn)算優(yōu)化
Y 已對(duì)矩陣-向量運(yùn)算優(yōu)化
Z 已對(duì)矩陣-標(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 已對(duì)尋找特征值和/或特征向量優(yōu)化 例如 eigvals(M)
B 已對(duì)尋找 ilth 到 ihth 特征值優(yōu)化 eigvals(M, il, ih)
C 已對(duì)尋找在 [vl, vh] 之間的特征值優(yōu)化 eigvals(M, vl, vh)
D 已對(duì)尋找特征值 x=[x1, x2,...] 所對(duì)應(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)算符中的矩陣。對(duì)于 A+IA-I 這意味著 A 必須是一個(gè)方陣. 使用了單位算子 I 的乘法運(yùn)算是一個(gè)空操作(除非縮放因子為一) ,因此基本沒有開銷。

上一篇:控制流