Welcome to qiskit-waveform-sim’s documentation!
qiskit-waveform-sim is a zero-bloat Classical Control Waveform Simulator & Interactive Pulse Sheet Viewer for Qiskit 2.0+.
It bridges the post-Pulse waveform gap created by Qiskit 2.0-2.5’s architectural overhaul, providing:
Lazy Windowed Evaluation: \(O(W)\) memory for snippet extraction, independent of total circuit depth
Exact Virtual-Z Frame Tracking: Per-qubit phase accumulation propagated to drive and cross-resonance channels
Analytical Envelope Synthesis: DRAG (with leakage suppression), GaussianSquare (flat-top with pedestal correction)
Fractional Gate Support: Continuous parametric amplitude/duration scaling for \(R_X(\theta)\), \(R_{ZZ}(\theta)\)
BoxOp & Annotation Native: Custom
PulseEnvelopeAnnotationwith OpenQASM 3 & QPY serializationInteractive Visualization: Plotly-based Pulse Sheet + synchronized I/Q Oscilloscope
LabOne Q Compatible Architecture:
OutputSimulator.get_snippet()-style API
Note
Analytical Envelope Philosophy: qiskit-waveform-sim is designed for offline, deterministic control simulation. Rather than querying cloud-based calibration databases over the network, it synthesizes standardized, idealized physical pulse envelopes (such as DRAG with derivative leakage suppression and GaussianSquare with flat-top rise/fall pedestal corrections) derived directly from circuit gate names, parameters, and modern Target instruction durations.
Getting Started
Tutorials
API Reference
Additional Resources