Рассмотрим это простое матричное уравнение:
from sympy import *
c_a, s_a = symbols('c_a s_a')
k_1, k_2, k_3, k_4, k_5, k_6 = symbols('k_1 k_2 k_3 k_4 k_5 k_6')
x,y,z = symbols('x y z')
equation = Eq(MatrixSymbol('R',4,4), Matrix([
[ c_a*k_1 - k_1 + 1, -c_a*k_4 + k_4 - s_a*z, -c_a*k_5 + k_5 + s_a*y, 0],
[-c_a*k_4 + k_4 + s_a*z, c_a*k_2 - k_2 + 1, -c_a*k_6 + k_6 - s_a*x, 0],
[-c_a*k_5 + k_5 - s_a*y, -c_a*k_6 + k_6 + s_a*x, c_a*k_3 - k_3 + 1, 0],
[ 0, 0, 0, c_a + s_a]]))
Я пытался некоторое время упростить безуспешно ... как вы можете видеть, существует множество возможных факторизаций (ie: k_1*(c_a-1), k_4(1-c_a), ...
). Я пробовал многие из существующих доступных методов, которые симпати должен упростить https://docs.sympy.org/latest/tutorial/simplification.html, но не повезло ... фактор, упрощение, сбор, применение функций (фактор), упрощение (сила = Истина) и c .
Я новичок ie с sympy, так что, вероятно, есть какой-то очевидный способ еще больше упростить уравнения такого типа, если это так, то как?
Кроме того, я просто заинтересованы в упрощении rhs
уравнения, а не lhs
. Можно ли упростить любой из них или оба?