通过标量符号多重sp.eye的正确方法是什么

我试过

import sympy as sp

? = sp.symbols("?")

? * sp.eye

但看到错误

TypeError                                 Traceback (most recent call last)
<ipython-input-25-dc4fb0b9f400> in <module>
      3 ? = sp.symbols("?")
      4 
----> 5 ? * sp.eye

TypeError: unsupported operand type(s) for *: 'Symbol' and 'function'

sp.eye用标量符号乘法的正确方法是什么

回答

你需要告诉它单位矩阵有多大!

>>> from sympy import *
>>> x = symbols("x")
>>> x * eye(3)
Matrix([
[x, 0, 0],
[0, x, 0],
[0, 0, x]])

问题是它eye是一个 Python 函数,所以你不能直接将它相乘

>>> type(eye)
<class 'function'>
>>> type(eye(3))
<class 'sympy.matrices.dense.MutableDenseMatrix'>


以上是通过标量符号多重sp.eye的正确方法是什么的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>