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.


[1] arXiv:2207.00085

  • 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.



generate_excitations(num_spatial_orbitals, num_particles)[source]#

Generates the excitations for the PUCCSD Ansatz.

  • num_spatial_orbitals (int) -- the number of spatial orbitals.

  • num_particles (tuple[int, int]) -- the number of alpha and beta electrons. Note, these must be identical for

  • class. (this) --


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.

রিটার্ন টাইপ:

list[tuple[tuple[int, ...], tuple[int, ...]]]