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
orsympy.Array
) – The metric tensor for lowering.inverse_metric (
sympy.Matrix
orsympy.Array
) – The inverse metric tensor for raising.
- Return type:
The adjusted tensor with the desired index signature.