Module: tensor#

Functionality for the Bloq.tensor_contract() protocol.

Classes#

class DiscardInd: Return DiscardInd in Bloq.my_tensors() to indicate an index should be discarded.

Functions#

active_space_for_ctrl_spec(...): Returns the “active” subspace corresponding to signature and ctrl_spec.

bloq_has_custom_tensors(...): Whether this bloq declares custom tensors by overriding .my_tensors(...).

bloq_to_dense(...): Return a contracted, dense ndarray representing the composite bloq.

bloq_to_dense_via_classical_action(...): Return a contracted, dense ndarray representing the bloq, using its classical action.

cbloq_to_quimb(...): Convert a composite bloq into a tensor network.

cbloq_to_superquimb(...): Convert a composite bloq into a superoperator tensor network.

eye_tensor_for_signature(...): Returns an identity tensor with shape tensor_shape_from_signature(signature)

flatten_for_tensor_contraction(...): Flatten a (composite) bloq as much as possible to enable efficient tensor contraction.

initialize_from_zero(...): Take bloq and compose it with initial zero states for each left register.

my_tensors_from_classical_action(...): Returns the quimb tensors for the bloq derived from its on_classical_vals method.

quimb_to_dense(...): Contract a quimb tensor network tn to a dense matrix consistent with signature.

tensor_data_from_unitary_and_signature(...): Returns tensor data respecting signature corresponding to unitary

tensor_out_inp_shape_from_signature(...): Returns a tuple for tensor data corresponding to signature.

tensor_shape_from_signature(...): Returns a tuple for tensor data corresponding to signature.