tlquantum.tt_gates.Unitary

class tlquantum.tt_gates.Unitary(gates, nqubits, ncontraq, contrsets=None, device=None)[source]

A unitary for all qubits in a TTCircuit, using tensor ring tensors with PyTorch Autograd support. Can be defined with arbitrary gates or used as a base-class for set circuit types.

Parameters
gateslist of TT gate classes, each qubit in the unitary

to be involved in one gate.

nqubitsint, number of qubits
ncontraqint, number of qubits to do pre-contraction over

(simplifying contraciton path/using fewer indices)

contrsetslist of lists of ints, the indices of qubit cores to

merge in the pre-contraction path.

devicestring, device on which to run the computation.
Returns
Unitary

Methods

forward()

Prepares the tensors of Unitary for forward contraction by calling the gate instances' forward method and doing qubit-wise (horizonal) pre-contraction.

forward()[source]

Prepares the tensors of Unitary for forward contraction by calling the gate instances’ forward method and doing qubit-wise (horizonal) pre-contraction.

Returns
List of pre-contracted gate tensors for general forward pass.