Sympy:获得一列矩阵幂

时间:2019-05-22 11:54:35

标签: python matrix sympy

这似乎是一个简单的问题。我的代码读取

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'

我在做什么错了?

1 个答案:

答案 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]])