CHC

class CHC(num_qubits=None, excitations=None, *, reps=1, ladder=False, initial_state=None)[source]

Bases: BlueprintCircuit

This trial wavefunction is the Compact Heuristic for vibrational Chemistry.

The trial wavefunction is as defined in Ollitrault Pauline J., Chemical science 11 (2020): 6842-6855. It aims at approximating the UCC Ansatz for a lower CNOT count.

Note

It is not particle number conserving and the accuracy of the approximation decreases with the number of excitations.

Parameters:
  • num_qubits (int | None) – The number of qubits.

  • excitations (list[tuple[tuple[Any, ...], ...]] | None) – 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.

  • reps (int) – The number of repetitions of basic module.

  • ladder (bool) – Boolean flag whether or not to use ladder of CNOTs between to indices in the entangling block.

  • initial_state (QuantumCircuit | None) – An initial state to prepend to the ansatz.

Attributes

excitations

The excitation indices to be included in the circuit.

initial_state

The initial state.

num_qubits

Number of qubits of the ansatz.

Returns:

An integer indicating the number of qubits.

Return type:

int

name: str

A human-readable name for the circuit.

Example

from qiskit import QuantumCircuit

qc = QuantumCircuit(2, 2, name="my_circuit")
print(qc.name)

(Source code)

my_circuit

Methods