# CircuitQ: An open-source toolbox for superconducting circuits

Philipp Aumann<EMAIL_ADDRESS>Institute for Theoretical Physics,
University of Innsbruck, A-6020 Innsbruck, Austria  Tim Menke  Research
Laboratory of Electronics, Massachusetts Institute of Technology, Cambridge,
MA 02139, USA  Department of Physics, Massachusetts Institute of Technology,
Cambridge, MA 02139, USA  Department of Physics, Harvard University,
Cambridge, MA 02138, USA  William D. Oliver  Research Laboratory of
Electronics, Massachusetts Institute of Technology, Cambridge, MA 02139, USA
Department of Physics, Massachusetts Institute of Technology, Cambridge, MA
02139, USA  MIT Lincoln Laboratory, 244 Wood Street, Lexington, MA 02420, USA
Department of Electrical Engineering and Computer Science, Massachusetts
Institute of Technology, Cambridge, MA 02139, USA  Wolfgang Lechner
<EMAIL_ADDRESS>Institute for Theoretical Physics, University of
Innsbruck, A-6020 Innsbruck, Austria  Parity Quantum Computing GmbH, A-6020
Innsbruck, Austria

###### Abstract

We introduce CircuitQ, an open-source toolbox for the analysis of
superconducting circuits implemented in Python. It features the automated
construction of a symbolic Hamiltonian of the input circuit, as well as a
dynamic numerical representation of this Hamiltonian with a variable basis
choice. Additional features include the estimation of the $T_{1}$ lifetimes of
the circuit states under various noise mechanisms. We review previously
established circuit quantization methods and formulate them in a way that
facilitates the software implementation. The toolbox is then showcased by
applying it to practically relevant qubit circuits and comparing it to
specialized circuit solvers. Our circuit quantization is both applicable to
circuit inputs from a large design space and the software is open-sourced. We
thereby add an important toolbox for the design of new quantum circuits for
quantum information processing applications.

##  I Introduction

Figure 1: Overview of the functionality of CircuitQ for three exemplary
circuits, as discussed in Sec. IV. The general procedure to analyse a
superconducting circuit (top row) is to interpret it as a graph whose edges
correspond to the circuit elements (middle row). The graph serves as the input
of the toolbox, and a symbolic and a numerical Hamiltonian are constructed
from it. The potential and eigenspectrum of the Hamiltonian are shown in the
bottom row. The symbolic Hamiltonians and parameter values can be found in
Sec. IV, and the code to generate these instances is listed in Appendix A. (a)
Transmon circuit. The last row depicts the absolute value squared of the
lowest five eigenstates as a function of the flux variable $\Phi_{1}$. Each
wave function is offset by its corresponding eigenvalues. The potential of the
Hamiltonian is shown as a black line. (b) Fluxonium circuit. The eigenstates
and potential are shown in the same fashion as in (a). (c) Persistent-current
flux qubit circuit. Due to the additional node, the problem becomes two-
dimensional. We show an overlap of two contour plots, where one depicts the
absolute value squared of the lowest eigenstate and the other visualizes the
potential.

Superconducting circuits are emerging as one of the most versatile and
promising platforms in the development of chip-based quantum processors [1,
2]. The development of cutting-edge qubit designs is currently driven by the
effort to realize quantum computers with long coherence times, and at the same
time, high-fidelity control and readout, all in a scalable design [3].
Combining these requirements is a grand challenge for quantum hardware design.
Thus, continuous effort is invested into the study of new and improved qubit
circuits for quantum information processing applications [4, 5, 6, 7].

A major part of the analysis of superconducting circuits is the construction
of a quantum model to describe the system theoretically. Such a model is
obtained by using general methods to construct the corresponding Hamiltonian
[8, 9, 10]. In order to analyse the quantum properties of superconducting
circuits, a numerical implementation of the algebraic description is needed.

For this purpose, open source software has been developed to analyze
superconducting circuits. The library scQubits [11], for example, provides a
user with the possibility to simulate qubits from a specific set of circuits.
Gely et al. developed QuCAT [12], which offers a more general circuit input,
as it permits a combination of Josephson junctions, inductances, capacitances
and resonators. The quantization is performed in the basis of normal modes,
which is suitable for weakly anharmonic systems. Another useful toolbox is
provided by the SuperQuantPackage [13], which includes an algorithm to provide
the user with a numerical representation of the Hamiltonian for a given input
circuit. It performs a coordinate transformation prior to quantization. While
such software packages have been proven to be useful for specific circuit
design tasks, we expand on prior work by presenting a toolbox that works for a
generic variety of circuits, provides the user with a symbolic and numerical
Hamiltonian and includes a measure for several $T_{1}$ contributions.

In this work, we provide a structured review of the superconducting circuit
quantization procedure implemented in the software toolbox CircuitQ. This
provides an insight into the software implementation, but also serves as a
more general review of the quantization process of superconducting circuits by
constructing the Hamiltonian in a symbolic and numerical form. CircuitQ is
written in Python and can be used to analyze superconducting circuits that are
a user-defined combination of Josephson junctions, linear inductances, and
capacitances. It takes the circuit and optionally the circuit component
parameters as an input and returns the quantum physical properties of the
circuit, particularly the corresponding Hamiltonian in symbolic and numerical
form. Depending on the shape of the potential, CircuitQ can dynamically
perform the numerical implementation in the charge basis, the flux basis, or
in a mixture of both. Therefore, it provides a toolbox for circuits comprising
different parameter regimes. The interface offers the possibility for a
general circuit input. A variety of features and degrees of freedom can be
adjusted by the user, such as the circuit composition, the component
parameters, ground nodes, offset charges, and loop fluxes. In order to analyze
the circuit in view of noisy environments, we implemented an estimation of the
$T_{1}$ lifetime of an eigenstate by considering three different relaxation
mechanisms. Finally, we showcase the software by comparing its accuracy to
specialized circuit solvers for several prominent qubit circuits.

We provide community access to CircuitQ by making the code and documentation
publicly available on GitHub 111Link to GitHub repository:
https://github.com/PhilippAumann/circuitq.

The article is organized as follows. In Sec. II, we present the procedure to
generate the symbolic Hamiltonian from a given input circuit. Subsequently,
the numerical implementation of the Hamiltonian and features of the toolbox
are presented in Sec. III. Lastly, applications of the toolbox to practically
relevant circuit examples are provided in Sec. IV.

##  II From the circuit to the symbolic Hamiltonian

Figure 2: Exemplary circuit to demonstrate the procedure of constructing a
Hamiltonian from a superconducting circuit graph. Parasitic capacitance are
indicated by the blue elements. A possible spanning tree is indicated in green
and a closed inductive loop is indicated by the orange dashed lines. We
provide a detailed overview of the circuit quantization steps in the main
text.

The first step in the analysis of the quantum properties of a superconducting
circuit is the construction of the circuit Hamiltonian. Our software
implementation automates the process to derive the symbolic Hamiltonian. A
multitude of techniques for circuit quantization has been developed, including
several based on the method of nodes [8, 15, 9, 10], black box quantization
[16, 17] and others [18, 19]. Here we follow the method of nodes-based
approach, which is generally applicable to any superconducting circuit that
includes capacitances, inductances, and Josephson junctions, given the
realistic condition that spurious capacitances exist between all circuit
nodes.

The starting point of circuit quantization is a circuit diagram such as the
one shown in Fig. 2, which is a lumped-element representation of a prospective
on-chip microfabricated device. A similar version of this circuit example can
be found in Ref. [20]. The circuit diagram can be seen as a graph with the
circuit elements on its edges. The nodes are then home to the conjugate charge
and flux variables, which represent the charge stored on capacitances
connected to the node and the flux along a specific path from the node to
ground, respectively. They are denoted as the node charge $Q_{i}$ and node
flux $\Phi_{i}$, while $\vec{Q}$ and $\vec{\Phi}$ are the vectors of all
charge and flux variables ordered by node index. One or more ground nodes can
be specified by the user when initializing an instance of the CircuitQ class.
Additionally, all active nodes with only one ungrounded neighbouring node are
added to the ground nodes. If no ground node could be specified, an active
node is chosen to be the ground node. Node $0$ is the ground node of the
circuit depicted in Fig. 2. In the software, the circuit graph is implemented
as a MultiGraph instance of the NetworkX package [21]. A code example to
initialize the circuit in Fig. 2 is given in Appendix B. We note that a graph
is automatically simplified using the common rules for parallel and series
capacitors.

The definition of the node fluxes requires the choice of a unique path from
each node in the circuit graph to ground. The set of such paths for all nodes
is termed the spanning tree of the graph, which cannot contain loops. There
might be multiple ways to choose it for a typical circuit. One such choice is
highlighted as a green sub-graph in Fig. 2. The choice of spanning tree is
equivalent to setting a gauge and therefore does not change the physics of a
circuit [9]. However, it does affect the circuit quantization procedure and
the form of the Hamiltonian. In this work, we follow common practice and route
the spanning tree through capacitive circuit elements only. Since each node
pair is connected by spurious capacitances, a spanning tree can always be
defined in such a way. For the implementation, CircuitQ makes use of the
spanning tree functionality of the NetworkX package.

In order to determine the contribution of an inductive circuit element to the
Hamiltonian, one needs to evaluate the flux difference across the respective
edge. An inductive loop made up of inductances and junctions can encircle a
static flux, and the boundary condition has to be fulfilled that all the
fluxes around a loop sum to an integer multiple of the flux quantum
$\Phi_{0}$. We highlight one such loop in orange in Fig. 2. The static flux
enters the circuit Hamiltonian by being added to the flux difference across an
inductive element between two of the nodes that are part of the loop.

In CircuitQ, the automated evaluation of flux differences is started by
defining the set of purely inductive edges $\mathcal{L}$ and splitting it into
the subset $\mathcal{S}$ that is in parallel to spanning tree edges and into
the remaining edges $\mathcal{B}=\mathcal{L}-\mathcal{S}$. As we allow for
multiple parallel inductive elements between two nodes, a restriction needs to
be introduced that only the first parallel inductive edge is added to
$\mathcal{S}$. The routine then iteratively steps through the edges in
$\mathcal{B}$. If the current edge does not close an inductive loop, we add it
to a subset $\mathcal{B}_{\text{o}}\subseteq\mathcal{B}$ and do not assign an
external flux to it. In case it does close an inductive loop, we add it to
$\mathcal{B}_{\text{c}}\subseteq\mathcal{B}$ and do assign an external flux to
it. Using the fluxoid quantization condition, the directionality of the
spanning tree edges can be chosen such that we obtain the following relation
for the edge flux $\Phi_{e_{ijn}}$ of the $n$-th inductive edge $e_{ijn}$
between nodes $i$ and $j$:

$\displaystyle\Phi_{e_{ijn}}=\begin{cases}\Phi_{j}-\Phi_{i}&\textrm{for
}e_{ijn}\in\mathcal{S}\cup\mathcal{B}_{\text{o}}\\\
\Phi_{j}-\Phi_{i}+\tilde{\Phi}_{ijn}&\textrm{for
}e_{ijn}\in\mathcal{B}_{\text{c}}\\\ \end{cases},$ (1)

For the circuit in Fig. 2, this procedure identifies the loop flux
$\tilde{\Phi}_{120}$ and applies it to the flux difference between nodes 1 and
2.

We note that the loop fluxes are degrees of freedom that can be used to tune
the circuit properties. At the same time, they open a path for undesired
fluctuations from the environment to couple to the circuit. CircuitQ
determines a set of loop fluxes automatically when initializing an instance
for a given circuit. These fluxes are treated as conventional circuit
parameters whose numerical values can be specified by the user.

Given the relationship between branch and node fluxes, we can explicitly state
the inductive potential of the Hamiltonian, which is the sum of linear
inductive and Josephson potentials:

$\displaystyle U_{\text{ind}}\left(\vec{\Phi}\right)=$
$\displaystyle\sum_{i\leq
j\,\in\,\mathcal{S}_{\text{L}}\cup\mathcal{B}_{\text{L}}}\sum_{n=0}^{N_{\text{L}}^{ij}}\frac{\left(\Phi_{e_{ijn}}\left(\vec{\Phi}\right)\right)^{2}}{2L_{ijn}}$
(2) $\displaystyle\sum_{i\leq
j\,\in\,\mathcal{S}_{\text{J}}\cup\mathcal{B}_{\text{J}}}\sum_{n=0}^{N_{\text{J}}^{ij}}E_{Jijn}\cos\left(\frac{\Phi_{e_{ijn}}\left(\vec{\Phi}\right)}{\Phi_{0}}\right),$
(3)

where $N^{ij}_{L}$ is the number of linear inductors between node $i$ and $j$
and $N^{ij}_{J}$ is the number of Josephson junctions. Our formulation of the
potential expands upon prior work on general circuit quantization formulations
in that it allows for multiple parallel inductive elements per node pair.
While this is relevant for Josephson junctions, for example in modelling the
split-junction transmon, multiple parallel linear inductors are of limited
practical relevance for quantum information processing applications because
they lead to sensitivity of the circuit energy to static flux offsets.

The kinetic energy $T_{\text{cap}}$ of the Hamiltonian is given by the
capacitive energy of the circuit. In general, $T_{\text{cap}}$ takes the form

$T_{\text{cap}}\left(\vec{Q}\right)=\frac{1}{2}\vec{Q}^{-1}\textbf{C}^{-1}\vec{Q}.$
(4)

Here, C is the node capacitance matrix, which contains the sum of all
capacitances connected to a node as the respective diagonal entry and the
negative capacitance between two nodes on the off-diagonals. The form of the
kinetic energy arises in the Legendre transformation of the circuit
Lagrangian. Charge offsets on a node are taken into account by directly adding
the offset to the respective charge operator.

The circuit Hamiltonian in terms of the conjugate coordinates $\vec{\Phi}$ and
$\vec{Q}$ is given by the sum of the kinetic and potential terms:

$H\left(\vec{\Phi},\vec{Q}\right)=T_{\text{cap}}\left(\vec{Q}\right)+U_{ind}\left(\vec{\Phi}\right).$
(5)

In CircuitQ, it is returned as a symbolic SymPy object [22]. The resulting
Hamiltonian which is constructed by CircuitQ for the exemplary circuit in Fig.
2 can be found in Appendix D. Generating the Hamiltonian in a symbolic form is
the first step towards the automated description of a circuit. The second step
is to express the Hamiltonian numerically.

##  III From the symbolic Hamiltonian to it’s numerical implementation

The numerical implementation of the symbolic Hamiltonian is crucial for the
analysis of the quantum properties of the input circuit. In this section, we
first present important steps of the automated numerical implementation that
is part of the toolbox. Subsequently, we describe numerical analysis tools
that are implemented in CircuitQ.

###  III.1 Implementation

Figure 3: Summary of the estimated $T_{1}$ times for the three circuits shown
in Fig. 1. $T_{1,\text{tot}}$ denotes the total $T_{1}$ times, which is made
up from the contributions of quasiparticle tunneling
$T_{1,\text{quasipart.}}$, charge noise $T_{1,\text{charge}}$ and flux noise
$T_{1,\text{flux}}$. The chosen parameter values are equal those in Fig. 1.
There is no flux noise contribution to the transmon as we consider the fixed-
frequency transmon circuit here. The flux noise contributions to the $T_{1}$
time for the other two qubits is beyond the chosen limit of the plot.

For the numerical representation of the symbolic Hamiltonian, which is covered
in Sec. II, the parameters have to be replaced by numerical values and the
flux and charge operators are represented by numerical matrices.

Numerical values for the circuit parameters can be specified individually.
This includes capacitances, inductances, Josephson energies, external fluxes
and charge offsets. If the values are not specified by the user, they are set
to a default value.

In addition to the numerical parameter values, the charge and flux operators
that appear in the Hamiltonian have to be implemented by numerical matrices.
These matrices can be either formulated in the flux basis or in the charge
basis, which is analogous to choosing a position or momentum space
representation. If the potential is periodic along the direction of a node
flux variable, the charge basis is the preferred choice for implementing this
variable. The connection of a linear inductance to a node leads to a non-
periodic harmonic contribution of the potential, which makes a flux basis
implementation for the corresponding node flux variable more desirable. To
distinguish these two cases, we label nodes as periodic if there is no linear
inductance connected to this node and if the neighbouring node, which is
connected via a Josephson junction, is periodic as well. Periodic node
variables are automatically implemented in the charge basis and non-periodic
variables in the flux basis.

####  III.1.1 Flux Basis

To implement a node variable in the flux basis, we confine the numerical flux
values to a finite grid
${[-\Phi_{\text{max}},-\Phi_{\text{max}}+\delta,\dots,\Phi_{\text{max}}]}$
with grid spacing $\delta$. The grid length can be decided by the user or is
set to a default value otherwise. Consequently, we can assign a diagonal
matrix to the flux variable:

$\displaystyle\Phi\rightarrow\left(\begin{matrix}-\Phi_{\text{max}}&&&\\\
&-\Phi_{\text{max}}+\delta&&\\\ &&\ddots&\\\
&&&\Phi_{\text{max}}\end{matrix}\right).$ (6)

As the conjugate momentum of the flux, the charge can be associated with the
derivative with respect to $\Phi$: ${q=-i\hbar\partial_{\Phi}}$. To implement
the derivative as a Hermitian operator, we use the finite-difference method:

$\displaystyle q\rightarrow\frac{-i\hbar}{2\delta}\left(\begin{matrix}0&1&&\\\
-1&0&1&\\\ &&\ddots&\\\ &&-1&0\end{matrix}\right),$ (7) $\displaystyle
q^{2}\rightarrow\frac{-\hbar^{2}}{\delta^{2}}\left(\begin{matrix}-2&1&&\\\
1&-2&1&\\\ &&\ddots&\\\ &&1&-2\end{matrix}\right).$ (8)

To generate Hermitian matrices, we have chosen a different discretization for
the first and second derivative. CircuitQ is capable of working with charge
and flux offset, where the flux offsets $\tilde{\Phi}$ are associated with
loop fluxes and charge offsets $\tilde{q}$ with node charges. They are
implemented by multiplying them with the identity matrix:

$\displaystyle\tilde{q}\rightarrow\tilde{q}\cdot 1\\!\\!1,\ \
\tilde{\Phi}\rightarrow\tilde{\Phi}\cdot 1\\!\\!1.$ (9)

A Hilbert space is assigned to every node which is not set to ground. To get a
numerical description of the full Hamiltonian, these subspaces are combined
into a composite space using the tensor product by substituting

$\displaystyle\Phi_{i}$ $\displaystyle\rightarrow 1\\!\\!1\otimes\cdots\otimes
1\\!\\!1\otimes\underset{\begin{subarray}{c}\downarrow\\\ \text{Position
}i\end{subarray}}{\Phi}\otimes 1\\!\\!1\otimes\cdots$ (10) $\displaystyle
q_{i}$ $\displaystyle\rightarrow 1\\!\\!1\otimes\cdots\otimes
1\\!\\!1\otimes\underset{\begin{subarray}{c}\downarrow\\\ \text{Position
}i\end{subarray}}{q}\otimes 1\\!\\!1\otimes\cdots.$ (11)

Here, the variable corresponding to node $i$ is implemented by placing the
respective matrix at the $i$-th position of the composite space.

####  III.1.2 Charge Basis

Similar to the flux basis, we restrict the charge variables to a finite grid
when using the charge basis. The grid is limited by a cutoff number of Cooper
pairs $n_{\text{cutoff}}$ which leads to the charge grid
${2e[-n_{\text{cutoff}},\dots,n_{\text{cutoff}}]}={[-q_{\text{\text{max}}},\dots,q_{\text{\text{max}}}]}$.
In this setting, we can express the charge variable as a diagonal matrix:

$\displaystyle q\rightarrow 2e\left(\begin{matrix}-n_{\text{cutoff}}&&&\\\
&-n_{\text{cutoff}}+1&&\\\ &&\ddots&\\\
&&&n_{\text{cutoff}}\end{matrix}\right).$ (12)

Flux variables that correspond to periodic nodes appear exclusively in the
arguments of the cosine terms in the Hamiltonian. We can then use the
decomposition of the cosine into complex exponentials to represent these terms
numerically. These exponential of a flux operator describes the tunneling
process of a Cooper pair through a Josephson junction, and it can be described
as a jump operator in the charge basis:

$\displaystyle e^{i\Phi}\rightarrow\left(\begin{matrix}0&&&\\\ 1&0&&\\\
&&\ddots&\\\ &&1&0\end{matrix}\right).$ (13)

The composite space has to be considered if there are multiple flux variables
in the argument of the cosine. In this case, we again make use of the tensor
product:

$\displaystyle e^{i(\Phi_{i}-\Phi_{j})}\rightarrow
1\\!\\!1\otimes\cdots\otimes\underset{\begin{subarray}{c}\downarrow\\\
\text{Position
}i\end{subarray}}{e^{i\Phi}}\otimes\cdots\otimes\underset{\begin{subarray}{c}\downarrow\\\
\text{Position }j\end{subarray}}{e^{i\Phi^{\dagger}}}\otimes
1\\!\\!1\otimes\cdots.$ (14)

As before, the position $i$ and $j$ correspond to the flux variables of node
$i$ and $j$. The full cosine function can thus be implemented as

$\displaystyle\cos(\Phi_{i}-\Phi_{j})\rightarrow\frac{1}{2}\left(e^{i(\Phi_{i}-\Phi_{j})}+e^{{i(\Phi_{i}-\Phi_{j})}^{\dagger}}\right).$
(15)

To account for a flux offset $\tilde{\Phi}$, the cosine function in Eq. 15 can
be multiplied by the complex scalar $e^{-i\tilde{\Phi}}$.

The numerical Hamiltonian is generated by using the lambdify function of SymPy
with the parameters and matrices that have been described in this section as
an input. The final implementation is returned as a sparse matrix in SciPy
format [23]. It can be helpful to visualize the eigenstates as a function of
the flux variable although an implementation in the charge basis has been
used. For this purpose, CircuitQ provides a method which transforms the
eigenvectors from the charge to the flux basis.

Contribution |  Formula |
---|---|---
Quasiparticle tunneling [24] |  $T_{1}=\left(\sum_{j}\left|\langle g,\tilde{q}_{j}|e,\tilde{q}_{j}+e\rangle\right|^{2}S_{qp,j}(\omega_{q})\right)^{-1}$ (16) |  $S_{qp,j}(\omega_{q})=x_{qp}\frac{8E_{J,j}}{h}\sqrt{\frac{8\Delta}{\hbar\omega_{q}}}$ [25]: Noise spectral density
$E_{J,j}:$ Josephson energy of the $j$-th junction
$x_{qp}=10^{-7}$ [26]: Density of quasiparticles which is scaled by the
density of Cooper-pairs
$\Delta\approx 1.76\cdot k_{B}T_{c}$: Superconducting gap [27]
$T_{c}\approx 1.2$ K: Critical temperature in aluminum [28]
Charge noise [25] |  $T_{1}=\left(\sum_{i}\frac{S_{Q}(\omega_{q})}{\hbar^{2}}\left|\langle e|\hat{V}_{i}|g\rangle\right|^{2}\right)^{-1}$ (17) |  $\hat{V}_{i}=\left(\vec{q}^{\top}C^{-1}\right)_{i}$: Voltage operator
$\vec{q}$: Charge operator vector with the charge-variables on the rows
$C^{-1}$: Inverted $C$-Matrix
$S_{Q}(\omega_{q})=A_{Q}^{2}\left(\frac{2\pi\cdot
1Hz}{\omega_{q}}\right)^{\gamma_{Q}}$: Noise spectral density with amplitude
$A_{Q}^{2}=(10^{-3}e)^{2}/$Hz and $\gamma_{Q}\approx 1$ [29]
Flux noise [25] |  $T_{1}=\left(\sum_{i}\frac{S_{\Phi}(\omega_{q})}{\hbar^{2}}\left|\langle e|\hat{I}_{i}|g\rangle\right|^{2}\right)^{-1}$ (18) |  $\hat{I}_{i}$: Current operator, which includes all $\frac{\Phi_{k}-\Phi_{l}}{L_{kl}}$ and $I_{C,kl}\sin\frac{\Phi_{k}-\Phi_{l}}{\Phi_{0}}$ terms in the circuit that correspond to a closure branch.
$I_{C,kl}=\frac{2e}{\hbar}E_{J,kl}$: Critical current
$S_{\Phi}(\omega_{q})=A_{\Phi}^{2}\left(\frac{2\pi\cdot
1Hz}{\omega_{q}}\right)^{\gamma_{\Phi}}$: Noise spectral density with
amplitude $A_{\Phi}^{2}\approx(10^{-6}\Phi_{0})^{2}/$Hz and
$\gamma_{\Phi}\approx 0.8-1$ [29]
Table 1: Overview of the noise contributions to $T_{1}$ which are implemented
in CircuitQ. The second column lists the formulas used as the basis of the
noise estimation. Here, $|g\rangle$ and $|e\rangle$ label the qubit ground and
excited state. In equation 16, this notation is extended by the offset charge
$\tilde{q}_{j}$ at node $j$ (see the main text for an explanation). The
qubit’s angular frequency is labeled by $\omega_{q}$. Other symbols are
described in the third column.

###  III.2 Features for circuit analysis

Since CircuitQ constructs a numerical implementation of the circuit
Hamiltonian, it can be used as a tool for the analysis of the quantum
properties of superconducting circuits. This includes the energy spectrum of
the Hamiltonian and relaxation times of the energy eigenstates.

To calculate the energy spectrum of the numerical Hamiltonian, the toolbox
provides a method that returns the lowest eigenstates and eigenenergies of the
numerical Hamiltonian matrix. We use the SciPy library for the (partial)
diagonalization, which in turn makes use of efficient ARPACK routines [30].
With this functionality, the toolbox can be used to investigate how a change
of parameter values – for example an external flux – or a change in the
circuit composition effects the energy spectrum and eigenstates.

For the description of the superconducting circuit as a qubit, we associate
the lowest two energy levels that have a nonvanishing energy difference with
the qubit states $|0\rangle$ and $|1\rangle$ by default. However, it is
possible to declare a different state as the excited qubit state manually. The
corresponding energy levels should not be degenerate. To operate a circuit as
a qubit, a high degree of anharmonicity of its spectrum is desired. CircuitQ
provides a method which gives an estimate of the harmonicity of the spectrum
in a quantified form.

Figure 4: Benchmark tests for six different circuits. We calculated the
spectrum for those instances with reference implementations (see main text)
and compared the difference between the ground state and excited state - the
qubit energy - to the corresponding output of CircuitQ. The deviation is
scaled by the qubit energy. The test has been repeated for various dimensions
of the subsystem matrices, which are the numerical representation of the node
fluxes and charges. We note that the total dimension scales exponentially with
the number of ungrounded nodes which leads longer evaluation times for larger
circuits.

In order to determine the performance of the circuit as a qubit, it is crucial
to study its sensitivity to various noise sources. The qubit can decay to its
ground state as a result of its interactions with the environment. The
sensitivity to this relaxation process is quantified by the $T_{1}$ time.
Table 1 provides an overview of the noise contributions that can be estimated
by using CircuitQ. We included relaxation due to quasiparticle tunneling as
well as charge and flux noise. Equation 16 may alternatively be given by the
matrix element of the sine operator $\sin(\hat{\varphi}_{j}/2)$. The action of
this operator on the excited state results in the excited state shifted by one
elementary charge. We included this relation directly in the respective
$T_{1}$ time relation by introducing the offset charge.

The focus of this toolbox is on pure qubit design without considering qubit
control such as state preparation. Therefore, we do not consider noise due to
the Purcell effect for now. We also do not include pure dephasing mechanisms
explicitly, which stem from fluctuations in offset charge or offset flux and
can be computed from the respective dispersion. Fig. 3 gives an overview of
the $T_{1}$ contributions that are estimated by the toolbox for the exemplary
circuits which are shown in Fig. 1.

##  IV Demonstration and benchmark

To demonstrate the capabilities of CircuitQ, we use three well known circuits
from the literature, i.e., the fixed-frequency transmon [31], the fluxonium
[32] and the persistent-current flux qubit [33]. These examples are
initialized with the corresponding input graph, from which CircuitQ computes
the symbolic and numerical Hamiltonian. The latter can be diagonalized to
analyze the spectrum and eigenstates of the system. Fig. 1 gives an overview
of this procedure. In Appendix A, the corresponding code samples are provided
to initialize these instances.

The symbolic Hamiltonian that is generated for the transmon by the toolbox is

$\displaystyle
H=-E_{J010}\cos{\left(\frac{\Phi_{1}}{\Phi_{0}}\right)}+\frac{\left(q_{1}+\tilde{q}_{1}\right)^{2}}{2C_{01}}.$
(19)

Here, $\Phi_{1}$ and $q_{1}$ are the flux and charge variables of node $1$,
and $\tilde{q}_{1}$ is a charge offset that can be introduced upon
initialization (see Appendix A). We associate $E_{J010}$ with the Josephson
energy of the $0$-th junction between node $0$ and $1$, which is shunted by
the capacitance $C_{01}$. The flux quantum $\Phi_{0}=\frac{\hbar}{2e}$ will be
displayed as $\Phi_{o}$ in the toolbox, to distinguish it from the node flux
of a potential node $0$. Since the principles of this notation are also
applicable for the following examples, we will not define the symbols in the
following equations separately. The numerical values for the corresponding
spectrum plot in Fig. 1, which shows the lowest eigenstates of the weakly
anharmonic cosine-potential, are chosen to be $C_{01}=0.1$ pF and
$E_{J010}\approx 40~{}\mu$eV. For the fluxonium qubit, the toolbox determines
the symbolic Hamiltonian

$\displaystyle
H=-E_{J010}\cos{\left(\frac{\Phi_{1}}{\Phi_{0}}\right)}+\frac{\left(\Phi_{1}+\tilde{\Phi}_{010}\right)^{2}}{2L_{010}}+\frac{q_{1}^{2}}{2C_{01}},$
(20)

where $\tilde{\Phi}_{010}$ labels the offset flux of the inductive loop. An
excerpt of the spectrum of this Hamiltonian is shown in Fig. 1 with
$C_{01}=10$ fF, $L_{010}=0.5~{}\mu$H, $E_{J010}\approx 20~{}\mu$eV and
$\tilde{\Phi}_{010}=\pi\Phi_{0}$. It shows the typical low-lying 0 and 1
states that are localized in the wells, with higher plasma states several GHz
above.

Finally, the persistent-current flux qubit Hamiltonian constructed by the
toolbox can be written as

$\displaystyle H=$ $\displaystyle-
E_{J010}\cos{\left(\frac{\Phi_{1}}{\Phi_{0}}\right)}-E_{J020}\cos{\left(\frac{\Phi_{2}}{\Phi_{0}}\right)}$
$\displaystyle-
E_{J120}\cos{\left(\frac{\Phi_{2}-\Phi_{1}+\tilde{\Phi}_{120}}{\Phi_{0}}\right)}$
$\displaystyle+\frac{q_{1}^{2}\left(C_{02}+C_{12}\right)+2q_{1}q_{2}C_{12}+q_{2}^{2}\left(C_{01}+C_{12}\right)}{2\left(C_{01}C_{02}+C_{01}C_{12}+C_{02}C_{12}\right)}.$
(21)

We depict the ground state of this Hamiltonian in Fig. 1 for $\alpha=0.7$,
$C_{01}=C_{02}=\frac{C_{12}}{\alpha}=50$ fF,
$E_{J010}=E_{J020}=\frac{E_{J020}}{\alpha}\approx 40~{}\mu$eV and
$\tilde{\Phi}_{020}=\pi\Phi_{0}$. The ground state is localized in the double
well potential, which is repeated periodically throughout the chosen flux
grid. As for the transmon circuit, due to the periodicity of the potential,
the Hamiltonian is implemented in the charge basis. For Fig. 1, we use the
transformation method of the toolbox to visualize the eigenstates still in the
flux basis.

In order to test the software and to check the accuracy of our numerical
implementation, we perform benchmark tests for a variety of circuits. In
addition to the three exemplary circuits, which have been previously discussed
in this section, we complete the benchmark by adding the 0-$\pi$-Qubit [34],
the 4-body-coupler which is referred to as Circuit C in reference [35] and a
circuit containing a transmon capacitively coupled to a resonator, to the list
of test circuits. The latter circuit is called QuCAT circuit here, as a
similar version is discussed in the corresponding reference [12]. The code to
construct those instances can be found in Appendix C. We use existing software
implementations to calculate the spectrum of those test circuits as a
benchmark and compare the results of CircuitQ to it. As a reference we used
the toolbox scQubits [11] for the transmon, fluxonium, 0-$\pi$-qubit, and
persistent-current flux qubit circuit. The QuCAT circuit has been compared to
it’s implementation in the QuCAT toolbox [12]. The 4-body-coupler has been
tested against a direct and individualised software implementation. As the
test outcome depends on the size of the numerical matrices which represent the
charge and flux variables, we vary the dimension of those matrices. The result
is shown in Fig. 4. CircuitQ automatically implements the transmon and flux
qubit in the charge basis, and the fluxonium, 0-$\pi$-qubit and 4-body-coupler
in the flux basis. The QuCAT circuit is implemented in a mixture of both
bases. For the transmon, fluxonium and flux qubit as well as for the QuCAT
circuit, we find a good agreement between CircuitQ and the benchmark
implementation. However, we observe larger deviations for the 4-body-coupler
and the 0-$\pi$-qubit, which are more complex circuits, even for large
numerical matrices. For some circuits, a quantization of the node variables is
not the most natural choice, as characteristic modes of the system might be a
combination of several node variables. To get a more natural quantization, a
coordinate transformation of the node variables can be performed prior to
quantization. Therefore, the deviation for the 4-body-coupler and the
0-$\pi$-qubit can be attributed to the lack of an appropriate coordinate
transformation.

##  V Conclusion

We presented the core functionalities of CircuitQ. With the ability to derive
a symbolic and numerical Hamiltonian from a superconducting circuit in an
automated way, CircuitQ can serve as a toolbox for the community to analyze
superconducting circuits. The input circuit can be a general superconducting
circuit that combines Josephson junctions, linear inductances, and
capacitances.

While the toolbox is currently limited to the computation of few-node
circuits, future work will address the optimization of speed and scalability.
A key feature of CircuitQ is its dynamic implementation in the charge and flux
basis. At the moment, the variables that are quantized are always the node
variables of the circuit graph. For some circuits, it is crucial to perform a
variable transformation prior to quantization. Adding a suitable
transformation will be an important development step towards the goal of
increasing the calculation speed. Another improvement can be made by
implementing hierarchical diagonalization such as discussed in reference [10].
In addition, the toolbox is written in a modular fashion that allows for
extensions towards time-dependent simulations.

Thanks to the general functionality, the possibility to include charge and
flux offsets as well as the the incorporation of noise estimates, CircuitQ can
serve as a versatile tool for the design of superconducting qubits. Adding
more noise channels, especially estimates for the $T_{2}$ time, would be an
important future addition to the software.

## Acknowledgements

We are thankful for fruitful discussions with Jens Koch and his group. PA
thanks Glen Bigan Mbeng, Kilian Ender and Benoît Vermersch for helpful
discussions and Martin Lanthaler for designing the logo. This work was
supported by the Austrian Science Fund (FWF) through a START grant under
Project No. Y1067-N27 and the SFB BeyondC Project No. F7108-N38, the Hauser-
Raspe foundation, and the European Union’s Horizon 2020 research and
innovation program under grant agreement No. 817482. This material is based
upon work supported by the Defense Advanced Research Projects Agency (DARPA)
under Contract No. HR001120C0068. Any opinions, findings and conclusions or
recommendations expressed in this material are those of the authors and do not
necessarily reflect the views of DARPA. TM acknowledges funding by the Office
of the Director of National Intelligence (ODNI), Intelligence Advanced
Research Projects Activity (IARPA) under Air Force Contract No.
FA8721-05-C-0002. The views and conclusions contained herein are those of the
authors and should not be interpreted as necessarily representing the official
policies or endorsements, either expressed or implied, of the ODNI, IARPA, or
the U.S. Government. The U.S. Government is authorized to reproduce and
distribute reprints for Governmental purposes notwithstanding any copyright
annotation thereon.

## References

  * Arute  _et al._ [2019] F. Arute, K. Arya, R. Babbush, D. Bacon, J. C. Bardin, R. Barends, R. Biswas, S. Boixo, F. G. S. L. Brandao, D. A. Buell, B. Burkett, Y. Chen, Z. Chen, B. Chiaro, R. Collins, W. Courtney, A. Dunsworth, E. Farhi, B. Foxen, A. Fowler, C. Gidney, M. Giustina, R. Graff, K. Guerin, S. Habegger, M. P. Harrigan, M. J. Hartmann, A. Ho, M. Hoffmann, T. Huang, T. S. Humble, S. V. Isakov, E. Jeffrey, Z. Jiang, D. Kafri, K. Kechedzhi, J. Kelly, P. V. Klimov, S. Knysh, A. Korotkov, F. Kostritsa, D. Landhuis, M. Lindmark, E. Lucero, D. Lyakh, S. Mandrà, J. R. McClean, M. McEwen, A. Megrant, X. Mi, K. Michielsen, M. Mohseni, J. Mutus, O. Naaman, M. Neeley, C. Neill, M. Y. Niu, E. Ostby, A. Petukhov, J. C. Platt, C. Quintana, E. G. Rieffel, P. Roushan, N. C. Rubin, D. Sank, K. J. Satzinger, V. Smelyanskiy, K. J. Sung, M. D. Trevithick, A. Vainsencher, B. Villalonga, T. White, Z. J. Yao, P. Yeh, A. Zalcman, H. Neven, and J. M. Martinis, Nature 574, 505 (2019), number: 7779 Publisher: Nature Publishing Group.
  * Blais  _et al._ [2020] A. Blais, A. L. Grimsmo, S. Girvin, and A. Wallraff, arXiv preprint arXiv:2005.12667 (2020).
  * Kjaergaard  _et al._ [2020] M. Kjaergaard, M. E. Schwartz, J. Braumüller, P. Krantz, J. I.-J. Wang, S. Gustavsson, and W. D. Oliver, Annual Review of Condensed Matter Physics 11, 369 (2020).
  * Weiss  _et al._ [2019] D. K. Weiss, A. C. Y. Li, D. G. Ferguson, and J. Koch, Physical Review B 100, 224507 (2019), publisher: American Physical Society.
  * Paolo  _et al._ [2019] A. D. Paolo, A. L. Grimsmo, P. Groszkowski, J. Koch, and A. Blais, New Journal of Physics 21, 043002 (2019), publisher: IOP Publishing.
  * Nguyen  _et al._ [2019] L. B. Nguyen, Y.-H. Lin, A. Somoroff, R. Mencia, N. Grabon, and V. E. Manucharyan, Physical Review X 9, 041041 (2019), publisher: American Physical Society.
  * Mirrahimi  _et al._ [2014] M. Mirrahimi, Z. Leghtas, V. V. Albert, S. Touzard, R. J. Schoelkopf, L. Jiang, and M. H. Devoret, New Journal of Physics 16, 045014 (2014).
  * Burkard  _et al._ [2004] G. Burkard, R. H. Koch, and D. P. DiVincenzo, Physical Review B 69, 064503 (2004), publisher: American Physical Society.
  * Vool and Devoret [2017] U. Vool and M. Devoret, International Journal of Circuit Theory and Applications 45, 897 (2017).
  * Kerman [2020] A. J. Kerman, arXiv:2010.14929 [quant-ph] (2020), arXiv: 2010.14929.
  * Koch and Groszkowski [2020] J. Koch and P. Groszkowski, scqubits/scqubits (2020), original-date: 2016-05-05T19:25:12Z.
  * Gely and Steele [2020] M. F. Gely and G. A. Steele, New Journal of Physics 22, 013025 (2020), publisher: IOP Publishing.
  * Klots [2021] A. Klots, andreyklots/SuperQuantPackage (2021), original-date: 2020-05-28T13:52:28Z.
  * Note [1] Link to GitHub repository: https://github.com/PhilippAumann/circuitq.
  * Girvin [2011] S. M. Girvin, Quantum machines: measurement and control of engineered quantum systems 113, 2 (2011).
  * Nigg  _et al._ [2012] S. E. Nigg, H. Paik, B. Vlastakis, G. Kirchmair, S. Shankar, L. Frunzio, M. Devoret, R. Schoelkopf, and S. Girvin, Physical Review Letters 108, 240502 (2012).
  * Solgun  _et al._ [2014] F. Solgun, D. W. Abraham, and D. P. DiVincenzo, Physical Review B 90, 134504 (2014).
  * Minev  _et al._ [2020] Z. K. Minev, Z. Leghtas, S. O. Mundhada, L. Christakis, I. M. Pop, and M. H. Devoret, arXiv preprint arXiv:2010.00620 (2020).
  * Minev  _et al._ [2021] Z. K. Minev, T. G. McConkey, M. Takita, A. D. Corcoles, and J. M. Gambetta, arXiv preprint arXiv:2103.10344 (2021).
  * Leib [2015] M. Leib,  _Many-Body Physics with Circuit Quantum Electrodynamics_ , Dissertation, Technische Universität München, München (2015).
  * Hagberg  _et al._ [2008] A. A. Hagberg, D. A. Schult, and P. J. Swart, in  _Proceedings of the 7th Python in Science Conference_ , edited by G. Varoquaux, T. Vaught, and J. Millman (Pasadena, CA USA, 2008) pp. 11 – 15\.
  * Meurer  _et al._ [2017] A. Meurer, C. P. Smith, M. Paprocki, O. Čertík, S. B. Kirpichev, M. Rocklin, A. Kumar, S. Ivanov, J. K. Moore, S. Singh, T. Rathnayake, S. Vig, B. E. Granger, R. P. Muller, F. Bonazzi, H. Gupta, S. Vats, F. Johansson, F. Pedregosa, M. J. Curry, A. R. Terrel, Š. Roučka, A. Saboo, I. Fernando, S. Kulal, R. Cimrman, and A. Scopatz, PeerJ Computer Science 3, e103 (2017), publisher: PeerJ Inc.
  * Virtanen  _et al._ [2020] P. Virtanen, R. Gommers, T. E. Oliphant, M. Haberland, T. Reddy, D. Cournapeau, E. Burovski, P. Peterson, W. Weckesser, J. Bright, S. J. van der Walt, M. Brett, J. Wilson, K. J. Millman, N. Mayorov, A. R. J. Nelson, E. Jones, R. Kern, E. Larson, C. J. Carey, İ. Polat, Y. Feng, E. W. Moore, J. VanderPlas, D. Laxalde, J. Perktold, R. Cimrman, I. Henriksen, E. A. Quintero, C. R. Harris, A. M. Archibald, A. H. Ribeiro, F. Pedregosa, and P. van Mulbregt, Nature Methods 17, 261 (2020), number: 3 Publisher: Nature Publishing Group.
  * Catelani  _et al._ [2011] G. Catelani, R. J. Schoelkopf, M. H. Devoret, and L. I. Glazman, Physical Review B 84, 064517 (2011), publisher: American Physical Society.
  * Yan  _et al._ [2016] F. Yan, S. Gustavsson, A. Kamal, J. Birenbaum, A. P. Sears, D. Hover, T. J. Gudmundsen, D. Rosenberg, G. Samach, S. Weber, J. L. Yoder, T. P. Orlando, J. Clarke, A. J. Kerman, and W. D. Oliver, Nature Communications 7, 12964 (2016), number: 1 Publisher: Nature Publishing Group.
  * Wang  _et al._ [2014] C. Wang, Y. Y. Gao, I. M. Pop, U. Vool, C. Axline, T. Brecht, R. W. Heeres, L. Frunzio, M. H. Devoret, G. Catelani, L. I. Glazman, and R. J. Schoelkopf, Nature Communications 5, 5836 (2014), number: 1 Publisher: Nature Publishing Group.
  * [27] R. M. Fernandes, Lecture Notes: BCS theory of superconductivity.
  * Cochran and Mapother [1958] J. F. Cochran and D. E. Mapother, Physical Review 111, 132 (1958), publisher: American Physical Society.
  * Krantz  _et al._ [2019] P. Krantz, M. Kjaergaard, F. Yan, T. P. Orlando, S. Gustavsson, and W. D. Oliver, Applied Physics Reviews 6, 021318 (2019), publisher: American Institute of Physics.
  * Lehoucq  _et al._ [1998] R. B. Lehoucq, D. C. Sorensen, and C. Yang,  _ARPACK Users’ Guide_, Software, Environments and Tools (Society for Industrial and Applied Mathematics, 1998).
  * Koch  _et al._ [2007] J. Koch, T. M. Yu, J. Gambetta, A. A. Houck, D. I. Schuster, J. Majer, A. Blais, M. H. Devoret, S. M. Girvin, and R. J. Schoelkopf, Physical Review A 76, 042319 (2007), publisher: American Physical Society.
  * Manucharyan  _et al._ [2009] V. E. Manucharyan, J. Koch, L. I. Glazman, and M. H. Devoret, Science 326, 113 (2009), publisher: American Association for the Advancement of Science Section: Report.
  * Orlando  _et al._ [1999] T. P. Orlando, J. E. Mooij, L. Tian, C. H. van der Wal, L. S. Levitov, S. Lloyd, and J. J. Mazo, Physical Review B 60, 15398 (1999), publisher: American Physical Society.
  * Brooks  _et al._ [2013] P. Brooks, A. Kitaev, and J. Preskill, Physical Review A 87, 052306 (2013).
  * Menke  _et al._ [2021] T. Menke, F. Häse, S. Gustavsson, A. J. Kerman, W. D. Oliver, and A. Aspuru-Guzik, npj Quantum Information 7, 1 (2021), number: 1 Publisher: Nature Publishing Group.

##  Appendix A Code samples for illustrative circuits in figure 1

In the following subsections, we present the code that generates the three
instances which are displayed in Fig. 1 and which are discussed in Sec IV.

###  A.1 Transmon

⬇

import circuitq as cq

import networkx as nx

graph = nx.MultiGraph()

graph.add_edge(0,1, element = ’C’)

graph.add_edge(0,1, element = ’J’)

circuit = cq.CircuitQ(graph, offset_nodes=[1])

# Numerical implementation and diagonalisation

h_num = circuit.get_numerical_hamiltonian(400,

grid_length=np.pi*circuit.phi_0)

eigv, eigs = circuit.get_eigensystem()

# Conversion for the plot

circuit.transform_charge_to_flux()

eigs = circuit.estates_in_phi_basis

###  A.2 Fluxonium

⬇

import circuitq as cq

import networkx as nx

graph = nx.MultiGraph()

graph.add_edge(0,1, element = ’C’)

graph.add_edge(0,1, element = ’J’)

graph.add_edge(0,1, element = ’L’)

circuit = cq.CircuitQ(graph)

# Numerical implementation and diagonalisation

EJ = circuit.c_v["E"]*.5

L = circuit.c_v["L"]*5

C = circuit.c_v["C"]*0.1

phi_ext =np.pi*circuit.phi_0

h_num = circuit.get_numerical_hamiltonian(400,

parameter_values=[C, EJ, L, phi_ext ])

eigv, eigs = circuit.get_eigensystem()

###  A.3 Persistent-current flux qubit

⬇

import circuitq as cq

import networkx as nx

graph = nx.MultiGraph()

graph.add_edge(0,1, element = ’C’)

graph.add_edge(0,1, element = ’J’)

graph.add_edge(1,2, element = ’C’)

graph.add_edge(1,2, element = ’J’)

graph.add_edge(0,2, element = ’C’)

graph.add_edge(0,2, element = ’J’)

circuit = cq.CircuitQ(graph)

# Numerical implementation and diagonalisation

dim = 51

EJ = 1*circuit.c_v["E"]

alpha = 0.7

C = circuit.c_v["C"]*0.5

phi_ext = np.pi*circuit.phi_0

h_num = circuit.get_numerical_hamiltonian(dim,

parameter_values=[C,C,alpha*C,

EJ,EJ,alpha*EJ,phi_ext])

eigv, eigs = circuit.get_eigensystem()

# Conversion for the plot

circuit.transform_charge_to_flux()

eigs = circuit.estates_in_phi_basis

##  Appendix B Code sample for exemplary circuit in Fig. 2

The following code demonstrates the initialization of the circuit in Fig. 2.

⬇

import circuitq as cq

import networkx as nx

graph = nx.MultiGraph()

graph.add_edge(0,1, element = ’C’)

graph.add_edge(0,2, element = ’J’)

graph.add_edge(0,2, element = ’C’)

graph.add_edge(1,2, element = ’L’)

graph.add_edge(1,2, element = ’C’)

graph.add_edge(1,3, element = ’C’)

graph.add_edge(1,3, element = ’L’)

graph.add_edge(2,3, element = ’L’)

graph.add_edge(2,3, element = ’C’)

circuit = cq.CircuitQ(graph)

##  Appendix C Code sample for additional benchmark circuits

In the following, we present the generation of the numerical Hamiltonian for
the additional benchmark circuits in figure 4, which have not been given in
Appendix A yet, for an arbitrary subsystem matrix dimension $d$.

###  C.1 0-$\pi$-Qubit

⬇

import circuitq as cq

import networkx as nx

graph = nx.MultiGraph()

graph.add_edge(1,2, element = ’C’)

graph.add_edge(1,2, element = ’J’)

graph.add_edge(2,3, element = ’L’)

graph.add_edge(3,4, element = ’J’)

graph.add_edge(3,4, element = ’C’)

graph.add_edge(4,1, element = ’L’)

graph.add_edge(1,3, element = ’C’)

graph.add_edge(2,4, element = ’C’)

circuit = cq.CircuitQ(graph, ground_nodes=[1])

h_num = circuit.get_numerical_hamiltonian(d,

parameter_values= [False,

100 * circuit.c_v[’C’],

100 * circuit.c_v[’C’],

False, False,

False, False,

False, False,

False, False] )

###  C.2 4-Body-Coupler

⬇

import circuitq as cq

import networkx as nx

import numpy as np

graph = nx.MultiGraph()

graph.add_edge(0,2, element = ’C’)

graph.add_edge(0,2, element = ’J’)

graph.add_edge(2,3, element = ’L’)

graph.add_edge(2,3, element = ’C’)

graph.add_edge(0,3, element = ’C’)

graph.add_edge(0,3, element = ’J’)

graph.add_edge(2,1, element = ’C’)

graph.add_edge(2,1, element = ’J’)

graph.add_edge(1,3, element = ’L’)

graph.add_edge(1,3, element = ’C’)

circuit = cq.CircuitQ(graph, ground_nodes=[0])

L13 = 289.395 # in pH

L23 = 120.416 # in pH

lj12 = 3.75498 # in um

lj22 = 0.395517 # in um

lj33 = 0.373288 # in um

Jc = 5e-6 # critical current density in A/um^2

wJ = 0.2 # junction width in um

Sc = 60e-15 # specific capacitance in F/um^2

Phi0 = 2.06783385 * 10 ** (-15) # flux quantum

L13 = L13 * 1e-12 # scale pH -> H

L23 = L23 * 1e-12 # scale pH -> H

Ej12 = Phi0 / (2 * np.pi) * Jc * wJ * lj12

Ej22 = Phi0 / (2 * np.pi) * Jc * wJ * lj22

Ej33 = Phi0 / (2 * np.pi) * Jc * wJ * lj33

circuit.get_numerical_hamiltonian(d,

parameter_values=

[4.455 * 1e-15 + Sc * wJ * lj22,

70.556 * 1e-15 + Sc * wJ * lj33,

Sc * wJ * lj12,

16.832 * 1e-15,

85.677 * 1e-15,

Ej22, Ej33, Ej12, L23, L13,

0.5 * circuit.phi_0,

0.02 * circuit.phi_0] )

###  C.3 QuCAT circuit

⬇

import circuitq as cq

import networkx as nx

import numpy as np

graph = nx.MultiGraph()

graph.add_edge(0,1, element = ’C’)

graph.add_edge(0,1, element = ’J’)

graph.add_edge(0,2, element = ’C’)

graph.add_edge(0,2, element = ’L’)

graph.add_edge(1,2, element = ’C’)

circuit = cq.CircuitQ(graph, ground_nodes=[0])

circuit.get_numerical_hamiltonian(d,

grid_length=np.pi*circuit.phi_0,

parameter_values=[100e-15,100e-15,

1e-15,(circuit.phi_0**2)/8e-9,

10e-9 ] )

##  Appendix D Symbolic Hamiltonian for circuit in Fig. 2

CircuitQ provides the symbolic Hamiltonian given in Eq. 22 for the exemplary
circuit in Fig. 2. For a better readability, her the flux quantum $\Phi_{0}$
is given as a symbol, however it’s numerical value would be displayed in the
software implementation. The parasitic capacitances within the first kinetic
part of the Hamiltonian are labelled by a $p$ in the index.

$\displaystyle H=$
$\displaystyle\left(C_{01}C_{02}C_{13}+C_{01}C_{02}Cp_{23}+C_{01}C_{13}Cp_{12}+C_{01}C_{13}Cp_{23}\right.$
$\displaystyle\left.\
+C_{01}Cp_{12}Cp_{23}+C_{02}C_{13}Cp_{12}+C_{02}C_{13}Cp_{23}+C_{02}Cp_{12}Cp_{23}\right)^{-1}\cdot$
$\displaystyle\quad\cdot\bigg{(}\frac{q_{1}}{2}\Big{(}q_{1}\left(C_{02}C_{13}+C_{02}Cp_{23}+C_{13}Cp_{12}+C_{13}Cp_{23}+Cp_{12}Cp_{23}\right)$
$\displaystyle\qquad\qquad+q_{2}\left(C_{13}Cp_{12}+C_{13}Cp_{23}+Cp_{12}Cp_{23}\right)$
$\displaystyle\qquad\qquad+q_{3}\left(C_{02}C_{13}+C_{13}Cp_{12}+C_{13}Cp_{23}+Cp_{12}Cp_{23}\right)\Big{)}$
$\displaystyle\qquad+\frac{q_{2}}{2}\Big{(}q_{1}\left(C_{13}Cp_{12}+C_{13}Cp_{23}+Cp_{12}Cp_{23}\right)$
$\displaystyle\qquad\qquad+q_{2}\left(C_{01}C_{13}+C_{01}Cp_{23}+C_{13}Cp_{12}+C_{13}Cp_{23}+Cp_{12}Cp_{23}\right)$
$\displaystyle\qquad\qquad+q_{3}\left(C_{01}Cp_{23}+C_{13}Cp_{12}+C_{13}Cp_{23}+Cp_{12}Cp_{23}\right)\Big{)}$
$\displaystyle\qquad+\frac{q_{3}}{2}\Big{(}q_{1}\left(C_{02}C_{13}+C_{13}Cp_{12}+C_{13}Cp_{23}+Cp_{12}Cp_{23}\right)$
$\displaystyle\qquad\qquad+q_{2}\left(C_{01}Cp_{23}+C_{13}Cp_{12}+C_{13}Cp_{23}+Cp_{12}Cp_{23}\right)$
$\displaystyle\qquad\qquad+q_{3}\left(C_{01}C_{02}+C_{01}Cp_{12}+C_{01}Cp_{23}+C_{02}C_{13}+C_{02}Cp_{12}+C_{13}Cp_{12}+C_{13}Cp_{23}+Cp_{12}Cp_{23}\right)\Big{)}\bigg{)}$
$\displaystyle-
E_{J020}\cos{\left(\frac{\Phi_{2}}{\Phi_{0}}\right)}-E_{J130}\cos{\left(\frac{\Phi_{1}-\Phi_{3}}{\Phi_{0}}\right)}$
$\displaystyle+\frac{\left(\Phi_{3}-\Phi_{2}+\tilde{\Phi}_{230}\right)^{2}}{2L_{230}}+\frac{\left(\Phi_{2}-\Phi_{1}\right)^{2}}{2L_{120}}$
(22)


# Higher dimensional formal orbifolds and orbifold bundles in positive
characteristic

Indranil Biswas  School of Mathematics, Tata Institute of Fundamental
Research, Homi Bhabha Road, Bombay 400005, India<EMAIL_ADDRESS>,
Manish Kumar  Statistics and Mathematics Unit, Indian Statistical Institute,
Bangalore 560059, India<EMAIL_ADDRESS>and  A. J. Parameswaran  School
of Mathematics, Tata Institute of Fundamental Research, Homi Bhabha Road,
Bombay 400005, India<EMAIL_ADDRESS>
###### Abstract.

In [5], the last two authors introduced formal orbifold curves defined over an
algebraically closed field of positive characteristics. They studied both
étale and Nori fundamental group schemes associated to such objects. Our aim
here is to study the higher dimensional analog of these objects objects and
their fundamental groups.

###### Key words and phrases:

Formal orbifolds, Nori fundamental group, essentially finite bundle, Tannakian
category.

###### 2010 Mathematics Subject Classification:

14H30, 14J60

##  1\. Introduction

Given a quasiprojective variety $X$ defined over an algebraically closed field
$k$ of positive characteristic, and a base point $x_{0}\,\in\,X$, the Nori
fundamental group $\pi^{N}(X,\,x_{0})$ is defined using the torsors on $X$ for
finite $k$–group schemes. This construction gives the étale fundamental group
of $X$ if we restrict to the reduced group schemes. When $X$ is complete,
$\pi^{N}(X,\,x_{0})$ has a Tannakian description using the essentially finite
bundles on $X$ introduced in [7]. The homomorphisms between the fundamental
groups induced by étale morphisms of varieties are well understood. The paper
[5], which is a predecessor of the present work, originated from attempts to
understand the homomorphisms between the fundamental groups induced by
ramified maps between curves.

We quickly recall the aspects of [5] that connect it to the present work.
Given a finite morphism $f\,:\,X\,\longrightarrow\,Y$ between curves, consider
all finite morphisms $g\,:\,Z\,\longrightarrow\,Y$ that are locally dominated
by $f$. This will form an inverse system, and by taking corresponding Galois
extensions, it is possible define a group obtained by the inverse limits. This
is made precise by introducing a branch data on $Y$ and a condition in terms
of this branch data is imposed on these coverings of $Y$. Those branch data
coming from a global finite map are referred to as geometrical branch data. In
[5], a class of bundles on those coverings are defined, and it is shown there
that they form a tensor abelian category; the Tannakian dual of this tensor
abelian category is called orbifold fundamental group with respect the
orbifold structure defined by the branch data.

Here we consider the questions addressed in [5] in the set-up of higher
dimensional varieties. We recall the definition of formal orbifolds $(X,\,P)$,
where $X$ is a normal proper variety defined over $k$, and $P$ is a branch
data on $X$ (see Section 2). Associated to $(X,\,P)$ is a tensor abelian
category ${\rm Vect}^{f}(X,P)$ (see (2.1)). It is defined by taking
equivariant essentially finite bundles on suitable ramified Galois coverings
$Y$ of $X$ whose ramifications are are controlled by $P$.

After fixing a base point $x\,\in\,X$ outside $P$, this tensor abelian
category produces a proalgebraic group scheme which is denoted by
$\pi^{N}((X,P),\,x)$. Our first theorem is the following (see Theorem 3.1):

######  Theorem 1.1.

Let $f\,:\,(Y,\,O)\,\longrightarrow\,(X,\,P)$ be an étale $\Gamma$–Galois
cover of projective formal orbifolds. Take a point $y\,\in\,Y$. There is a
natural exact sequence

$1\,\longrightarrow\,\pi^{N}(Y,\,y)\,\stackrel{{\scriptstyle
i}}{{\longrightarrow}}\,\pi^{N}((X,P),\,f(y))\,\stackrel{{\scriptstyle
q}}{{\longrightarrow}}\,\Gamma\,\longrightarrow\,1\,.$

Let $X^{o}$ be an open dense subset of a normal projective variety, we define
(3.3) a fundamental group scheme $\pi^{n}(X^{o},\,x)$ as inverse limit of
$\pi^{N}(X,\,P)$ where the limit is taken over branch data $P$ whose branch
locus is disjoint from $X^{o}$. We observe that $\pi^{n}(X^{o},\,x)$ is a
quotient of the Nori fundamental group $\pi^{N}(X^{o},\,x)$ (Proposition 3.4).
We also show that $\pi^{n}(X^{o},\,x)$ classifies finite group scheme torsors
over $X^{o}$ which étale locally extends to $X$ (Proposition 3.5).

Our second theorem (Theorem 4.1) identified the kernel of the natural
homomorphism

$\pi^{N}((X,P),\,x)\,\longrightarrow\,\pi_{1}^{et}((X,P),\,x))\,.$

##  2\. Formal orbifold and Orbifold bundles

Let $X$ be a normal variety $X$ defined over a perfect field $k$. We recall
from [6, Section 3] the definition of a branch data on $X$. Let $x\,\in\,X$ be
a point of codimension at least one, and let $U$ be an affine open connected
neighborhood of $x$; we note that $U$ is integral because $X$ is normal. Again
normality of $X$ implies that the completion
$\widehat{\mathcal{O}_{X}(U)}^{x}$ of the coordinate ring $\mathcal{O}_{X}(U)$
along $x$ is an integral domain. Let $\mathcal{K}^{x}_{X}(U)$ denote the field
of fractions for $\widehat{\mathcal{O}_{X}(U)}^{x}$. The fraction field of
$\widehat{\mathcal{O}}_{X,x}$ will be denoted by $\mathcal{K}_{X,x}$.

A _quasi branch data_ $P$ on $X$ assigns to every such pair $(x,\,U)$ a finite
Galois extension of $\mathcal{K}^{x}_{X}(U)$ in a fixed algebraic closure of
$\mathcal{K}^{x}_{X}(U)$, which is denoted by $P(x,U)$, such that that the
following compatibility conditions hold:

  1. (1)

$P(x_{1},\,U)\,=\,P(x_{2},\,U)\mathcal{K}_{X}^{x_{1}}(U)$, where
$x_{1}\,\in\,\overline{\\{x_{2}\\}}$, and $U$ is an affine open connected
neighborhood of $x_{1}$ and $x_{2}$.

  2. (2)

For $x\,\in\,V\,\subset\,U\,\subset\,X$, with $U$ and $V$ affine open
connected subsets, we have $P(x,V)\,=\,P(x,U)\mathcal{K}_{X}^{x}(V)$.

Define $P(x)\,:=\,P(x,U)\mathcal{K}_{X,x}$; note that $P(x)$ is independent of
the choice of $U$. Also, define

${\rm BL}(P)\,:=\,\\{x\,\in\,X\,\mid\,\widehat{\mathcal{O}}_{X,x}~{}\text{ is
branched in }~{}\mathcal{K}_{X,x}\\}\,.$

A quasi branch data $P$ is called a branch data if ${\rm BL}(P)$ is a closed
subset of $X$ of codimension at least one. This ${\rm BL}(P)$ is called the
branch locus of $P$.

Note that if $\dim X\,=\,1$, then $P(x,\,U)\,=\,P(x)$ (i.e., it is independent
of $U$), and hence it agrees with the notion in [5].

The branch data in which all the Galois extensions are trivial is called the
trivial branch data, and it is denoted by $O$. For a finite morphism
$f\,:\,Y\,\longrightarrow\,X$ of normal varieties, the natural branch data
associated to $f$ will be denoted by $B_{f}$.

We recall the definition of formal orbifolds from [6]. As before, $k$ is a
perfect field. A _formal orbifold_ over $k$ is a pair $(X,\,P)$, where $X$ is
a normal finite type scheme over $k$ and $P$ is a branch data on $X$.

A morphism of formal orbifolds $f\,:\,(Y,\,Q)\,\longrightarrow\,(X,\,P)$ is a
quasi-finite dominant separable morphism $f\,:\,Y\,\longrightarrow\,X$ such
that for all points $y\,\in\,Y$ of codimension at least one and some affine
open neighborhood $U$ of $f(y)$, we have

$Q(y,f^{-1}(U))\,\supset\,P(f(y),U)\,.$

It is said to be étale if the extension $Q(y)/P(f(y))$ is unramified, for all
$y\,\in\,Y$ of codimension at least one. Moreover, $f$ is called a covering
morphism (or simply a covering) if it is also proper.

A formal orbifold $(X,\,P)$ is called _geometric_ if there exist an étale
cover $(Y,\,O)\,\longrightarrow\,(X,\,P)$ and in this case $P$ is called a
geometric branch data [5].

Let $(Y,\,O)\,\longrightarrow\,(X,\,P)$ be an étale $\Gamma$–Galois covering
of formal orbifolds. Like in [5], we define vector bundles on $(X,\,P)$ as the
$\Gamma$–equivariant bundles on $Y$, while morphisms between two vector
bundles on $(X,\,P)$ are defined to be the $\Gamma$–equivariant homomorphisms
between the corresponding $\Gamma$–bundles on $Y$. For the case of curves, it
was shown in [5] that this definition does not depend on the choice of the
étale cover. The key point is that if $(Y_{i},\,O)\,\longrightarrow\,(X,\,P)$
are étale $\Gamma_{i}$–covers for $i\,=\,1,\,2$, then take an étale
$\Gamma$–cover $(Y,\,O)\,\longrightarrow\,(X,\,P)$ that dominates these two
covers (for instance $Y$ can be the normalized fiber product of $Y_{1}$ and
$Y_{2}$). It follows that $Y\,\longrightarrow\,Y_{i}$ are Galois étale covers,
and then using Galois descent it is shown that the pullback functor defines an
equivalence of category of $\Gamma$–bundles of $Y$ and the category of
$\Gamma_{i}$–bundles on $Y_{i}$. (See [5, Lemma 3.3, Lemma 3.4, Proposition
3.6] for the proof.) It should be clarified that the proofs of these results
in [5] do not use the hypothesis in [5] that $Y$ is a curve.

Now assume the base field $k$ to be algebraically closed. Let $X$ be a smooth
proper variety over $k$. A vector bundle on $(X,\,P)$ is called stable
(respectively, semi-stable) if the corresponding $\Gamma$–equivariant bundle
on $Y$ is equivariantly stable (respectively, equivariantly semistable).
However, an equivariant vector bundle is equivariantly semistable if and only
if the underlying vector bundle is semistable. Similarly, a vector bundle on
$(X,\,P)$ is called essentially finite if the corresponding
$\Gamma$–equivariant bundle on $Y$ is essentially finite. However, an
equivariant vector bundle is equivariantly

The tensor product and duals of vector bundles on $(X,\,P)$ are defined in the
usual way. This makes the category

${\rm Vect}^{f}(X,P)$ (2.1)

of essentially finite bundles a Tannakian category, and any closed point
$x\,\in\,X$ outside support of $P$ defines a fiber functor from ${\rm
Vect}^{f}(X,P)$ to the category of $k$–vector spaces. Hence we define
$\pi^{N}((X,P),\,x)$ to be the automorphism of this fiber functor. Note that
if $P$ is the trivial branch data, then $\pi^{N}((X,P),\,x)$ is the
fundamental group $\pi^{N}(X,\,x)$ corresponding to the essentially finite
bundles [7], [8] (its definition is recalled in Section 3.

##  3\. Basic properties of $\pi^{N}(X,P)$

Let $f\,:\,(Y,\,O)\,\longrightarrow\,(X,\,P)$ be an étale $\Gamma$–Galois
cover of projective formal orbifolds.

######  Theorem 3.1.

Take a point $y\,\in\,Y$. There is a natural exact sequence

$1\,\longrightarrow\,\pi^{N}(Y,\,y)\,\stackrel{{\scriptstyle
i}}{{\longrightarrow}}\,\pi^{N}((X,P),\,f(y))\,\stackrel{{\scriptstyle
q}}{{\longrightarrow}}\,\Gamma\,\longrightarrow\,1\,.$

###### Proof.

Let $E$ be a $\pi^{N}((X,P),\,y)$–module, meaning it is an essentially finite
vector bundle on $(X,\,P)$. So $E$ is also an essentially finite vector bundle
on $Y$. Hence we have a homomorphism

$i\,:\,\pi^{N}(Y)\,\longrightarrow\,\pi^{N}(X,P)$ (3.1)

(the base point is suppressed). We note that any essentially finite vector
bundle $F$ on $Y$ is a sub-bundle of the $\Gamma$–equivariant bundle
$\bigoplus_{\gamma\in\Gamma}\gamma^{*}F$ on $Y$; this direct sum
$\bigoplus_{\gamma\in\Gamma}\gamma^{*}F$ is essentially finite because $F$ is
so. Consequently, $\bigoplus_{\gamma\in\Gamma}\gamma^{*}F$ is an essentially
finite vector bundle on $(X,\,P)$. Hence the homomorphism $i$ in (3.1) is a
closed immersion [2, p. 139, Proposition 2.21(b)].

Given a $\Gamma$–module $V$, we have the $\Gamma$–equivariant vector bundle

$Y(V)\ :=\,Y\times V\,\longrightarrow\,Y\,;$

here $\Gamma$ acts diagonally on $Y\times V$ using its actions on $Y$ and $V$.
Since $Y(V)$ is essentially finite, it defines an essentially finite bundle on
$(X,\,P)$. This construction produces a homomorphism

$q\,:\,\pi^{N}((X,P))\,\longrightarrow\,\Gamma$

(the base point is suppressed). This $q$ is surjective because the above
functor from $\Gamma$–modules to ${\rm Vect}^{f}(X,P)$ (defined in (2.1)) is
fully faithful [2, p. 139, Proposition 2.21(a)].

The composition $q\circ i$ is evidently trivial, because the vector bundle
underlying the $\Gamma$–equivariant bundle $Y(V)$ is trivial.

The inclusion homomorphism $\text{kernel}(q)\,\hookrightarrow\,\pi^{N}((X,P))$
corresponds to the forgetful functor that simply forgets the $\Gamma$–action
on a $\Gamma$–equivariant vector bundle on $Y$. From this it follows that
$\text{kernel}(q)\,=\,\text{image}(i)$. This completes the proof. ∎

Let $k$ be an algebraically closed field of positive characteristic. Take a
reduced and connected $k$–scheme $X$, and fix a rational point $x\,\in\,X$. We
recall from [8] the construction of a profinite group-scheme over $k$
associated to the pair $(X,\,x)$. Consider all quadruples of the form
$(G,\,Y,\,f,\,y)$, where

  * •

$G$ is a finite group-scheme defined over $k$,

  * •

$f\,:\,Y\,\longrightarrow\,X$ is a $G$–torsor, and

  * •

$y\,\in\,Y$ is a rational point such that $f(y)\,=\,x$.

A morphism
$(G,\,Y,\,f,\,y)\,\longrightarrow\,(G^{\prime},\,Y^{\prime},\,f^{\prime},\,y^{\prime})$
between two such quadruples is a pair of the form $(\rho,\,\varphi)$, where
$\rho\,:\,G\,\longrightarrow\,G^{\prime}$ is a homomorphism of $k$–group-
schemes and $\varphi\,:\,Y\,\longrightarrow\,Y^{\prime}$ is a morphism, such
that

  * •

$f^{\prime}\circ\varphi\,=\,f$,

  * •

$\varphi(y)\,=\,y^{\prime}$,

  * •

the morphism $\varphi$ is $G$–equivariant, for the action of $G$ on the
$G^{\prime}$–torsor $Y^{\prime}$ given by $\rho$.

Let $N(X,x)$ denote the category constructed using these quadruples and
morphisms between them.

The category $N(X,x)$ forms an inverse system. Nori proved that the inverse
limit

$\underset{{\sf N}(X,x)}{\mathop{\varprojlim}\limits}G$

exists as a profinite group-scheme over $k$ [8, Chapter 2, Proposition 2].
This inverse limit will be denoted by $\pi^{N}(X,\,x)$. When $X$ is a
projective variety, this profinite group-scheme $\pi^{N}(X,\,x)$ coincides
with the Tannaka dual of the category of essentially finite vector bundles on
$X$ [8, Chapter 1, Proposition 3.11].

######  Definition 3.2.

Let $X^{o}$ be an open dense subset of a normal projective variety $X$. Let
$G$ be a finite group scheme, and let

$Z^{o}\,\longrightarrow\,X^{o}$

be a $G$–torsor. We say that this $G$–torsor $Z^{o}$ étale locally extends to
$X$ if there exist a connected étale cover

$\phi\,:\,U\,\longrightarrow\,X^{o}$

such that the $G$–torsor $\phi^{*}Z^{o}$ extends to the normalization of $X$
in the function field $k(U)$.

######  Definition 3.3.

Let $X^{o}\,\subset\,X$ be a dense open subset. Define

$\pi^{n}(X^{o},\,x)\,:=\,\varprojlim_{{\rm BL}(P)\cap
X^{o}=\emptyset}\pi^{N}((X,P),\,x)$

to be the inverse limit.

######  Proposition 3.4.

As before, $X^{o}\,\subset\,X$ is a dense open subset. There is a natural
homomorphism $\pi^{N}(X^{o},\,x)\,\longrightarrow\,\pi^{n}(X^{o},\,x)$, which
is surjective.

###### Proof.

Let $G$ be a finite group scheme and
$f\,:\,\pi^{n}(X^{o})\,\longrightarrow\,G$ a surjection. Then $f$ defines a
functor ${\rm Rep}(G)\,\longrightarrow\,{\rm Rep}(\pi^{N}(X,P))$ for some
geometric branch data $P$ on $X$ such that ${\rm BL}(P)\bigcap
X^{o}\,=\,\emptyset$. But ${\rm Rep}(\pi^{N}((X,\,P)))$ is same as ${\rm
Vect}^{f}(X,\,P)$ which is same as ${\rm Vect}_{\Gamma}^{f}(Y)$, where

$f\,:\,(Y,\,O)\,\longrightarrow\,(X,\,P)$

is an étale $\Gamma$–cover. By Nori’s result a functor ${\rm
Rep}(G)\,\longrightarrow\,{\rm Vect}_{\Gamma}^{f}(Y)$ defines a $G$–torsor $W$
on $Y$ which is $\Gamma$ equivariant. Set $Y^{o}\,:=\,f^{-1}(X^{o})\,.$ and
let $W^{o}$ be the preimage of $Y^{o}$ in $W$. This $W^{o}$ is a $G$–torsor on
$Y^{o}$ which is $\Gamma$–equivariant. But $Y^{o}\,\longrightarrow\,X^{o}$ is
an étale $\Gamma$–cover, and hence $W^{o}$ descents to a $G$–torsor on
$X^{o}$. Therefore, it defines a surjection
$\pi^{N}(X^{o})\,\longrightarrow\,G$. This construction is compatible with
epimorphism of finite group schemes, and $\pi^{n}(X^{o})$ is the inverse limit
of its finite group scheme quotients. Consequently, this construction gives a
surjection from $\pi^{N}(X^{o})\,\longrightarrow\,\pi^{n}(X^{o})$. ∎

######  Proposition 3.5.

Let $G$ be a finite group scheme, and let $Z^{o}\,\longrightarrow\,X^{o}$ be a
$G$–torsor which étale locally extends to $X$. Then $G$ is a quotient of
$\pi^{n}(X^{o})$. Conversely, given a surjection
$\pi^{n}((X,P))\,\longrightarrow\,G$, where $P$ is such that ${\rm
BL}(P)\bigcap X^{o}\,=\,\emptyset$ and $G$ is a finite group scheme, the
associated $G$–torsor $Z^{o}\,\longrightarrow\,X^{o}$ étale locally extends to
$X$.

###### Proof.

Let $Y^{o}\,\longrightarrow\,X^{o}$ be a connected étale cover such that the
pullback of the $G$–torsor $Z^{o}$ to $Y^{o}$ extends to the normalization of
$X$ in $k(Y^{o})$ (the unique normal proper model of $Y^{o}$ finite over $X$).
By passing to the Galois closure, we may assume that
$f\,:\,Y\,\longrightarrow\,X$ is a Galois cover; the Galois group for $f$ will
be denoted by $\Gamma$. Let $P$ be the branch data on $X$ associated to $f$,
i.e., $P\,=\,B_{f}$ in the notation of [5]. Then
$f\,:\,(Y,\,O)\,\longrightarrow\,(X,\,P)$ is an étale $\Gamma$–cover. Also,
the pull back of the $G$–torsor $Z^{o}\,\longrightarrow\,X^{o}$ to $Y^{o}$ and
its extension to $Y$ is a $\Gamma$–equivariant $G$–torsor. Now a
representation $V$ of $G$ induces an essentially finite $\Gamma$–equivariant
bundle $\mathcal{V}$ on $Y$. The Tannaka subcategory generated by
$\mathcal{V}$ in the Tannaka category of $\Gamma$–equivariant essentially
finite bundles on $Y$ induces a surjection
$\pi^{N}((X,P))\,\longrightarrow\,G$. Hence we get a surjection
$\pi^{n}(X^{o})\,\longrightarrow\,G$.

For the converse, first note that since $G$ is a finite group scheme, a
surjection $\pi^{n}(X^{o})$ factors through $\pi^{N}(X,P)$ for some branch
data $P$ such that

$BL(P)\bigcap X^{o}\,=\,\emptyset\,.$

Let

$f\,:\,(Y,\,O)\,\longrightarrow\,(X,\,P)$

be an étale $\Gamma$–Galois cover of formal orbifolds. The surjection
$\pi^{N}((X,P))\,\longrightarrow\,G$ by Tannaka formalism yields a finite
collection $S$ of essentially finite $\Gamma$–equivariant bundle on $Y$ such
that the Tannaka dual of the Tannaka subcategory generated by $S$ is $G$. This
by an equivariant version of Nori’s reconstruction, [1, Section 2], yields a
$\Gamma$–equivariant $G$–torsor on $Y$. This torsor restricts to a
$\Gamma$–equivariant $G$–torsor on

$Y^{o}\,=\,f^{-1}(X^{o})\,.$

But $Y^{o}\,\longrightarrow\,X^{o}$ is an étale $\Gamma$ cover. Hence by
Galois descent we get a $G$–torsor on $X^{o}$ and by construction it étale
locally extends to $X$. ∎

Let $P$ and $Q$ be two branch data on a normal variety $X$. We say that
$P\,\geq\,Q$ if for all points $x\,\in\,X$ of codimension at least one and for
every affine connected open neighborhood $U$ of $x$,

$P(x,\,U)\,\supset\,Q(x,\,U)\,.$

######  Proposition 3.6.

Let $X$ be a smooth projective variety over $k$, and let $P\,\geq\,Q$ be two
geometric branch data on $X$. There is a fully faithful functor

${\rm Vect}^{f}(X,Q)\,\longrightarrow\,{\rm Vect}^{f}(X,P)$

that makes ${\rm Vect}^{f}(X,Q)$ into a Tannakian subcategory of ${\rm
Vect}^{f}(X,P)$. In particular, this functor induces an epimorphism
$\pi^{N}((X,P))\,\longrightarrow\,\pi^{N}((X,Q))$.

###### Proof.

This is proved in [5, Theorem 3.7]. We note that although [5, Theorem 3.7] is
stated for curves, its proof works, without any change, for all dimensions. ∎

##  4\. The kernel of projection from $\pi^{N}((X,P))$ to
$\pi_{1}^{et}((X,P))$

Let $\mathcal{X}\,=\,(X,\,P)$ be a proper formal orbifold, and let ${\rm
Vect}^{f}(\mathcal{X})$ be the Tannakian category of essentially finite vector
bundles on $\mathcal{X}$. We now define a new category ${\rm
Vect}^{f}_{et}(\mathcal{X})$.

An object of this category is a pair $\\{f:(Y,Q)\to(X,P),\,V\\}$, where $f$ is
étale and $V$ is an object of ${\rm Vect}^{f}(Y,Q)$ (i.e., $V$ is an
essentially finite vector bundle on $(Y,Q)$). Let
$\\{f_{i}:(Y_{i},Q_{i})\to(X,P),\,V_{i}\\}$, $i\,=\,1,\,2$, be two objects,
and let

$f\,:\,(Y,\,Q)\,\longrightarrow\,(X,\,P)$

be any étale morphism dominating $f_{1}$ and $f_{2}$; let
$g_{i}\,:\,Y\,\longrightarrow\,Y_{i}$ be the morphisms through which $f$
factors. Define

${\rm
Hom}((f_{1},V_{1}),\,(f_{2},V_{2}))\,:=\,\varinjlim_{f:(Y,Q)\to(X,P)}{\rm
Hom}_{{\rm Vect}^{f}(Y,Q)}(g_{1}^{*}V_{1},g_{2}^{*}V_{2})\,;$

here the limit is over all étale morphisms $f$ dominating $f_{1}$ and $f_{2}$.
Since ${\rm Vect}^{f}(Y,\,Q)$ is an abelian category for any proper formal
orbifold $(Y,\,Q)$, the category ${\rm Vect}^{f}_{et}(\mathcal{X})$ is also
abelian.

The tensor product $(f_{1},\,V_{1})\otimes(f_{2},\,V_{2})$ is defined as
follows: let $f\,:\,(Y,\,Q)\,\longrightarrow\,(X,\,P)$ be a dominating
connected component of the fiber product of $f_{1}$ and $f_{2}$, and let
$p_{1}$ and $p_{2}$ be the natural projection morphisms from this fiber
product. Then

$(f_{1},\,V_{1})\otimes(f_{2},\,V_{2})\,=\,(f,\,p_{1}^{*}V_{1}\otimes
p_{2}^{*}V_{2})\,.$

The dual of $(f_{1},\,V_{1})$ is $(f_{1},\,V^{\vee}_{1})$. So ${\rm
Vect}^{f}_{et}(\mathcal{X})$ is a rigid tensor abelian category.

Let $x$ be a closed point of the complement $X\setminus{\rm BL}(P)$. Let
$\widetilde{x}$ be a point of the universal cover $\widetilde{\mathcal{X}}$ of
$\mathcal{X}$; this means that for every finite étale connected cover
$(Y,\,Q)\,\longrightarrow\,(X,\,P)$ we choose a point in $Y$ over $x$ in a
compatible way. The point $\widetilde{x}$ defines a fiber functor
$\mathcal{F}_{\tilde{x},\mathcal{X}}$ from ${\rm Vect}^{f}_{et}(\mathcal{X})$
to the category of vector spaces ${\rm Vect}_{k}$ by sending
$\\{f:(Y,Q)\to(X,P),V\\}$ to the stalk of $V$ at the image of $\widetilde{x}$
in $Y$. This makes ${\rm Vect}^{f}_{et}(\mathcal{X})$ into a Tannakian
category. Let corresponding proalgebraic group scheme will be denoted by
$S(X,\,P)$.

######  Theorem 4.1.

Let $\mathcal{X}\,=\,(X,\,P)$ be a projective smooth formal orbifold. The dual
group of the Tannakian category $({\rm
Vect}^{f}_{et}(X,P),\,\mathcal{F}_{\widetilde{x},\mathcal{X}})$ is the kernel

$K(X,P)\,:=\,{\rm
kernel}(\pi^{N}(\mathcal{X},\,x)\,\rightarrow\,\pi_{1}^{et}(\mathcal{X},\,x))\,.$

###### Proof.

Let $S(X,P)$ denote the Tannaka dual of the category $({\rm
Vect}^{f}_{et}(X,P),\,\mathcal{F}_{\widetilde{x},\mathcal{X}})$. Let

$f\,:\,\mathcal{Y}\,\longrightarrow\,\mathcal{X}$

be a finite connected étale cover with $y\,\in\,\mathcal{Y}$ being the image
of $\widetilde{x}$. Note that there is a natural functor of Tannakian
categories

$\mathcal{I}_{\mathcal{Y}}\,:\,{\rm
Vect}^{f}(\mathcal{Y})\,\longrightarrow\,{\rm Vect}^{f}_{et}(\mathcal{X})$
(4.1)

that sends an essentially finite vector bundle $V$ on $\mathcal{Y}$ to
$(f,\,V)$. This functor is a full embedding. Note that
$\mathcal{F}_{\widetilde{x},\mathcal{Y}}\,:=\,\mathcal{F}_{\widetilde{x},\mathcal{X}}\circ\mathcal{I}_{\mathcal{Y}}$
is a fiber functor from ${\rm Vect}^{f}(\mathcal{Y})$ to the category ${\rm
Veck}_{k}$ of $k$–vector spaces. The functor $\mathcal{I}_{\mathcal{Y}}$ in
(4.1) induces a homomorphism of the duals

$S(X,\,P)\,\longrightarrow\,\pi^{N}(\mathcal{Y},\,y)\,.$ (4.2)

Also the pullback $f^{*}$ defines a functor ${\rm
Vect}^{f}(\mathcal{X})\,\longrightarrow\,{\rm Vect}^{f}(\mathcal{Y})$, and we
have an isomorphism of the functors $I_{\mathcal{X}}$ and
$I_{\mathcal{Y}}\circ f^{*}$. Hence the homomorphism
$S(X,P)\,\longrightarrow\,\pi^{N}(\mathcal{X},\,x)$, constructed using the
homomorphisms in (4.2), factors through
$S(X,P)\,\longrightarrow\,\pi^{N}(\mathcal{Y},\,y)$ for every finite étale
cover $\mathcal{Y}\,\longrightarrow\,\mathcal{X}$. Consequently, the image of
$S(X,P)$ in $\pi^{N}(\mathcal{X},\,x)$ lies in $K(X,P)$.

Let $\\{f:\mathcal{Y}\to\mathcal{X},V\\}$ be an object of ${\rm
Vect}^{f}_{et}(\mathcal{X})$. Then $V$ embeds into $f^{*}f_{*}V$. Also for a
vector bundle $W$ on $\mathcal{X}$ the objects
$\\{f:\mathcal{Y}\to\mathcal{X},\,f^{*}W\\}$ and
$\\{id:\mathcal{X}\to\mathcal{X},\,W\\}$ are isomorphic. Hence
$\\{f:\mathcal{Y}\to\mathcal{X},V\\}$ is a subobject of
$\mathcal{I}_{\mathcal{X}}(V)$. So an automorphism of
$\mathcal{F}_{\tilde{x},\mathcal{X}}$ which restricts to identity automorphism
on the category ${\rm Vect}^{f}(\mathcal{X})$ must be identity. Hence the
induced homomorphism $S(X,P)\,\longrightarrow\,K(X,P)$ is injective.

Let $\Phi$ be an automorphism of the fiber functor $F_{x}\,:\,{\rm
Vect}^{f}(\mathcal{X})\,\longrightarrow\,{\rm Vect}_{k}$ such that its image
in $\pi_{1}^{et}(\mathcal{X},\,x)$ is trivial. So
$\Phi\,\in\,\pi^{N}(\mathcal{Y},\,y)$ for every étale connected covering
$\mathcal{Y}\,\longrightarrow\,\mathcal{X}$ and any point $y\,\in\,Y$ lying
above $x$. Therefore, $\Phi$ is an automorphism of the fiber functor

$F_{y}\,:\,{\rm Vect}^{f}(\mathcal{Y})\,\longrightarrow\,{\rm Vect}_{k}\,.$

Let $O\,:=\,\\{f:\mathcal{Y}\to\mathcal{X},V\\}$ be an object of ${\rm
Vect}^{f}_{et}(\mathcal{X})$; define a map $\widetilde{\Phi}$ from
$\mathcal{F}_{\tilde{x},\mathcal{X}}(O)$ to itself to be the map $\Phi$ from
$F_{y}(V)$ to itself. Note that $\widetilde{\Phi}$ defines an automorphism of
the fiber functor $\mathcal{F}_{\widetilde{x},\mathcal{X}}$ whose restriction
to $F_{x}$ is $\Phi$. Hence the natural map $S(X,P)\,\longrightarrow\,K(X,P)$
is also surjective and so it, being injective also, is an isomorphism. ∎

######  Corollary 4.2.

Let $X$ be a projective normal variety, and let $P\,\geq\,Q$ be two geometric
branch data on $X$. Then we have the following morphism of exact sequences in
which all the vertical arrows are surjective:

$\textstyle{1\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$$\textstyle{K(X,P)\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$$\textstyle{\pi^{N}((X,P))\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$$\textstyle{\pi_{1}^{et}((X,P))\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$$\textstyle{1}$$\textstyle{1\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$$\textstyle{K(X,Q)\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$$\textstyle{\pi^{N}((X,Q))\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$$\textstyle{\pi_{1}^{et}((X,Q))\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$$\textstyle{1}$

###### Proof.

The surjectivity of the third arrow follows from [6]. The surjectivity of the
first (respectively, second) arrow follows from the observation that ${\rm
Vect}^{f}(X,\,Q)$ (respectively, ${\rm Vect}^{f}_{et}(X,\,Q)$) is a fully
faithful subcategory of ${\rm Vect}^{f}(X,\,P)$ (respectively, ${\rm
Vect}^{f}_{et}(X,\,P)$). ∎

######  Corollary 4.3.

Let $X$ be a projective normal variety and $X^{o}$ be an open subset of $X$
such that $X\setminus X^{o}$ is a normal crossing divisor. Then we have the
following morphism of exact sequences in which all the vertical arrows are
surjective:

$\textstyle{1\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$$\textstyle{K^{o}\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$$\textstyle{\pi^{n}(X^{o})\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$$\textstyle{\pi_{1}^{et}(X^{o})\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$$\textstyle{1}$$\textstyle{1\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$$\textstyle{K\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$$\textstyle{\pi^{N}(X)\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$$\textstyle{\pi_{1}^{et}(X)\ignorespaces\ignorespaces\ignorespaces\ignorespaces}$$\textstyle{1}$

###### Proof.

This follows from Corollary 4.2 by taking $Q$ to be the trivial branch data
and taking the inverse limit over the branch data $P$ whose branch locus lie
in $X\setminus X^{o}$. ∎

######  Remark 4.4.

Let $K^{t}$ be the kernel of the epimorphism
$\pi^{N}(X^{o})\,\longrightarrow\,\pi_{1}^{n}(X^{o})$. It is not clear to us
whether $K^{t}$ is trivial. But the image of $K^{t}$ in $K$ under the natural
homomorphism induced from $\pi^{N}(X^{o})\,\longrightarrow\,\pi^{N}(X)$ is
trivial, since $\pi^{N}(X^{o})\,\longrightarrow\,\pi^{N}(X)$ factors through
$\pi_{1}^{n}(X^{o})$.

######  Example 4.5.

Let $X\,=\,\mathbb{P}^{1}$, $Q\,=\,O$, $P$ to be tame ramification at four
points of $\mathbb{P}^{1}$ of order 2 (i.e., characteristic $p\neq 2$). Let
$E\,\longrightarrow\,X$ be a $\mathbb{Z}/2\mathbb{Z}$–cover by an elliptic
curve of $X\,=\,\mathbb{P}^{1}$. Let $V$ be a non-trivial Frobenius-trivial
$\mathbb{Z}/2\mathbb{Z}$–equivariant bundle on the elliptic curve. This can be
constructed by starting with a non-trivial Frobenius-trivial bundle $L$ on $E$
(for instance take the bundle associated to $\mu_{p}$ torsor which arises from
the kernel of the Frobenius morphism). Let $V\,=\,L\oplus g^{*}L$ where
$g\,\in\,\mathbb{Z}/2\mathbb{Z}$ is the nontrivial element. This shows that
$K(\mathbb{P}^{1},P)$ is non-trivial but $K(\mathbb{P}^{1},Q)$ is trivial (as
$\pi^{N}((\mathbb{P}^{1},Q))\,=\,\pi^{N}(\mathbb{P}^{1})$ is trivial). Hence
$K(X,P)\,\longrightarrow\,K(X,Q)$ is not an isomorphism. In particular, the
map $K^{o}\,\longrightarrow\,K$ in the above corollary need not be an
isomorphism. This also demonstrates that
$\pi^{N}((X,P))\,\not\cong\,\pi^{N}(X)\times_{\pi_{1}^{et}(X)}\pi_{1}^{et}((X,P))$
in general.

## References

  * [1] Biswas, I., Dey, A., Poddar, M., Tannakian classification of equivariant principal bundles on toric varieties. Transform. Groups (in press), arXiv:1806.02526.
  * [2] Deligne, P., Milne, J. S. (1982). Tannakian Categories, Hodge cycles, motives, and Shimura varieties, by P. Deligne, J. S. Milne, A. Ogus and K.-Y. Shih, pp. 101–228, Lecture Notes in Mathematics, 900, Springer-Verlag, Berlin-Heidelberg-New York, 1982.
  * [3] Harbater, D. (2003). Patching and Galois theory, Galois groups and fundamental groups, 313–424, Math. Sci. Res. Inst. Publ., 41, Cambridge Univ. Press, Cambridge, 2003.
  * [4] Kumar, M., Majumder, S. (2018). Parabolic bundles in positive characteristic. J. Ramanujan Math. Soc. 33, 1–36.
  * [5] Kumar, M., Parameswaran, A. J. (2019). Formal orbifolds and orbifold bundles in positive characteristic. Internat. J. Math. 30, no. 12, 1950067.
  * [6] Kumar, M. (2019). Ramification theory and formal orbifolds in arbitrary dimension. Proc. Indian Acad. Sci. Math. Sci. 129, no. 3, Art. 38.
  * [7] Nori, M. V. (1976). On the representations of the fundamental group, Compositio Math. 33, 29–41.
  * [8] Nori, M. V. (1982). The Fundamental Group-Scheme. Proc. Ind. Acad. Sc. (Math. Sci.) 91, 73–122.