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 of sympy.Symbol) – Coordinate variables.

  • basis ('covariant' or 'contravariant') – Whether to compute ∂_μ or ∇^μ.

  • inverse_metric (sympy.Matrix or Array) – Required if basis is ‘contravariant’.

Returns:

The symbolic gradient tensor with an added leading index.

Return type:

sympy.Array