Я новичок в симпы. Я работаю с симплексными матрицами. Кто-нибудь знает о создании матрицы как субъекта из матричного уравнения? для примера, если уравнение имеет вид A + 2B = C, здесь A, B и C являются матрицами. Я хочу, чтобы тема была B. Так что окончательный ответ должен выглядеть как B = (C-A)/2. Есть ли какой-либо прямой способ сделать это?Создание темы для формулы матрицы в Sympy
1
A
ответ
1
Подход, предлагаемый агентом, представляется применимым: см. How to solve matrix equation with sympy?.
Сначала объявите A, B и C некоммутативными переменными и получим решение уравнения. Во-вторых, переопределите C и A в качестве требуемых массивов, а затем примените формулу к этим массивам.
>>> from sympy import *
>>> A,B,C = symbols('A B C', commutative=False)
>>> solve(A+2*B-C,B)
[(-A + C)/2]
>>> A = Matrix([2,2,1,5])
>>> C = Matrix([1,1,1,1])
>>> A = A.reshape(2,2)
>>> C = C.reshape(2,2)
>>> (-A + C)/2
Matrix([
[-1/2, -1/2],
[ 0, -2]])
Чтобы ответить на этот вопрос в комментариях: Определить матрицу C, чтобы быть нулевой матрицей в правой части уравнения и продолжить, как указано выше.
>>> A,B,C = symbols('A B C', commutative=False)
>>> solve(2*A+B-C,A)
[(-B + C)/2]
>>> B = Matrix([1,4,3,5])
>>> B = B.reshape(2,2)
>>> C = Matrix([0,0,0,0])
>>> C = C.reshape(2,2)
>>> (-B + C)/2
Matrix([
[-1/2, -2],
[-3/2, -5/2]])
Благодарим вас за ответ. Это решило мою проблему. Теперь у меня есть еще одна проблема: я не мог смешивать матричные переменные со значениями матрицы, такими как 2 * A + B = Матрица ([[0,0], [0,0]]). Здесь я хочу сделать А предметом. Есть ли какой-либо способ сделать симпы? – Venilope
Pls видит отредактированный ответ. –
Спасибо. Извините за неудобства, в основном, то, что я хочу, - это мой вход для sympy, содержащий значения матриц с переменными. поэтому я не могу изменить его как все матрицы как переменные сначала, как то, что вы сказали выше bcoz в моем i/p, есть несколько значений и матричных переменных, поэтому я не могу изменить каждое значение матрицы на переменные, а затем отправить его на sympy , Есть ли способ сделать это в sympy ?. Если нет, я планировал реализовать это для sympy. Поэтому, пожалуйста, помогите мне узнать, существует ли эта функциональность или нет./P может быть так же 2 * A + Matrix [] = Matrix []. Пожалуйста, дайте мне знать, если есть способ. – Venilope