qdk_chemistry.algorithms.controlled_circuit_mapper.controlled_pauli_sequence_mapper module

QDK/Chemistry sequence structure controlled circuit mapper.

class qdk_chemistry.algorithms.controlled_circuit_mapper.controlled_pauli_sequence_mapper.ControlledPauliSequenceMapper[source]

Bases: ControlledCircuitMapper

Controlled evolution circuit mapper using Pauli product formula term sequences.

Given a time-evolution operator expressed as a Pauli product formula \(U(t) \approx \left[ U_{\mathrm{step}}(t / r) \right]^{r}\), this mapper constructs a controlled version of \(U(t)\) using the following pattern:

  1. Each Pauli operator \(P_j\) is basis-rotated into the \(Z\) basis.

  2. Qubits involved in \(P_j\) are entangled into a sequence using CNOT gates.

  3. A controlled \(R_z\) rotation implements

    \(e^{-i\,\theta_j\,P_j} \;\rightarrow\; \text{CRZ}(2 \theta_j)\).

  4. The basis rotations and entangling operations are uncomputed.

Notes

  • Currently supports only single-control-qubit scenarios.

  • Requires a PauliProductFormulaContainer for the time evolution unitary.

__init__()[source]

Initialize the PauliSequenceMapper.

name()[source]

Return the algorithm name.

Return type:

str

type_name()[source]

Return controlled_circuit_mapper as the algorithm type name.

Return type:

str