I would like to take the derivative symbolically of a function but it
doesn't seem to work. Basically W and S are matrices, Z=f(W,S) and
loglikelihood=f(eta,Z). I would like the partial derivatives of the
loglikelihood wrt eta and W_ij. It works for eta but not the W_ij. Here is
n = 3
T = 5
eta = sympy.Symbol('eta')
W = sympy.MatrixSymbol('W', n, n)
S = sympy.MatrixSymbol('S',n,T)
'''Z if a function of S and W'''
f = w*s
f_average = sympy.HadamardProduct(f, s)
f_average = sympy.ones(1,f_average.shape) * f_average #row sum
#compute coefficients of Z
for r in range(T):
c.col_op(r, lambda i,j: i / f_average[0, r])
z = sympy.HadamardProduct(c,s)
Tk = S.shape #length of the data
Zk = detdyn(S,W)[:,:-1] #compute the deterministic dynamics
Sk = S[:,1:] #drop first observation
Sl = sympy.IndexedBase("Sk")
Zl = sympy.IndexedBase("Zk")
i, t = sympy.symbols('i t', cls=sympy.Idx)
0, 2)),(t, 0, Tk-1))
Sum(0, (i, 0, 2), (t, 0, 4))
which is not correct.
What am I doing wrong?
You received this message because you are subscribed to the Google Groups
To unsubscribe from this group and stop receiving emails from it, send an email
To post to this group, send email to email@example.com.
Visit this group at https://groups.google.com/group/sympy.
To view this discussion on the web visit
For more options, visit https://groups.google.com/d/optout.