# Design

Bring your unique quantum hardware to market faster with Boulder Opal's control design capabilities

## Calculate with graphs

Learn how Boulder Opal uses computational graphs to represent systems and perform operations

### Get an introduction to graphs in Boulder Opal

An overview of how Boulder Opal uses computational graphs to represent systems and perform operations

### Learn to use graphs with piecewise-constant pulses

Understand Boulder Opal graphs and nodes by smoothing a piecewise-constant pulse

### How to calculate and optimize with graphs

Create graphs for computations with Boulder Opal

### How to represent quantum systems using graphs

Represent quantum systems for optimization, simulation, and other tasks using graphs

### 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

### 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

### 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

### 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

## Simulate quantum systems

Model high-dimensional quantum systems and calculate time evolution leveraging time-varying noise and signal libraries

### 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

## Design model-based controls

Design control solutions for optimal or noise-robust performance on arbitrary quantum systems using model-based optimization methods

### Learn to design robust single-qubit gates using computational graphs

Generate and test robust controls in Boulder Opal

### 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 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 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 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

## Characterize hardware

Accurately characterize Hamiltonian parameters, identify noise sources, or probe unknown quantum systems

### 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