differential_geometry.symbolic.compute_tensor_gradient#
- differential_geometry.symbolic.compute_tensor_gradient(tensor: MutableDenseNDimArray | ImmutableDenseNDimArray | ImmutableDenseMatrix | MutableDenseMatrix, coordinate_axes: Sequence[Symbol], basis: Literal['unit', 'covariant', 'contravariant'] = 'covariant', inverse_metric: ImmutableDenseMatrix | MutableDenseMatrix | ImmutableDenseNDimArray | MutableDenseNDimArray | None = None) MutableDenseNDimArray | ImmutableDenseNDimArray | ImmutableDenseMatrix | MutableDenseMatrix [source]#
Compute the gradient of a symbolic tensor field with arbitrary rank.
This generalizes the scalar gradient to compute \(\partial_mu T^{\ldots}_{\ldots}\) for each component, returning a new tensor of shape
(n, *tensor.shape)
, where n is the number of coordinates.- Parameters:
tensor (
sympy.Array
) – The input symbolic tensor field.coordinate_axes (
list
ofsympy.Symbol
) – Coordinate variables.basis (
'covariant'
or'contravariant'
) – Whether to compute ∂_μ or ∇^μ.inverse_metric (
sympy.Matrix
orArray
) – Required if basis is ‘contravariant’.
- Returns:
The symbolic gradient tensor with an added leading index.
- Return type:
sympy.Array