为什么SymPy没有在书中显示给我逆矩阵的结果?

2024-06-16 11:37:54 发布

您现在位置:Python中文网/ 问答频道 /正文

根据我正在读的书,逆矩阵

matrix

inverse matrix。在

在哪里 a=e^(π*(2/3)*j),与复数j一样,只是j的相位为90°,而{}的相位为120°。在

所以我在《辛普森》中尝试了这个:

from sympy import *
a = symbols('a')
T = Matrix([
[1, 1, 1],
[1, a**2, a],
[1, a, a**2]
])
simplify(T.inv())

这是IPython中的结果:

IPython

一点也不像书中的逆矩阵。
我为什么得到这个?
我怎样才能在书中用SymPy得到结果呢?在


Tags: fromimportipython矩阵simplifymatrix复数symbols
1条回答
网友
1楼 · 发布于 2024-06-16 11:37:54

编辑后,很明显,a不是参数,而是有一个精确的值,即-0.5 + i*sqrt(3)/2。如果你不告诉SymPy这个值是什么,它会把它当作一个参数来处理,倒数矩阵就是这样。但是如果给a一个正确的值,那么一切都会正常工作:

from sympy import *

a = -0.5 + I*sqrt(3)/2

T = Matrix([
[1, 1, 1],
[1, a**2, a],
[1, a, a**2]
])

invT = Matrix([
[1, 1, 1],
[1, a, a**2],
[1, a**2, a]
])

simplify(1/3*(T*invT))

这就得到了预期的单位矩阵。在


这是我最初的回答:

你不能得到你书上给出的结果,因为它是错的。在

Emathelp.net确认SymPy找到的结果是正确的,symbolab.com表明你的书提供的结果是错误的,因为如果你把A*A-1相乘,你就得不到单位矩阵。在

相关问题 更多 >