fields.utils.utilities.validate_rank_signature#

fields.utils.utilities.validate_rank_signature(rank: int, signature: SignatureInput | None = None) Signature[source]#

Validate that a tensor signature is consistent with a given tensor rank. If it is not provided, create a fully contravariant signature.

Parameters:
  • rank (int) – The rank of the tensor (i.e., number of element-wise dimensions).

  • signature (int or list of int, optional) –

    A sequence of values indicating index variance:

    • 1 for contravariant (upper index)

    • -1 for covariant (lower index)

Returns:

The corrected / standardized tensor signature.

Return type:

tuple of int

Raises:

ValueError – If the signature length does not match the rank, or if any value in the signature is not -1 or 1.