sympy/sympy — pull request #1700 by pernici (2012-12-20 22:35:03+00:00)
Title: Tensor expression with canonicalization: part1

It is implemented a tensor class with monoterm canonicalization
and algebraic operations on tensors.

As an application,
check of identities involving the cyclic symmetry of the Riemann tensor

```
>>> from sympy.tensor.tensor import TensorIndexType, tensor_indices, TensorS
>>> Lorentz = TensorIndexType('Lorentz', dummy_fmt='L')
>>> i, j, k, l = tensor_indices('i,j,k,l', Lorentz)
>>> symr = TensorSymmetry(riemann_bsgs)
>>> R4 = TensorType([Lorentz]*4, symr)
>>> R = R4('R')
>>> t = R(i,j,k,l)*(R(-i,-j,-k,-l) - 2*R(-i,-k,-j,-l))
>>> riemann_cyclic(t)
0
```