Custom Ansatz
- slowquant.qiskit_interface.custom_ansatz.ErikD_JW()
UCCD(2,2) circuit for JW.
Gate count, cx: 3, u: 3
┌──────────┐ ┌───┐ q_0: ┤ Ry(2*p1) ├──■────■────■──┤ X ├ └──────────┘┌─┴─┐ │ │ └───┘ q_1: ────────────┤ X ├──┼────┼─────── ┌───┐ └───┘┌─┴─┐ │ q_2: ───┤ X ├─────────┤ X ├──┼─────── └───┘ └───┘┌─┴─┐ q_3: ──────────────────────┤ X ├───── └───┘
- slowquant.qiskit_interface.custom_ansatz.ErikD_Parity()
UCCD(2,2) circuit for Parity.
Gate count, cx: 1, u: 2
┌──────────┐ ┌───┐ q_0: ┤ Ry(2*p1) ├──■──┤ X ├ └──────────┘┌─┴─┐└───┘ q_1: ────────────┤ X ├───── └───┘
- slowquant.qiskit_interface.custom_ansatz.ErikSD_JW()
UCCSD(2,2) circuit for JW.
Gate count, cx: 8, u: 7
┌──────────────┐ ┌───┐┌───┐ q_0: ┤ Ry(2*p1 + π) ├────────■─────────┤ X ├┤ X ├──■───────────────────■─────── └──────────────┘ │ └───┘└─┬─┘┌─┴─┐ │ ┌───┐ q_1: ────────────────────────┼────────────────┼──┤ X ├──■─────────■────┼──┤ X ├ ┌───────┴────────┐┌───┐ │ └───┘┌─┴─┐ │ ┌─┴─┐└───┘ q_2: ────────────────┤ Ry(2*p2 - π/2) ├┤ H ├──■───────┤ X ├──■────┼──┤ X ├───── └────────────────┘└───┘ └───┘┌─┴─┐┌─┴─┐├───┤ q_3: ──────────────────────────────────────────────────────┤ X ├┤ X ├┤ X ├───── └───┘└───┘└───┘
- slowquant.qiskit_interface.custom_ansatz.ErikSD_Parity()
UCCSD(2,2) circuit for Parity.
Gate count, cx: 3, u: 4
┌──────────────┐ ┌───┐ q_0: ┤ Ry(2*p1 + π) ├────────■──────────────┤ X ├ └──────────────┘┌───────┴────────┐┌───┐└─┬─┘ q_1: ────────────────┤ Ry(π/2 - 2*p2) ├┤ H ├──■── └────────────────┘└───┘
- slowquant.qiskit_interface.custom_ansatz.tUPS(num_orbs: int, num_elec: tuple[int, int], mapper: FermionicMapper, ansatz_options: dict[str, Any]) tuple[QuantumCircuit, dict[str, int]]
tUPS ansatz.
10.48550/arXiv.2312.09761
- Ansatz Options:
n_layers [int]: Number of layers.
do_pp [bool]: Do perfect pairing.
- Parameters:
num_orbs – Number of spatial orbitals.
num_elec – Number of alpha and beta electrons.
ansatz_options – Ansatz options.
- Returns:
tUPS ansatz circuit and R parameters needed for gradients.