ffsim.HopGateAnsatzOperator

class ffsim.HopGateAnsatzOperator(norb, interaction_pairs, thetas, final_orbital_rotation=None)[source]

Bases: SupportsApplyUnitary, SupportsApproximateEquality

A hop gate ansatz operator.

The hop gate ansatz consists of a sequence of hop gates.

Note that this ansatz does not implement any interactions between spin alpha and spin beta orbitals. It was designed to be used with entanglement forging (see the references).

norb

The number of spatial orbitals.

Type:

int

interaction_pairs

The orbital pairs to apply the hop gates to.

Type:

list[tuple[int, int]]

thetas

The rotation angles for the hop gates.

Type:

np.ndarray

final_orbital_rotation

An optional final orbital rotation to append to the ansatz, used to optimize the orbital basis.

Type:

np.ndarray

References

Methods

from_parameters(params, norb, interaction_pairs)

Initialize the operator from a real-valued parameter vector.

to_parameters()

Convert the operator to a real-valued parameter vector.

Attributes