# User guides

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

## Basics

- How to get started
- How to monitor activity and retrieve results
- How to represent quantum systems using graphs
- How to calculate with graphs
- How to format and export control solutions for hardware implementation
- How to import and use pulses from the Q-CTRL Open Controls library
- How to use QuTiP operators in graphs
- How to integrate Boulder Opal with QUA from Quantum Machines

## Control optimization

- How to optimize controls in D-dimensional systems using graphs
- How to optimize controls with time symmetrization
- How to add smoothing and band-limits to optimized controls
- How to optimize controls with nonlinear dependences
- How to perform model-based optimization using a Fourier basis
- How to perform model-based optimization with user-defined basis functions
- How to optimize controls on large sparse Hamiltonians
- How to optimize controls robust to strong noise sources

## Error-robust quantum logic

- How to create dephasing and amplitude robust single-qubit gates
- How to create leakage-robust single-qubit gates
- How to optimize error-robust Mølmer–Sørensen gates for trapped ions
- How to calculate phase and motion dynamics for arbitrarily modulated Mølmer–Sørensen gates

## Simulation

- How to simulate quantum dynamics for noiseless systems using graphs
- How to simulate quantum dynamics subject to noise with graphs
- How to simulate multi-qubit circuits in quantum computing
- How to simulate open system dynamics
- How to simulate large open system dynamics

## Performance evaluation

- How to evaluate control susceptibility to quasistatic noise
- How to calculate and use filter functions for arbitrary controls

## Hardware automation

- How to automate calibration of control hardware
- How to automate closed-loop hardware optimization
- How to manage automated closed-loop hardware optimization with M-LOOP
- How to optimize controls starting from an incomplete system model

## Hardware characterization

- How to perform noise spectroscopy on arbitrary noise channels
- How to perform Hamiltonian parameter estimation using a small amount of measured data
- How to perform Hamiltonian parameter estimation using a large amount of measured data
- How to characterize the bandwidth of a transmission line using a qubit as a probe