qoolqit.drive
drive
Classes:
-
DetuningMapModulator–A weighted detuning for the Detuning Map Modulator (DMM).
-
Drive–The drive Hamiltonian acting over a duration.
DetuningMapModulator(waveform: Waveform, weights: dict[Any, float])
dataclass
A weighted detuning for the Detuning Map Modulator (DMM).
Parameters:
-
(waveformWaveform) –The waveform for this detuning. Must be negative for all times.
-
(weightsdict[Any, float]) –A dictionary associating detuning weights to qubits. Each weight must be in [0, 1], where 0 means that the waveform is ignored for this qubit and 1 means that the waveform is fully applied to this qubit.
See https://docs.pasqal.com/pulser/tutorials/dmm/ for details on DMM.
Drive(*, amplitude: Waveform, detuning: Waveform | None = None, dmm: DetuningMapModulator | None = None, phase: float = 0.0)
The drive Hamiltonian acting over a duration.
The Drive specifies the control parameters for the time-dependent drive Hamiltonian in the Rydberg model (see https://docs.pasqal.com/qoolqit/get_started/qoolqit_model/ for details),
H_drive(t) = Σᵢ [Ω(t)/2 (cos φ(t) σˣᵢ - sin φ(t) σʸᵢ)] - Σᵢ [δ(t) + εᵢ Δ(t)] nᵢ
representing: - Amplitude Ω(t): Controls the Rabi frequency that drives qubits. - Detuning δ(t): Controls the energy offset of the Rydberg state. - dmm εᵢ, Δ(t): Detuning Map Modulator (DMM) for additional qubit-specific detunings. - Phase φ: Global phase applied to the amplitude term.
Parameters:
-
(amplitudeWaveform) –Time-dependent amplitude waveform Ω(t) representing the Rabi frequency. Controls the strength of the coupling between ground and Rydberg states. Must be positive for all times.
-
(detuningWaveform | None, default:None) –Time-dependent detuning waveform δ(t) representing the energy offset of the Rydberg state relative to resonance. If None, defaults to zero detuning (Delay waveform) for the duration of the amplitude.
-
(dmmDetuningMapModulator | None, default:None) –DetuningMapModulator instance for additional negative detuning waveform Δ(t) ≤ 0 applied to individual qubits as specified by its
weightsattribute εᵢ. -
(phasefloat, default:0.0) –Global phase φ applied to the amplitude term in the Hamiltonian. Defaults to 0.0 (no phase).
Raises:
-
TypeError–If amplitude or detuning are not Waveform instances.
-
ValueError–If the amplitude waveform has negative values.
Note
- All arguments must be passed as keyword arguments.
- If amplitude and detuning have different durations, the shorter one is automatically extended with a Delay to match the longer duration.
- DetuningMapModulator waveform must be negative for all times (≤ 0) as it represents energy shifts below the resonance.
Example
from qoolqit import Drive from qoolqit.waveforms import Constant, Ramp
Simple constant drive
drive = Drive(amplitude=Constant(10.0, 1.5))
Drive with time-varying amplitude and detuning
amp = Ramp(5.0, 0.0, 2.0) det = Constant(5.0, -1.0) drive = Drive(amplitude=amp, detuning=det, phase=0.5)
- API reference
Attributes:
-
amplitude(Waveform) –The amplitude waveform in the drive.
-
detuning(Waveform) –The detuning waveform in the drive.
-
dmm(DetuningMapModulator | None) –Detuning Map Modulator (DMM) applied to individual qubits.
-
phase(float) –The phase value in the drive.
Source code in qoolqit/drive.py
amplitude: Waveform
property
The amplitude waveform in the drive.
detuning: Waveform
property
The detuning waveform in the drive.
dmm: DetuningMapModulator | None
property
Detuning Map Modulator (DMM) applied to individual qubits.
phase: float
property
The phase value in the drive.