qdk_chemistry.algorithms.time_evolution.controlled_circuit_mapper package
QDK/Chemistry controlled time evolution circuit mapper module.
- class qdk_chemistry.algorithms.time_evolution.controlled_circuit_mapper.ControlledEvolutionCircuitMapperFactory
Bases:
AlgorithmFactoryFactory class for creating ControlledEvolutionCircuitMapper instances.
- algorithm_type_name()
Return controlled_evolution_circuit_mapper as the algorithm type name.
- Return type:
- class qdk_chemistry.algorithms.time_evolution.controlled_circuit_mapper.PauliSequenceMapper(power=1)
Bases:
ControlledEvolutionCircuitMapperControlled 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:
Each Pauli operator \(P_j\) is basis-rotated into the \(Z\) basis.
Qubits involved in \(P_j\) are entangled into a sequence using CNOT gates.
- A controlled \(R_z\) rotation implements
\(e^{-i\,\theta_j\,P_j} \;\rightarrow\; \text{CRZ}(2 \theta_j)\).
The basis rotations and entangling operations are uncomputed.
The process repeats for all terms in \(U_{\mathrm{step}}\), for \(r\) step repetitions, and for the specified power.
Notes
Currently supports only single-control-qubit scenarios.
Requires a
PauliProductFormulaContainerfor the time evolution unitary.
- Parameters:
power (int)
- class qdk_chemistry.algorithms.time_evolution.controlled_circuit_mapper.PauliSequenceMapperSettings
Bases:
SettingsSettings for PauliSequenceMapper.