a field-theory motivated approach to computer algebra


Make all free indices in an expression subscripts.
Free indicies (indices declared with the Indices(position=free) property) can appear as subscripts or superscripts, but sometimes it is useful to move them all into the same position.
{a,b,c}::Indices(name=A, position=free); {m,n,p}::Indices(name=B, position=fixed); ex:=A_{a b m} B^{a b m};
\(\displaystyle{}\text{Attached property Indices(position=free) to }\left[a, b, c\right].\)
\(\displaystyle{}\text{Attached property Indices(position=fixed) to }\left[m, n, p\right].\)
\(\displaystyle{}A_{a b m} B^{a b m}\)
A_{a b m} B^{a b m}
\(\displaystyle{}A_{a b m} B_{a b}\,^{m}\)
A_{a b m} B_{a b}^{m}
The opposite of this is raise_free_indices, which moves all indices to be superscripts.
Copyright © 2001-2018 Kasper Peeters