You need to enable JavaScript to run this app. Julia中特征分解得到向量型特征值如何重构原矩阵
优惠活动
大模型
产品
解决方案
定价
更多

Julia中特征分解得到向量型特征值如何重构原矩阵

问题解决方法

你遇到的报错本质是因为一维特征值向量和矩阵做*矩阵乘法时会被视为列向量,3×3的特征向量矩阵V乘3×1的λ得到3×1列向量,无法和3×3的inv(V)匹配维度。有两种常用方案实现矩阵重构:

方案1:构造对角阵(最贴合公式逻辑)

直接用LinearAlgebra内置的Diagonal()函数把特征值向量转换为对角矩阵,完全匹配你提到的$A = V\lambda V^{-1}$公式,修正后代码如下:

using LinearAlgebra

# 创建矩阵
A = rand(3, 3)

# 特征分解
AEig = eigen(A)
λ = AEig.values
V = AEig.vectors

# 转换为对角阵后计算
Acomp = V * Diagonal(λ) * inv(V)

# 验证结果,返回true
A ≈ Acomp

方案2:高效优化写法

不需要手动计算逆矩阵,用矩阵右除运算降低计算开销,结果和方案1完全一致:

Acomp = V * (Diagonal(λ) / V)

如果追求简写不想显式构造对角阵,也可以用广播写法实现等价计算,可读性略低于显式构造对角阵:

Acomp = V * (λ .* inv(V))

内容的提问来源于stack exchange,提问作者Pål Bjartan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 22:57:03