a field theory motivated approach to computer algebra


Make an object a Riemann curvature tensor.
Gives an object the symmetry properties of a Riemann tensor. This has implications for various simplification algorithms such as canonicalise or young_project_tensor. The following is an example which makes use of the Ricci identity.
R_{m n p q}::RiemannTensor; A^{m n p}::AntiSymmetric; ex:= A^{m n p} R_{m n p q};
\\(\\displaystyle{}\text{Attached property TableauSymmetry to }R_{m n p q}.\\)
\\(\\displaystyle{}\text{Attached property AntiSymmetric to }A^{m n p}.\\)
\\(\\displaystyle{}A^{m n p} R_{m n p q}\\)
young_project_tensor(_, modulo_monoterm=True);
\\(\\displaystyle{}A^{m n p} \left(\frac{2}{3}R_{m n p q} - \frac{1}{3}R_{m q n p}+\frac{1}{3}R_{m p n q}\right)\\)
\\(\\displaystyle{}\frac{2}{3}A^{m n p} R_{m n p q} - \frac{1}{3}A^{m n p} R_{m q n p}+\frac{1}{3}A^{m n p} R_{m p n q}\\)
Copyright © 2001-2017 Kasper Peeters