Pulse-level noisy quantum circuits with QuTiP
arXiv:2105.09902 · doi:10.22331/q-2022-01-24-630
Abstract
The study of the impact of noise on quantum circuits is especially relevant to guide the progress of Noisy Intermediate-Scale Quantum (NISQ) computing. In this paper, we address the pulse-level simulation of noisy quantum circuits with the Quantum Toolbox in Python (QuTiP). We introduce new tools in qutip-qip, QuTiP's quantum information processing package. These tools simulate quantum circuits at the pulse level, leveraging QuTiP's quantum dynamics solvers and control optimization features. We show how quantum circuits can be compiled on simulated processors, with control pulses acting on a target Hamiltonian that describes the unitary evolution of the physical qubits. Various types of noise can be introduced based on the physical model, e.g., by simulating the Lindblad density-matrix dynamics or Monte Carlo quantum trajectories. In particular, the user can define environment-induced decoherence at the processor level and include noise simulation at the level of control pulses. We illustrate how the Deutsch-Jozsa algorithm is compiled and executed on a superconducting-qubit-based processor, on a spin-chain-based processor and using control optimization algorithms. We also show how to easily reproduce experimental results on cross-talk noise in an ion-based processor, and how a Ramsey experiment can be modeled with Lindblad dynamics. Finally, we illustrate how to integrate these features with other software frameworks.
29 pages, 8 figures, revised manuscript, with section 4 restructured and a QFT example added, code is available at https://github.com/qutip/qutip-qip
References in corpus (13)
- Array Programming with NumPy
- QuTiP 2: A Python framework for the dynamics of open quantum systems
- Microwave photonics with superconducting quantum circuits
- Resource-Aware Quantum Programming with General Recursion and Quantum Control
- Quantum Circuit Simplification and Level Compaction
- OpenQASM 3: A broader and deeper quantum assembly language
- Concrete Categorical Model of a Quantum Circuit Description Language with Measurement
- Open source software in quantum computing
- ScaffCC: Scalable Compilation and Analysis of Quantum Programs
- Scqubits: a Python package for superconducting qubits
- Quantum circuit optimization with deep reinforcement learning
- Pulser: An open-source package for the design of pulse sequences in programmable neutral-atom arrays
- Optimal training of variational quantum algorithms without barren plateaus
Cited by in corpus (14)
- Nonadiabatic Landau-Zener-Stückelberg-Majorana transitions, dynamics, and interference
- MQT Bench: Benchmarking Software and Design Automation Tools for Quantum Computing
- Experimental high-dimensional Greenberger-Horne-Zeilinger entanglement with superconducting transmon qutrits
- Scalable High-Performance Fluxonium Quantum Processor
- Pulser: An open-source package for the design of pulse sequences in programmable neutral-atom arrays
- Dynamics with autoregressive neural quantum states: application to critical quench dynamics
- A quantum-classical decomposition of Gaussian quantum environments: a stochastic pseudomode model
- Pulse based Variational Quantum Optimal Control for hybrid quantum computing
- Steering-enhanced quantum metrology using superpositions of noisy phase shifts
- Model predictive control for robust quantum state preparation
- qopt: An experiment-oriented Qubit Simulation and Quantum Optimal Control Package
- Robust quantum control with disorder-dressed evolution
- Quantum optimal control in quantum technologies. Strategic report on current status, visions and goals for research in Europe
- Software tool-set for automated quantum system identification and device bring up