Hello,<br><br>Given a matrix of expressions A and vectors q,v,w, I'm trying to evaluate a tensor expression of the type<br>
diff(A_ij, q_k) * v_k * w_j .<br><br>With i,j,k of type idx, and A,q of type Matrix,<br>It would be nice to get a 3 index tensor from<br>



indexed( diff(A(i,j),q(k)), i,j,k)<br>or by <br>diff(indexed(A,i,j),indexed(q,k))<br>but these don't work.<br><br>After
looking at the definition of epsilon_tensor the simplest option seems
to be to write a class indexed_from_function3 able to return a 3-index
tensor from an arbitrary function of three indices:<br>




for example <br>ex f(int i, int j, int k){<br>  return( diff(A(i,j),q(k)) );<br>}<br>ex tensexp0=indexed_from_function3(f, i,j,k) * indexed(v, k) * indexed(w, j)<br><br><br>Is there already a way to construct an arbitrary 3-index tensor that I've not found yet?<br>






<br>Thanks in advance,<br><font color="#888888"><br>Gregg Stiesberg<br></font>