User guides
Step-by-step how-to guides for the features in Boulder Opal
Set up basics
Monitor activity and retrieve results
Monitor job status and retrieve results from previously run calculations in Boulder Opal
Mute status messages during calculations
Change the verbosity of the messaging
Cite Boulder Opal
Cite relevant Boulder Opal articles and specific documentation pages
Calculate with graphs
Calculate and optimize with graphs
Create graphs for computations with Boulder Opal
Represent quantum systems using graphs
Represent quantum systems for optimization, simulation, and other tasks using graphs
Create analytical signals for simulation and optimization
Use predefined signals from the Boulder Opal toolkit
Define continuous analytical Hamiltonians
Use analytical expressions to construct your Hamiltonian
Perform optimization and simulation in the same calculation
Perform calculations using optimization results in a single graph
Reuse graph definitions in different calculations
Reapply graph nodes for multiple applications
Optimize controls using gradient-free optimization
Perform graph-based optimizations when gradients are costly
Design error-robust controls
Optimize controls in arbitrary quantum systems using graphs
Highly-configurable non-linear optimization framework for quantum control
Optimize controls with nonlinear dependences
Incorporate nonlinear Hamiltonian dependences on control signals
Optimize controls on large sparse Hamiltonians
Efficiently perform control optimization on sparse Hamiltonians
Create dephasing and amplitude robust single-qubit gates
Incorporate robustness into the design of optimal pulses
Create leakage-robust single-qubit gates
Design pulses that minimize leakage to unwanted states
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
Optimize Mølmer–Sørensen gates for a multitone global beam
Creating efficient gates for trapped ions without individually addressing the ions
Optimize controls robust to strong noise sources
Design controls that are robust against strong time-dependent noise sources with stochastic optimization
Tune optimization hyperparameters
Tune the parameters of an optimization
Defining parameters of the optimization using the cost history and early halt conditions
Tune the learning rate of a stochastic optimization
Configuring the stochastic optimizer by requesting the cost history from the optimization results
Optimize controls under constraints
Add smoothing and band-limits to optimized controls
Incorporate smoothing of optimized waveforms
Optimize controls with time symmetrization
Incorporate time symmetry into optimized waveforms
Find time-optimal controls
Optimizing over the duration of your controls
Optimize controls using a Fourier basis
Create optimized pulses using CRAB techniques
Optimize controls using a Hann series basis
Create optimized controls using Hann series basis functions
Optimize controls using user-defined basis functions
Create optimized controls using arbitrary basis functions
Characterize hardware
Perform noise spectroscopy on arbitrary noise channels
Reconstructing noise spectra using shaped control pulses
Perform parameter estimation with a small amount of data
Estimate Hamiltonian model parameters using measured data and the graph-based optimization engine
Perform parameter estimation with a large amount of data
Estimate Hamiltonian model parameters using measured data and the graph-based stochastic optimization engine
Characterize a transmission line using a qubit as a probe
Characterize transmission-line bandwidth via probe measurements and the graph-based optimization engine
Automate hardware with AI
Automate calibration of control hardware
Calibrate RF control channels for maximum pulse performance
Automate closed-loop hardware optimization
Closed-loop optimization without complete system models
Optimize controls starting from an incomplete system model
Design waveforms using a model-independent reinforcement learning framework
Simulate quantum dynamics
Simulate quantum dynamics for noiseless systems using graphs
Simulate the dynamics of closed quantum systems
Simulate quantum dynamics subject to noise with graphs
Simulate the dynamics of closed quantum systems in the presence of Non-Markovian noise
Simulate multi-qubit circuits in quantum computing
Evaluate the performance of multi-qubit circuits with and without noise
Simulate open system dynamics
Calculating the dynamics of a quantum system described by a GKS–Lindblad master equation
Simulate large open system dynamics
Calculate the dynamics of a high-dimensional quantum system described by a GKS–Lindblad master equation
Calculate system dynamics for arbitrary Mølmer–Sørensen gates
Calculate the Mølmer–Sørensen gate evolution characteristics for trapped ions
Verify performance
Evaluate control susceptibility to quasi-static noise
Characterize the robustness of a control pulse to quasi-static noise
Calculate and use filter functions for arbitrary controls
Calculate the frequency-domain noise sensitivity of driven controls
Integrate with other tools
Format and export control solutions for hardware implementation
Prepare optimized controls for hardware implementation
Use pulses from Open Controls
Use pulses from an open-source library in Boulder Opal calculations
Use QuTiP operators in graphs
Incorporate QuTiP objects and programming syntax directly into graphs
Integrate with QUA from Quantum Machines
Integrate Boulder Opal pulses directly into Quantum Machines hardware using the Q-CTRL QUA Python package
Manage automated closed-loop hardware optimization with M-LOOP
Use external data management package for simple closed-loop optimizations