Инверсия матрицы в SymPy? - PullRequest
       43

Инверсия матрицы в SymPy?

10 голосов
/ 21 ноября 2010

Мне было интересно, как создать матрицу и вычислить ее инверсию, используя SymPy в Python?

Например, для этой символьной матрицы:

Ответы [ 2 ]

14 голосов
/ 21 ноября 2010

Если ваш вопрос был: Как вычислить обратную матрицу M в симпли, тогда:

M_inverse = M.inv()

Что касается того, как создать матрицу:

M = Matrix(2,3, [1,2,3,4,5,6])

даст вамследующая матрица 2X3:

1 2 3

4 5 6

См .: http://docs.sympy.org/0.7.2/modules/matrices/matrices.html

2 голосов
/ 28 марта 2018

Вот пример того, как мы можем вычислить обратное значение для символической матрицы (взяв одну из вопроса):

import sympy as sym


# Not necessary but gives nice-looking latex output
# More info at: http://docs.sympy.org/latest/tutorial/printing.html
sym.init_printing()

sx, sy, rho = sym.symbols('sigma_x sigma_y rho')
matrix = sym.Matrix([[sx ** 2, rho * sx * sy], 
                     [rho * sx * sy, sy ** 2]])

Теперь печать обратного matrix.inv() даст
enter image description here

, который можно еще более упростить, например, sym.simplify(matrix.inv()):
enter image description here

...