Toolkit
Quantum control infrastructure software for R&D professionals building the future
Discover
Get background information on Boulder Opal and learn how to get started today
I'm ready to get going
Learn which documentation articles will get you up to speed with using Boulder Opal
Understand Boulder Opal fundamentals for quantum theorists
Get started with simulations and robust control optimization for theorists in Boulder Opal
Understand Boulder Opal fundamentals for quantum experimentalists
Get started with hardware characterization and closed-loop optimization for experimentalists in Boulder Opal
How to set up and install Boulder Opal
Get the accounts and development tools required to run Boulder Opal
How to use Boulder Opal documentation
Understand how to use the different types of Boulder Opal documentation
Get an overview of Boulder Opal's functionality and applications
An introduction to the capabilities and benefits of Boulder Opal
Use Boulder Opal for quantum computing
An introduction to the application of Boulder Opal for key tasks in quantum computing
Use Boulder Opal for quantum sensing
An introduction to the application of Boulder Opal for augmenting the performance of quantum sensors in real environments
Discover Boulder Opal workflows for research
Understand how and when to integrate Boulder Opal into your research: for theorists or experimentalists, new hardware, or established systems
Compare control-design (optimization) strategies in Boulder Opal
An overview of choices and tradeoffs in control design for your quantum system
Compare Boulder Opal performance against competitive products
Evaluating Boulder Opal performance across multiple benchmarks
How to cite Boulder Opal
Cite relevant Boulder Opal articles and specific documentation pages
Visualize data using the Q-CTRL Visualizer
An introduction to the purpose and functionality of the Q-CTRL Visualizer
How to authenticate using an API key
Authenticate your Boulder Opal session without a browser
How to manage and monitor your calculations
Learn how to submit, cancel, and track the progress of your calculations
Understand computational resources in Boulder Opal
Understanding the Boulder Opal computing environment and utilizing the compute resources effectively
How to mute status messages during calculations
Change the verbosity of the messaging
Design
Bring your unique quantum hardware to market faster with Boulder Opal's control design capabilities
Get an introduction to graphs in Boulder Opal
An overview of how Boulder Opal uses computational graphs to represent systems and perform operations
Improve calculation performance in graphs
Tips and tricks to speed up your calculations in Boulder Opal
Understand batches and broadcasting in Boulder Opal
Approaches to handle multidimensional data efficiently in graphs
How to represent quantum systems using graphs
Represent quantum systems for optimization, simulation, and other tasks using graphs
How to perform optimization and simulation in the same calculation
Perform calculations using optimization results in a single graph
How to reuse graph definitions in different calculations
Reapply graph nodes for multiple applications
Implement time-dependent functions in Boulder Opal
An overview of how time-dependent functions are represented in Boulder Opal graphs
Leverage predefined signals in graphs
Create parameterized signals for simulation and optimization
Learn to use graphs with piecewise-constant pulses
Understand Boulder Opal graphs and nodes by smoothing a piecewise-constant pulse
How to create analytical signals for simulation and optimization
Use predefined signals from Boulder Opal
How to define continuous analytical Hamiltonians
Use analytical expressions to construct your Hamiltonian
Explore different approaches to simulate quantum systems
An overview of the choices and tradeoffs in deciding how to run a simulation
Learn simulation basics through the dynamics of a single qubit
Simulate and visualize quantum system dynamics in Boulder Opal
How to simulate closed, noiseless systems
Simulate the dynamics of closed quantum systems
How to simulate quantum dynamics subject to noise
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
How to calculate the steady state of an open quantum system
Compute the long time limit density matrix of Lindblad dynamics from a time-independent generator
How to optimize controls in arbitrary quantum systems using graphs
Highly-configurable non-linear optimization framework for quantum control
How to optimize controls with nonlinear dependences
Incorporate nonlinear Hamiltonian dependences on control signals
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
How to add smoothing and band-limits to optimized controls
Incorporate smoothing of optimized waveforms
How to optimize controls using gradient-free optimization
Perform graph-based optimizations when gradients are costly
How to optimize controls with time symmetrization
Incorporate time symmetry into optimized waveforms
How to find time-optimal controls
Optimizing over the duration of your controls
How to optimize controls using arbitrary basis functions
Create optimized controls from superpositions of basis functions
How to tune the parameters of an optimization
Defining parameters of the optimization using the cost history and early halt conditions
How to tune the learning rate of a stochastic optimization
Configuring the stochastic optimizer by requesting the cost history from the optimization results
How to calculate and use filter functions for arbitrary controls
Calculate the frequency-domain noise sensitivity of driven controls
Learn to design robust single-qubit gates using computational graphs
Generate and test robust controls in Boulder Opal
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 evaluate control susceptibility to quasi-static noise
Characterize the robustness of a control pulse to quasi-static noise
Explore system identification techniques for quantum hardware characterization
Build a system model using probe measurements and data fusion routines
Learn to estimate parameters of a single-qubit Hamiltonian
Performing system identification with Boulder Opal
How to perform noise spectroscopy on arbitrary noise channels
Reconstructing noise spectra using shaped control pulses
How to perform parameter estimation with a small amount of data
Estimate Hamiltonian model parameters using measured data and the graph-based optimization engine
How to perform parameter estimation with a large amount of data
Estimate Hamiltonian model parameters using measured data and the graph-based stochastic optimization engine
How to characterize a transmission line using a qubit as a probe
Characterize transmission-line bandwidth via probe measurements and the graph-based optimization engine
Automate
Boulder Opal's intelligent hardware and control automation
Automate quantum experiments with AI
An overview of how Boulder Opal's AI tools can be used to automate the tune-up and optimization of quantum hardware systems
Learn to find optimal pulses with automated optimization
Use closed-loop optimization without a complete system model
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
Understand the library of signals
Create parameterized signals for closed-loop optimization
Apply
Discover how Boulder Opal can help you solve the toughest challenges across hardware systems with complete code-based solutions
Learn to simulate with the superconducting system module
Engineering and simulating gates in superconducting transmon-cavity systems
Design noise-robust single-qubit gates for IBM Qiskit
Increasing robustness against dephasing and control noise using Boulder Opal pulses
Design noise-robust single-qubit gates for Rigetti Quil-T
Increasing robustness against control noise using Boulder Opal pulses
Perform model-based robust optimization for the cross-resonance gate
Increasing robustness against crosstalk in a two-qubit entangling operation
Demonstrate SU(3) gates on superconducting hardware
Hamiltonian-agnostic rapid tune-up of an arbitrary unitary on a qutrit
Design fast optimal SNAP gates in superconducting resonators
Engineering fast, leakage-free gates in superconducting cavity-qubit systems
Perform optimal Fock state generation in superconducting resonators
Engineering fast cavity state generation in superconducting cavity-qubit systems
Design error-detectable entangling gates for superconducting resonators in dual-rail encoding
Robust $ZZ_\Theta$ gate with a transmon ancilla engineered using Boulder Opal
Design error-robust digital SFQ controls for superconducting qubits
Generating single flux quantum gates robust to leakage and frequency drift
Perform noise spectroscopy in superconducting hardware
Reconstructing noise power spectrum density in transmon qubits using dynamical decoupling sequences
Learn to optimize Mølmer–Sørensen gates for trapped ions
Creating optimal operations with the trapped ions module
How to calculate system dynamics for arbitrary Mølmer–Sørensen gates
Calculate the Mølmer–Sørensen gate evolution characteristics for trapped ions
How to optimize Mølmer–Sørensen gates for a multitone global beam
Creating efficient gates for trapped ions without individually addressing the ions
How to optimize error-robust Mølmer–Sørensen gates for trapped ions
Efficient state preparation using Mølmer–Sørensen-type interactions
Design robust, configurable, parallel gates for large trapped-ion arrays
Obtaining control solutions for parallel and specifiable multi-qubit gates using Boulder Opal pulses
Design robust Mølmer–Sørensen gates with parametric trap drive amplification
Obtaining control solutions for two-qubit gates with modulation of the confining potential
Generate highly-entangled states in large Rydberg-atom arrays
Generating high-fidelity GHZ states using Boulder Opal pulses
Design robust Rydberg blockade two-qubit gates in cold atoms
Using Boulder Opal to improve two-qubit controlled-Z gates for cold atoms
Improve Z2 state generation by 3X on QuEra's Aquila QPU
Deployment of Boulder Opal optimal pulses to increase the fidelity of state preparation in a cold atom cloud quantum computer hardware
Mitigate crosstalk in dense arrays of semiconductor spin qubits
Using Boulder Opal to model and mitigate crosstalk in dense qubit arrays caused by non-linear response to control signals
Design robust pulses for dense singlet-triplet qubit arrays
Increasing robustness to charge noise in 2D quantum dot arrays driven by exchange interaction
Design robust pulses for widefield microscopy with NV centers
Increasing detection area by $>10\times$ using $\pi$ pulses robust to field inhomogeneities across large diamond chips
Perform narrow-band magnetic-field spectroscopy with NV centers
Using Boulder Opal spectrum reconstruction tools to perform provably optimal leakage-free sensing with spectrally concentrated Slepian pulses
Boost signal-to-noise by 10X in cold-atom sensors using robust control
Using Boulder Opal robust Raman pulses to boost fringe contrast in tight-SWAP cold atom interferometers by an order of magnitude
Integrate
Connect Boulder Opal to leading hardware and software packages in the quantum ecosystem
Easily integrate Boulder Opal outputs with common electronic controllers
Export Boulder Opal pulses to use in real hardware
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 Boulder Opal calculations
How to use QuTiP operators in graphs
Incorporate QuTiP objects and programming syntax directly into graphs
References
Module, class, and method reference for Boulder Opal software packages
