### Theory Behind SQcircuit

The detailed theory behind the SQcircuit core code and an introduction is published in Quantum journal.

### Optimization in SQcircuit

The theory, including detailed examples of auto-differentiation capabilities and gradient calculations, is thoroughly explained in a paper using Qubit Discovery as a case study.

# Superconducting Quantum Circuit in Python

SQcircuit is an open-source Python package designed to facilitate the analysis and optimization of arbitrary superconducting quantum circuits. Developed by researchers at Stanford University, SQcircuit provides a comprehensive framework to model, analyze, and optimize quantum circuits by constructing and diagonalizing their Hamiltonian from physical descriptions and efficient basis construction. This package supports the calculation of key circuit properties such as energy spectra, coherence times, transition matrix elements, coupling operators, and phase coordinate representations of eigenfunctions. With the integration of automatic differentiation capabilities using PyTorch, SQcircuit enables efficient computation of gradients for all the mentioned properties and custom-made loss functions, making it a powerful tool for optimizing superconducting quantum circuits.

## SQcircuit is User Friendly

By defining circuits within SQcircuit environments, we can seamlessly calculate eigenvalues, coherence times, coupling operators, and more, all with a single line of code!

Take a look at the code for the zeropi qubit below!

## Build Circuit Optimizations with SQcircuit

SQcircuit leverages PyTorch as its numerical engine to support automatic differentiation. This capability simplifies the calculation of gradients for various circuit properties (e.g., eigenvalues, eigenvectors, decoherence) or custom functions with respect to circuit elements (capacitors, inductors, Josephson junctions) and circuit parameters such as external fluxes. Consequently, it facilitates the implementation of gradient-based optimization techniques.

## Learn Superconducting Circuits via SQcircuit

To demonstrate the potential of SQcircuit, we have prepared examples ranging from simple qubits to advanced superconducting circuits found in the literature. Using SQcircuit's functionalities, we were able to effortlessly reproduce the main results of these papers.