We present efficient algorithms for simplifying tensor expressions that obe
y generic symmetries. We define the canonical form of a single tensor and w
e show that the problem of finding the canonical form of a generic tensor e
xpression reduces to finding the canonical form of single tensors. Special
symmetries are considered in order to push the efficiency further. We also
present algorithms to address the cyclic symmetry of the Riemann tensor. Wi
th these algorithms it is possible to simplify generic Riemann tensor polyn
omials.