文章目录 线性代数常用运算 线性代数常用运算 矩阵分解 矩阵方程组 数组范数 向量诱导范数与条件数 向量空间 矩阵函数级数
A= [ 1 2 3 0 ;
4 1 6 0 ;
7 8 1 0 ;
0 0 0 2 ] ;
A'
B= fill ( 1 , ( 4 , 4 ) )
A* B
4×4 Matrix{Int64}:
6 6 6 6
11 11 11 11
16 16 16 16
2 2 2 2
线性代数常用运算
线性代数常用运算
代码 名称 数学表示 A’ 转置 A⊤A^\top A ⊤ tr(A) 迹 tr A=∑i=1nAi,i\mathrm{tr}~A=\sum_{i=1}^n A_{i,i} t r A = i = 1 ∑ n A i , i det(A) 行列式 detA\det A det A logdet(A) 对数化行列式 log(detA)\log(\det A ) log ( det A ) nullspace(A) 核空间,零空间 kerA\ker A ker A A* B 矩阵乘法 ABAB A B A .* B 矩阵 Hadamard 积, 数组乘积 A∘BA\circ B A ∘ B kron(A, B) 矩阵的Kronecker 积 A⊗BA \otimes B A ⊗ B inv(A) 逆 A−1A^{-1} A − 1 , AA−1=A−1A=IA A^{-1}=A^{-1}A=I A A − 1 = A − 1 A = I pinv(A) 伪逆 A†A^{\dagger} A † , A†AA†=A†A^{\dagger}A A^{\dagger}=A^{\dagger} A † A A † = A † ,AA†A=AAA^{\dagger}A =A A A † A = A eigvals(A) 特征值 λ(A)\lambda (A) λ ( A ) , ∥λI−A∥=0\|\lambda I-A\|=0 ∥ λ I − A ∥ = 0 eigvecs(A) 特征向量 ξ(A)\xi (A) ξ ( A ) , λξ=Aξ\lambda \xi=A\xi λ ξ = A ξ adjoint(A) 伴随矩阵 A∗A^* A ∗ , A∗A=AA∗=∥A∥IA^* A=AA^*=\|A\|I A ∗ A = A A ∗ = ∥ A ∥ I
矩阵分解
代码 名称 数学表示 lu(A) LU 分解 A=LUA=LU A = L U , LL L 下三角矩阵, UU U 是上三角矩阵qr(A) QR 分解 A=QRA=QR A = Q R , QQ Q 是正规正交矩阵, RR R 是上三角矩阵svd(A) SVD 分解 A=VSDA=VSD A = V S D , VV V 正交矩阵, SS S 奇异值对角矩阵, DD D 正交矩阵eigen(A) 特征值分解 A=LDL⊤A=LDL^\top A = L D L ⊤ , LL L 下三角矩阵, DD D 特征值对角阵shur(A) Shur 分解 A=UTUHA=UTU^H A = U T U H , UU U 酉矩阵, TT T 上三角矩阵cholesky(A) Cholesky 分解 A=UUHA=UU^H A = U U H , UU U 酉矩阵,AA A 是正定矩阵ldlt(S) LDLt 分解 S=LDL⊤S=LDL^\top S = L D L ⊤ , SS S 是对称三对角矩阵,L是单位下三角矩阵, DD D 是对角矩阵hessenberg(S) Hessenberg 分解 S=QHQ⊤S=QHQ^\top S = Q H Q ⊤ , QQ Q 是正交矩阵,HH H 是上Hessenberg 矩阵bunchkaufman(S) Bunch-Kaufman 分解 S=DUD⊤S=DUD^\top S = D U D ⊤ , DD D 是单位上三角矩阵, UU U 是三对角矩阵, SS S 是共轭对称矩阵
using LinearAlgebra
L, U= factorize ( A) ;
L, U= lu ( A) ;
Q, R= qr ( A) ;
sD, sS, sV= svd ( A) ;
Va, Ve= eigen ( A) ;
sT, sU= schur ( A) ;
cU= cholesky ( A* A' ) ;
hQ, hH= hessenberg ( A) ;
bD, bU, bP= bunchkaufman ( A+ A' ) ;
S = SymTridiagonal ( [ 3. , 4. , 5. , 2. ] , [ 1. , 2. , 1. ] )
F = ldlt ( S)
矩阵方程组
代码 方程 lyap(A,C) AX+XA⊤+C=0AX+XA^\top +C=0 A X + X A ⊤ + C = 0 sylvester(A,B,C) AX+XB+C=0AX+XB+C=0 A X + X B + C = 0
A= [ 2 1 ; 0 2 ] ;
C= [ 1 1 ; 0 1 ] ;
X= lyap ( A, C)
A* X+ X* A' + C
数组范数
代码 范数类型 norm(A,2) Fobineus 范数 norm(A,1) 1 范数 norm(A,1.5) 1.5 范数 norm(A,Inf) ∞\infty ∞ 范数
norm ( A, 2 ) ^ 2 - tr ( A* A' )
向量诱导范数与条件数
∥A∥p=sup∥u∥p=1∥Au∥p\|A\|_p = \sup_{\|u\|_p=1} \|Au\|_p ∥ A ∥ p = ∥ u ∥ p = 1 sup ∥ A u ∥ p
代码 范数类型 opnorm(A,2) 谱范数 opnorm(A,1) 1-范数 opnorm(A,Inf) ∞\infty ∞ -范数cond(A,2) 谱范数条件数 cond(A,1) 1-范数条件数 cond(A,Inf) ∞\infty ∞ -范数
opnorm ( A, 2 )
向量空间
线性方程组
A\B, Ax=BA x=B A x = B , A∈Rm×n,b∈RmA\in \mathbb{R}^{m\times n}, b\in \mathbb{R}^m A ∈ R m × n , b ∈ R m . 当 m>nm> n m > n 时给出最小二乘解.
内积
dot(a,b), a⊤ba^\top b a ⊤ b , a,b∈Rna, b\in \mathbb{R}^n a , b ∈ R n
外积
cross(a,b), a×ba \times b a × b , a,b∈R3a, b\in \mathbb{R}^3 a , b ∈ R 3
A = [ 1 0 ; 1 - 2 ; 3 1 ] ; B = [ 32 ; - 4 ; 7 ] ;
A\ B
Va= [ 1 ; 0 ; 2 ] ; Vb= [ 2 ; 1 ; 0 ]
dot ( Va, Vb)
Va ⋅ Vb
Va= [ 1 ; 0 ; 2 ] ; Vb= [ 1 ; 0 ; - 1 ]
cross ( Va, Vb)
Va × Vb
矩阵函数级数
代码 数学表示 exp(A) exp(A)=∑n=0∞Ann!\exp(A)= \sum_{n=0}^\infty \frac{A^n}{n!} exp ( A ) = n = 0 ∑ ∞ n ! A n cis(A) eiAe^{iA} e i A A^q exp(qlog(A)) \exp(q\log(A)) exp ( q log ( A ) ) A^b exp(log(b)A) \exp(\log(b)A) exp ( log ( b ) A ) log(A) Im(λ(log(A)))∈(−π,π)Im(\lambda (\log(A))) \in (-\pi,\pi) I m ( λ ( log ( A ) ) ) ∈ ( − π , π )
类似的还有, sqrt, sin, sincos, sinh, asin, asinh 等