SplitIndex

SplitIndex[expr, splitrules] returns an array whose elements are expr with certain indices replaced by the splitrules.

• A splitrule must be of the form index -> IndexList[i1, i2, ...], meaning that index is to be replaced by i1, i2, ... respectively in each of the terms of the array.
• The splitting is performed even if the index is not present in the expression (in such a case we would get just a number of copies of the original expression).
• A list of splitrules gives a multidimensional array, with rank equal to the number of splitrules.
• It is possible to give a compacted form IndexList[index1, index2, ...] -> IndexList[i1, i2, ...], where each of the indices indexi, is to be splitted as IndexList[i1, i2, ...].
• Splitting is an operation for free indices. It can be also done on blocked indices, even if that does not make much sense mathematically. But it can never give sensible results on dummy indices. Use the function TraceDummy to trace dummy pairs.
• This function is essentially based on ReplaceIndex. It is highly efficient because it uses ReplaceIndex only once and then the rest of the replacement are performed with ReplaceAll..
• See: Section 2.9.
• New in version 0.
• Last update: 2-XI-2007 for version 0.9.3 of xTensor`.

Further Examples


Created by Mathematica  (May 16, 2008) Valid XHTML 1.1!