quri_parts.chem.ansatz package#

class AllSinglesDoubles(n_spin_orbitals, n_fermions)#

Bases: ImmutableLinearMappedUnboundParametricQuantumCircuit

Parametric quantum circuit consists of single excitation and double excitation.

Note that this circuit conserves the particle number and spins only if the state applied to is represented based on the Jordan-Wigner transformation.

Ref:

PennyLane’s documentations, qml.AllSinglesDoubles

Parameters:
  • n_spin_orbitals (int) – Number of spin orbitals.

  • n_fermions (int) – Number of fermions.

class GateFabric(n_spin_orbitals, n_layers, include_pi=False)#

Bases: ImmutableLinearMappedUnboundParametricQuantumCircuit

Parametric quantum circuit that conserves the number of particles. Note that this circuit conserves the particle number only if the state applied to is represented based on the Jordan-Wigner transformation.

Ref.

[1] Anselmetti et al., Local, expressive, quantum-number-preserving VQE ansätze for fermionic systems, 2021 New J. Phys. 23 113010, DOI 10.1088/1367-2630/ac2cb3

See also PennyLane’s documentations, qml.GateFabric

Parameters:
  • n_spin_orbitals (int) – Number of spin orbitals.

  • n_layers (int) – Number of layers \(D\).

  • include_pi (bool) – If True, the optional constant \(\hat{\Pi}=\textrm{QNP}_{\textrm{OR}}(\pi)\) gate is inserted. This option does not seem to affect the expressiveness of the quantum circuit, but setting True can be advantageous during gradient-based parameter optimization [1].

class ParticleConservingU1(n_spin_orbitals, n_layers)#

Bases: ImmutableLinearMappedUnboundParametricQuantumCircuit

Parametric quantum circuit that conserves the number of particles.

Note that this circuit conserves the particle number and spins only if the state applied to is represented based on the Jordan-Wigner transformation.

Ref.

P. Kl. Barkoutsos et al., Quantum algorithms for electronic structure calculations: particle/hole Hamiltonian and optimized wavefunction expansions, Phys. Rev. A 98, 022322

See also PennyLane’s documentations, qml.ParticleConservingU1

Parameters:
  • n_spin_orbitals (int) – Number of spin orbitals.

  • n_layers (int) – Number of layers \(D\).

class ParticleConservingU2(n_spin_orbitals, n_layers)#

Bases: ImmutableLinearMappedUnboundParametricQuantumCircuit

Parametric quantum circuit that conserves the number of particles. Note that this circuit conserves the particle number and spins only if the state applied to is represented based on the Jordan-Wigner transformation.

Ref.

P. Kl. Barkoutsos et al., Quantum algorithms for electronic structure calculations: particle/hole Hamiltonian and optimized wavefunction expansions, Phys. Rev. A 98, 022322

See also PennyLane’s documentations, qml.ParticleConservingU2

Parameters:
  • n_spin_orbitals (int) – Number of spin orbitals.

  • n_layers (int) – Number of layers \(D\).

Submodules#