evaluate
Evaluate components of a tensor expression.
Given an abstract tensor expression and a set of rules for the components of tensors occurring in this
expression, evaluate the components of the full expression.
The minimal information needed for this to work is a declaration of the indices used, and a declaration
of the values that those indices use:{r,t}::Coordinate.
{m,n,p,s}::Indices(values={t,r}).
ex:= A_{n m} B_{m n p} ( C_{p s} + D_{s p} );
\(\displaystyle{}A_{n m} B_{m n p} \left(C_{p s}+D_{s p}\right)\)
The list of component values should be given just like the list of rules for the
substitute
algorithm,
that is, as equalitiesrl:= [ A_{r t} = 3, B_{t r t} = 2, B_{t r r} = 5, C_{t r} = 1, D_{r t} = r**2*t, D_{t r}=t**2 ];
\(\displaystyle{}(A_{r t} = 3, B_{t r t} = 2, B_{t r r} = 5, C_{t r} = 1, D_{r t} = r^{2} t, D_{t r} = t^{2})\)
The
evaluate
algorithm then works out the values of the components of the ex
expression,
which will be denoted with a $\square$ in its output,evaluate(ex, rl);
\(\displaystyle{}\begin{aligned}\square{}_{r}= & 6r^{2} t+6\\
\square{}_{t}= & 15t^{2}\\
\end{aligned}
\)