I want to simplify a computation based on C, and D using sympy
. However, I dont know how to simplify/subs,... C*DT
by G
. For instance, C(i,0)*DT(0,j)+C(i,1)*DT(1,j)
must be replaced by G(i,j)
, i.e., G=C*DT
. This replacement must be applied as much as possible.
My code:
import sympy
from sympy import *
n, m = 4, 2
C = sympy.Matrix(n, m, lambda i, j: sympy.var('C%d_%d' % (i, j)))
D = sympy.Matrix(n, m, lambda i, j: sympy.var('D%d_%d' % (i, j)))
DT = D.transpose()
CDT = C * DT
G = sympy.Matrix(n, n, lambda i, j: sympy.var('G%d_%d' % (i, j)))
# does not work, no change in CDT
# CDT.subs(CDT,G)