[Julia] LinearAlgebra.jl 自带包

定义数组

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=[1; 4; 7; 0;;
     2;1;8;0;;
     3;6;1;0;;
     0;0;0;2];

单位矩阵

 E=Matrix(I,3,3)

3×3 Matrix{Bool}:
1 0 0
0 1 0
0 0 1

线性代数常用运算

线性代数常用运算

代码名称数学表示
A’转置 A ⊤ A^\top A
tr(A) t r   A = ∑ i = 1 n A i , i \mathrm{tr}~A=\sum_{i=1}^n A_{i,i} tr A=i=1nAi,i
det(A)行列式 det ⁡ A \det A detA
logdet(A)对数化行列式 log ⁡ ( det ⁡ A ) \log(\det A ) log(detA)
nullspace(A)核空间,零空间 ker ⁡ A \ker A kerA
A* B矩阵乘法 A B AB AB
A .* B矩阵 Hadamard 积, 数组乘积 A ∘ B A\circ B AB
kron(A, B)矩阵的Kronecker 积 A ⊗ B A \otimes B AB
inv(A) A − 1 A^{-1} A1, A A − 1 = A − 1 A = I A A^{-1}=A^{-1}A=I AA1=A1A=I
pinv(A)伪逆 A † A^{\dagger} A, A † A A † = A † A^{\dagger}A A^{\dagger}=A^{\dagger} AAA=A, A A † A = A AA^{\dagger}A =A AAA=A
eigvals(A)特征值 λ ( A ) \lambda (A) λ(A), ∣ λ I − A ∣ = 0 |\lambda I-A|=0 λIA=0
eigvecs(A)特征向量 ξ ( A ) \xi (A) ξ(A), λ ξ = A ξ \lambda \xi=A\xi λξ=Aξ
adjoint(A)伴随矩阵 A ∗ A^* A, A ∗ A = A A ∗ = ∣ A ∣ I A^* A=AA^*=|A|I AA=AA=AI

矩阵分解

代码名称数学表示
lu(A)LU 分解 A = L U A=LU A=LU, L L L 下三角矩阵, U U U 是上三角矩阵
qr(A)QR 分解 A = Q R A=QR A=QR, Q Q Q 是正规正交矩阵, R R R是上三角矩阵
svd(A)SVD 分解 A = V S D A=VSD A=VSD, V V V 正交矩阵, S S S 奇异值对角矩阵, D D D 正交矩阵
eigen(A)特征值分解 A = L D L ⊤ A=LDL^\top A=LDL, L L L 下三角矩阵, D D D特征值对角阵
shur(A)Shur 分解 A = U T U H A=UTU^H A=UTUH, U U U 酉矩阵, T T T 上三角矩阵
cholesky(A)Cholesky 分解 A = U U H A=UU^H A=UUH, U U U 酉矩阵, A A A是正定矩阵
ldlt(S)LDLt 分解 S = L D L ⊤ S=LDL^\top S=LDL S S S 是对称三对角矩阵,L是单位下三角矩阵, D D D 是对角矩阵
hessenberg(S)Hessenberg 分解 S = Q H Q ⊤ S=QHQ^\top S=QHQ Q Q Q 是正交矩阵, H H H 是上Hessenberg 矩阵
bunchkaufman(S)Bunch-Kaufman 分解 S = D U D ⊤ S=DUD^\top S=DUD, D D D 是单位上三角矩阵, U U U 是三对角矩阵, S S 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) A X + X A ⊤ + C = 0 AX+XA^\top +C=0 AX+XA+C=0
sylvester(A,B,C) A X + X B + C = 0 AX+XB+C=0 AX+XB+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 ∥ A u ∥ p \|A\|_p = \sup_{\|u\|_p=1} \|Au\|_p Ap=up=1supAup

代码范数类型
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, A x = B A x=B Ax=B, A ∈ R m × n , b ∈ R m A\in \mathbb{R}^{m\times n}, b\in \mathbb{R}^m ARm×n,bRm. 当 m > n m> n m>n 时给出最小二乘解.

内积

dot(a,b), a ⊤ b a^\top b ab, a , b ∈ R n a, b\in \mathbb{R}^n a,bRn

外积

cross(a,b), a × b a \times b a×b, a , b ∈ R 3 a, b\in \mathbb{R}^3 a,bR3

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 ∞ A n n ! \exp(A)= \sum_{n=0}^\infty \frac{A^n}{n!} exp(A)=n=0n!An
cis(A) e i A e^{iA} eiA
A^q exp ⁡ ( q log ⁡ ( A ) ) \exp(q\log(A)) exp(qlog(A))
A^b exp ⁡ ( log ⁡ ( b ) A ) \exp(\log(b)A) exp(log(b)A)
log(A) I m ( λ ( log ⁡ ( A ) ) ) ∈ ( − π , π ) Im(\lambda (\log(A))) \in (-\pi,\pi) Im(λ(log(A)))(π,π)
类似的还有, sqrt, sin, sincos, sinh, asin, asinh 等
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BlackPercy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值