differential_geometry.symbolic.adjust_tensor_signature#

differential_geometry.symbolic.adjust_tensor_signature(tensor: MutableDenseNDimArray | ImmutableDenseNDimArray | ImmutableDenseMatrix | MutableDenseMatrix, variance_in: Sequence[int], variance_out: Sequence[int], metric: ImmutableDenseMatrix | MutableDenseMatrix | ImmutableDenseNDimArray | MutableDenseNDimArray, inverse_metric: ImmutableDenseMatrix | MutableDenseMatrix | ImmutableDenseNDimArray | MutableDenseNDimArray) MutableDenseNDimArray | ImmutableDenseNDimArray | ImmutableDenseMatrix | MutableDenseMatrix[source]#

Adjust the variance signature of a symbolic tensor by raising or lowering indices as needed.

Parameters:
  • tensor (sympy.tensor.array.Array) – The input symbolic tensor.

  • variance_in (Sequence[int]) – The current variance of the tensor indices (1 = contravariant, -1 = covariant).

  • variance_out (Sequence[int]) – The desired target variance of the tensor.

  • metric (sympy.Matrix or sympy.Array) – The metric tensor for lowering.

  • inverse_metric (sympy.Matrix or sympy.Array) – The inverse metric tensor for raising.

Return type:

The adjusted tensor with the desired index signature.