Mathematica 矩阵对角化

标签 math wolfram-mathematica

我正在考虑矩阵 A 使得 A=PDP^-1。

我使用 Mathematica 解决这个问题的方法是:

a={{0, -1}, {-1, 0}}
d = DiagonalMatrix[Eigenvalues[a]]
{{-1,0}, {0,1}}
p = Transpose[Eigenvectors[a]]

p.d.Inverse[p]
{{0, -1}, {-1, 0}}

哪个是正确的。

问题是,P 矩阵不是我预期的那样。 Mathematica 生成的矩阵是
p={{1, -1}, {1, 1}}

但我正在寻找
p2={{1/Sqrt[2], 1/Sqrt[2]}, {1/Sqrt[2], -(1/Sqrt[2])}}
p2.d.Inverse[p2]
{{0,-1}, {-1,0}}

这也解决了方程。在执行 Transpose[Eigenvectors[a]] 时,有没有办法强制 Mathematica 向我显示不同的答案?

最佳答案

你需要做的是标准化你得到的答案。有一个函数叫 Normalize ,可以这样使用:

Normalize /@ {{1, -1}, {1, 1}}

Mathematica graphics

关于Mathematica 矩阵对角化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8859195/

相关文章:

c# - 使用 C# 求解偏微分方程

optimization - Mathematica 用符号而不是数字调用 NMinimize?

sorting - 使用特征向量矩阵对特征值矩阵进行排序

wolfram-mathematica - 自重启 MathKernel - 在 Mathematica 中可能吗?

java - 如何在 Java 中计算 ((Integer)^(double)) % (Integer)?

c# - 为什么 vector.Length 比 Math.sqrt() 快?

python - Mandelbrot 设置平滑着色函数

c - 在 C 中将算术表达式应用于用户提供的 2 个二进制数的最佳方法是什么?

wolfram-mathematica - 随机泊松噪声

wolfram-mathematica - 如何在 Mathematica 笔记本中对齐注释?