qdk_chemistry.algorithms.circuit_mapper.pauli_sequence_mapper module

QDK/Chemistry sequence structure evolution circuit mapper.

class qdk_chemistry.algorithms.circuit_mapper.pauli_sequence_mapper.PauliSequenceMapper[source]

Bases: CircuitMapper

Circuit mapper using Pauli product formula term sequences.

Given a unitary expressed as a Pauli product formula \(U \approx \left[ \prod_j e^{-i\theta_j P_j} \right]^{r}\), this mapper constructs a circuit for \(U\) 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 \(R_z\) rotation implements

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

  4. The basis rotations and entangling operations are uncomputed.

Notes

  • Requires a PauliProductFormulaContainer for the unitary representation.

__init__()[source]

Initialize the PauliSequenceMapper.

name()[source]

Return the algorithm name.

Return type:

str

type_name()[source]

Return circuit_mapper as the algorithm type name.

Return type:

str

class qdk_chemistry.algorithms.circuit_mapper.pauli_sequence_mapper.PauliSequenceMapperSettings[source]

Bases: Settings

Settings for PauliSequenceMapper.

__init__()[source]

Initialize PauliSequenceMapperSettings with default values.