如何解决Python软件包Sympy:如何强制身份矩阵的伴随必须等于身份矩阵
当我运行这段代码
import sympy as sp
sp.init_printing(pretty_print=False)
I = sp.Identity(3)
A = sp.MatrixSymbol('A',3,3)
A*I
I*A
sp.adjoint(A)*I
I*sp.adjoint(A)
我得到了预期的结果,
A
A
Adjoint(A)
Adjoint(A)
但是,如果我跑步
sp.adjoint(I)*A
我明白了
Adjoint(I)*A
为什么Sympy不能用I代替Adjoint(I)?
解决方法
Adjoint(MatrixExpr)
不求值,它只是一个符号对象:https://github.com/sympy/sympy/blob/master/sympy/matrices/expressions/adjoint.py。
因此,我假设sp.adjoint(I)
在任何矩阵上使用延迟加载来节省计算,直到实际需要。对函数求值后,便会计算伴随项并将其设置为I。
也许I.adjoint()
会如您所愿。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。