SolveTensors

SolveTensors[expr]
attempts to solve the system expr of tensorial equations for all tensors in expr.
SolveTensors[expr, tens]
attempts to solve the system expr of tensorial equations for the tensors tens.
  • SolveTensors accepts patterns in the second argument.
  • SolveTensors solves tensorial equations for any (product of) tensor(s) that is not contracted with another tensor.
  • SolveTensors does not take contractions of the equations into account.
  • SolveTensors usually does not return the most general solution of the system of tensorial equations. It should more be seen as an easy way to generate proper tensor replacement rules.
  • The following options can be given:
MakeRuleTruewhether to make proper tensor replacement rules out of the solutions
SortMethodSortdetermines which tensors get solved first
BreakInMonomialsTruewhether to treat products of tensors as single variables (False) or as products of variables (True)
  • If the option MakeRule is True, further options given to SolveTensors are passed to the function MakeRule (such as UseSymmetries, MetricOn, PatternIndices, etc).
The second argument accepts patterns:
By default, solutions are converted to proper tensorial rules via an internal call to the function MakeRule:
This can disabled by setting the option MakeRule to False:
When proper tensorial rules are enabled, any additional options are passed to the MakeRule function:
By default, SolveTensors treats all monomials in the expression as variables to solve for.
Alternatively, SolveTensors can also treat products of monomials as variables to solve for:
The option SortMethod controls in what ordering the tensorial variables to solve for are send to the internal Solve function call. Depending on the exact form of the equation (and on the version of Mathematica) this may change which variables are solved first.