User guides

Step-by-step how-to guides for the features in Boulder Opal.

Basics

How to monitor activity and retrieve results
Monitor job status and retrieve results from previously run calculations in Boulder Opal
How to represent quantum systems using graphs
Represent quantum systems for optimization, simulation, and other tasks using graphs
How to calculate and optimize with graphs
Create graphs for computations with the Q-CTRL Python package
How to format and export control solutions for hardware implementation
Prepare optimized controls for hardware implementation
How to import and use pulses from the Q-CTRL Open Controls library
Use pulses from an open-source library in Q-CTRL calculations
How to use QuTiP operators in graphs
Incorporate QuTiP objects and programming syntax directly into graphs
How to integrate Boulder Opal with QUA from Quantum Machines
Integrate Q-CTRL pulses directly into Quantum Machines hardware using the Q-CTRL Python QUA package

Control optimization

How to optimize controls in arbitrary quantum systems using graphs
Highly-configurable non-linear optimization framework for quantum control
How to tune the parameters of an optimization
Defining parameters of the optimization using the cost history and early halt conditions
How to optimize controls with time symmetrization
Incorporate time symmetry into optimized waveforms
How to add smoothing and band-limits to optimized controls
Incorporate smoothing of optimized waveforms
How to optimize controls with nonlinear dependences
Incorporate nonlinear Hamiltonian dependences on control signals
How to perform model-based optimization using a Fourier basis
Create optimized pulses using CRAB techniques
How to perform model-based optimization with user-defined basis functions
Create optimized controls using arbitrary basis functions
How to optimize controls on large sparse Hamiltonians
Efficiently perform control optimization on sparse Hamiltonians
How to optimize controls robust to strong noise sources
Design controls that are robust against strong time-dependent noise sources with stochastic optimization

Error-robust quantum logic

How to create dephasing and amplitude robust single-qubit gates
Incorporate robustness into the design of optimal pulses
How to create leakage-robust single-qubit gates
Design pulses that minimize leakage to unwanted states
How to optimize error-robust Mølmer–Sørensen gates for trapped ions
Efficient state preparation using Mølmer–Sørensen-type interactions with in-built convenience functions
How to calculate phase and motion dynamics for arbitrarily modulated Mølmer–Sørensen gates
Calculate the Mølmer–Sørensen gate evolution characteristics for trapped ions

Simulation

How to simulate quantum dynamics for noiseless systems using graphs
Simulate the dynamics of closed quantum systems
How to simulate quantum dynamics subject to noise with graphs
Simulate the dynamics of closed quantum systems in the presence of Non-Markovian noise
How to simulate multi-qubit circuits in quantum computing
Evaluate the performance of multi-qubit circuits with and without noise
How to simulate open system dynamics
Calculating the dynamics of a quantum system described by a GKS–Lindblad master equation
How to simulate large open system dynamics
Calculate the dynamics of a high-dimensional quantum system described by a GKS–Lindblad master equation

Performance evaluation

How to evaluate control susceptibility to quasi-static noise
Characterize the robustness of a control pulse to quasi-static noise
How to calculate and use filter functions for arbitrary controls
Calculate the frequency-domain noise sensitivity of driven controls

Hardware automation

How to automate calibration of control hardware
Calibrate RF control channels for maximum pulse performance
How to automate closed-loop hardware optimization
Closed-loop optimization without complete system models
How to manage automated closed-loop hardware optimization with M-LOOP
Use external data management package for simple closed-loop optimizations
How to optimize controls starting from an incomplete system model
Design waveforms using a model-independent reinforcement learning framework

Hardware characterization

How to perform noise spectroscopy on arbitrary noise channels
Reconstructing noise spectra using shaped control pulses
How to perform Hamiltonian parameter estimation using a small amount of measured data
Estimate Hamiltonian model parameters using measured data and the graph-based optimization engine
How to perform Hamiltonian parameter estimation using a large amount of measured data
Estimate Hamiltonian model parameters using measured data and the graph-based stochastic optimization engine
How to characterize the bandwidth of a transmission line using a qubit as a probe
Characterize transmission-line bandwidth via probe measurements and the graph-based optimization engine