Operator Circuits

slowquant.qiskit_interface.operators_circuits.tups_double(p: int, num_orbs: int, qc: QuantumCircuit, theta: Parameter) QuantumCircuit

Spin-adapted pair double excitation as used in the tUPS ansatz.

Exact implementation of,

\[\boldsymbol{U} = \exp\left(\frac{\theta}{2}\hat{\kappa}_{p,p+1}\right)\]

With, \(\hat{\kappa}_{p,p+1}=\hat{E}_{p,p+1}^2-\hat{E}_{p+1,p}^2\)

                    ┌─────────────┐     ┌─────────┐     ┌─────────────┐     »
q_0: ──■─────────■──┤ Ry(-0.25*θ) ├──■──┤ Ry(θ/4) ├──■──┤ Ry(-0.25*θ) ├──■──»
       │       ┌─┴─┐└────┬───┬────┘  │  └─────────┘  │  └─────────────┘  │  »
q_1: ──┼────■──┤ X ├─────┤ H ├───────┼───────────────┼───────────────────┼──»
     ┌─┴─┐  │  ├───┤     ├───┤     ┌─┴─┐             │                 ┌─┴─┐»
q_2: ┤ X ├──┼──┤ X ├─────┤ H ├─────┤ X ├─────────────┼─────────────────┤ X ├»
     └───┘┌─┴─┐├───┤     ├───┤     └───┘           ┌─┴─┐               └───┘»
q_3: ─────┤ X ├┤ X ├─────┤ H ├─────────────────────┤ X ├────────────────────»
          └───┘└───┘     └───┘                     └───┘                    »
«     ┌─────────┐     ┌─────────────┐     ┌─────────┐               »
«q_0: ┤ Ry(θ/4) ├──■──┤ Ry(-0.25*θ) ├──■──┤ Ry(θ/4) ├────────────■──»
«     └─────────┘┌─┴─┐└────┬───┬────┘  │  ├─────────┤┌────────┐  │  »
«q_1: ───────────┤ X ├─────┤ H ├───────┼──┤ Ry(π/2) ├┤ P(π/2) ├──┼──»
«                └───┘     └───┘     ┌─┴─┐└─────────┘└────────┘  │  »
«q_2: ───────────────────────────────┤ X ├───────────────────────┼──»
«                                    └───┘                     ┌─┴─┐»
«q_3: ─────────────────────────────────────────────────────────┤ X ├»
«                                                              └───┘»
«     ┌─────────────┐     ┌─────────┐      ┌────────┐
«q_0: ┤ Ry(-0.25*θ) ├──■──┤ Ry(θ/4) ├──■───┤ P(π/2) ├──────────────■───────
«     └─────────────┘  │  └─────────┘┌─┴─┐┌┴────────┤┌──────────┐  │
«q_1: ─────────────────┼─────────────┤ X ├┤ P(-π/2) ├┤ Ry(-π/2) ├──┼────■──
«                    ┌─┴─┐   ┌───┐   ├───┤└─────────┘└──────────┘┌─┴─┐  │
«q_2: ───────────────┤ X ├───┤ H ├───┤ X ├───────────────────────┤ X ├──┼──
«          ┌───┐     ├───┤   └───┘   └───┘                       └───┘┌─┴─┐
«q_3: ─────┤ H ├─────┤ X ├────────────────────────────────────────────┤ X ├
«          └───┘     └───┘                                            └───┘
  1. 10.48550/arXiv.2312.09761

  2. 10.1103/PhysRevA.102.062612, Fig. 7

  3. 10.1038/s42005-021-00730-0, Fig. 2

Parameters:
  • p – Occupied spatial index.

  • num_orbs – Number of spatial orbitals.

  • qc – Quantum circuit.

  • theta – Circuit parameter.

Returns:

Modified quantum circuit.

slowquant.qiskit_interface.operators_circuits.tups_single(p: int, num_orbs: int, qc: QuantumCircuit, theta: Parameter) QuantumCircuit

Spin-adapted single excitation as used in the tUPS ansatz.

Exact implementation of,

\[\boldsymbol{U} = \exp\left(\theta\hat{\kappa}_{p,p+1}\right)\]

With, \(\hat{\kappa}_{p,p+1}=\hat{E}_{p,p+1}-\hat{E}_{p+1,p}\)

  1. 10.48550/arXiv.2312.09761

  2. 10.1038/s42005-021-00730-0, Fig. 1

Parameters:
  • p – Occupied spatial index.

  • num_orbs – Number of spatial orbitals.

  • qc – Quantum circuit.

  • theta – Circuit parameter.

Returns:

Modified quantum circuit.