hamil_clever_sim.evolve_pauliยง

Pauli Evolution operator module. This module provides the circuits needed to implement the process of time-evolving Pauli operators. For a given Pauli string, we want a circuit that implements

\[\begin{split}\ket{\psi_t} = U\ket{\psi_0}\\\text{where }U = exp(-iHt)\end{split}\]

Functions

evolve_pauli

Implements U for $ket{psi_t} = Uket{psi_0}$ for a single term pauli

full_decomp

Represents a full simulation for a pauli string.

get_qiskit_dual_rots

Similarly to get_qiskit_single_rots, there are some methods that exist for rotating around a two bit pauli.

get_qiskit_single_rots

Generates single pauli-bit rotations.

prepare_pauli_chains

For each term of the pauli, we need to CNOT each to the last term of the pauli operator.

prepare_pauli_clifford

X or Y pauli terms need a hadamard or sdg+hadamard respectively, before being CNOT'd to the Z rotation.