这似乎是一个简单的问题。我的代码读取
import sympy as sp
D1 = sp.symbols('D1')
D2 = sp.symbols('D2')
m1 = sp.diag(*[2 * D1, 2 * D1, 2 * D2, 2 * D2])
b = sp.sqrt(m1)
m1.col(0)
b.col(0)
即我想得到一列矩阵的平方根。但是,似乎MatPow
对象b
不具有.col
这样的普通矩阵具有的m1
属性。
输出:
AttributeError Traceback (most recent call last)
<ipython-input-55-855c6e53a412> in <module>()
----> 1 b.col(0)
AttributeError: 'MatPow' object has no attribute 'col'
我在做什么错了?
答案 0 :(得分:1)
您需要使用MatPow
方法将MutableDenseMatrix
对象转换为as_mutable
:
b_as_m = b.as_mutable()
print(b_as_m.col(0))
输出:
Matrix([[sqrt(2)*sqrt(D1)], [0], [0], [0]])