Skip to main content

Module contract

Module contract 

Source
Expand description

Multi-tensor contraction with optimal contraction order.

This module provides functions to contract multiple tensors efficiently using einsum optimization via the tensorbackend (tenferro-backed implementation).

This module works with concrete types (DynIndex, TensorDynLen) only.

§Main Functions

§Diag Tensor Handling

Diagonal tensors are materialized as dense native operands for contraction, so numeric einsum labels must keep uncontracted logical axes distinct. Diagonal/structured equality metadata is propagated separately onto the result when the contraction leaves equal axes behind.

Structs§

AxisUnionFind
Union-Find data structure for grouping axis IDs.
ContractionOptions
Options for multi-tensor contraction.
PairwiseContractionOptions
Options for pairwise tensor contraction.

Functions§

build_diag_union
Build a union-find structure from a collection of tensors.
collect_sizes
Collect dimension sizes for remapped IDs.
contract
Contract a connected tensor network with the default semantics.
contract_owned
Contract owned tensors with the default connected-network semantics.
contract_owned_with_options
Contract owned tensors with advanced connected-network options.
contract_pair
Contract two tensors with the default pairwise semantics.
contract_pair_with_operand_options
Contract two tensors with operand-level conjugation options.
contract_pair_with_options
Contract two tensors with explicit contraction options.
contract_with_options
Contract a connected tensor network with advanced options.
outer_product
Compute the outer product of two tensors.
print_and_reset_contract_profile
Print and clear the aggregated multi-tensor contraction profile.
remap_output_ids
Remap output IDs using the union-find structure.
remap_tensor_ids
Remap tensor indices using the union-find structure.
reset_contract_profile
Reset the aggregated multi-tensor contraction profile.
tensordot
Contract two tensors along explicitly specified index pairs.