Sympy: получить столбец матрицы власти - PullRequest
1 голос
/ 22 мая 2019

Кажется, это простой вопрос. Мой код читает

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 Ответ

1 голос
/ 22 мая 2019

Вам необходимо преобразовать MatPow объект в MutableDenseMatrix с помощью as_mutable метода:

b_as_m = b.as_mutable()
print(b_as_m.col(0))

Выход:

Matrix([[sqrt(2)*sqrt(D1)], [0], [0], [0]])
...