PUCCSD#
- class PUCCSD(num_spatial_orbitals=None, num_particles=None, qubit_mapper=None, *, reps=1, initial_state=None)[source]#
Bases:
UCC
The spin-adapted paired-UCC Ansatz.
This ansatz (by default) contains paired single and double excitations. This ensures that not only the number of particles but also the spin is preserved. [1]
Note, that this ansatz will produce a generalized operator pool (
generalized=True
).This is a convenience subclass of the UCC ansatz. For more information refer to
UCC
.References
[1] arXiv:2207.00085
- Parameters:
num_spatial_orbitals (int | None) – The number of spatial orbitals.
num_particles (tuple[int, int] | None) – The tuple of the number of alpha- and beta-spin particles.
qubit_mapper (QubitMapper | None) – The
QubitMapper
instance which takes care of mapping to a qubit operator.reps (int) – The number of times to repeat the evolved operators.
initial_state (QuantumCircuit | None) – A
QuantumCircuit
object to prepend to the circuit.
Attributes
Methods
- generate_excitations(num_spatial_orbitals, num_particles)[source]#
Generates the excitations for the PUCCSD Ansatz.
- Parameters:
- Returns:
The list of excitations encoded as tuples of tuples. Each tuple in the list is a pair of tuples. The first tuple contains the occupied spin orbital indices whereas the second one contains the indices of the unoccupied spin orbitals.
- Return type: