(95) $\Sigma(u)\cap U_{w}=\left\\{(z,x)\in U_{w}\ |\
x^{g}-z^{g+1}-u_{g}x^{2}z^{g-1}-...-u_{1}x^{g+1}+x^{g+2}=0\right\\}\subset
U_{w}.$

Let $\tilde{\mathbb{P}}^{2}_{1}\rightarrow\mathbb{P}^{2}$ be the blow-up of
$\mathbb{P}^{2}$ at $[w:z:x]=[1:0:0]$. Locally on $U_{w}$ we write this as
$\tilde{U}_{w}\rightarrow U_{w}$ where

$\tilde{U}_{w}=\left\\{(z,x,[\tilde{z}:\tilde{x}])\in
U_{w}\times\mathbb{P}^{1}\ |\ z\tilde{x}-\tilde{z}x=0\right\\}\subset
U_{w}\times\mathbb{P}^{1}.$

Let $\tilde{\Sigma}_{1}(u)$ be the proper transform of $\Sigma(u)$. Consider
the open subset $U_{w,1}:=\\{\tilde{z}\neq 0\\}\subset\tilde{U}_{w}$, i.e. we
set $\tilde{z}=1$, so $x=z\tilde{x}$ and we can take
$(z_{1},x_{1}):=(z,\tilde{x})$ to be the local coordinates on $U_{w,1}$. Then

$\tilde{\Sigma}_{1}(u)\cap U_{w,1}=\left\\{(z_{1},x_{1})\in U_{w,1}\ |\
x^{g}_{1}-z_{1}-u_{g}x^{2}_{1}z_{1}-...-u_{1}x^{g+1}_{1}z_{1}+x^{g+2}_{1}z^{2}_{1}=0\right\\}\subset
U_{w,1}.$

We can see that for any choices of $u$ the curve $\tilde{\Sigma}_{1}(u)$
always passes through the point $(z_{1},x_{1})=(0,0)$. We can check that there
is no such basepoint on the other open set $V_{w,1}:=\\{\tilde{x}\neq
0\\}\subset\tilde{U}_{w}$. This confirms that $\Sigma(u)$ intersects
$[w:z:x]=[1:0:0]$ tangentially to $H_{x}$ as illustrated by Figure 3.1.1. To
continue we need to repeat the process by blowing up again at
$(z_{1},x_{1})=(0,0)$. Let us remark that the blow-up has removed the singular
point and $\tilde{\Sigma}_{1}(u)$ is a non-singular curve. Let
$E_{w,1}:=\\{z=0,x=0\\}\subset\tilde{U}_{w}$ be the exceptional divisor. Using
(94) we have found that

$K_{\tilde{\mathbb{P}}^{2}_{1}}=\pi^{*}K_{\mathbb{P}^{2}}+E_{w,1}=\pi^{*}(-H_{w}-2H_{x})+E_{w,1}=-H_{w}-2(H_{x}+E_{w,1})+E_{w,1}=-H_{w}-2H_{x}-E_{w,1},$

therefore $\tilde{\Sigma}_{1}(u)$ still intersects
$K_{\tilde{\mathbb{P}}^{2}_{1}}$ non-trivially. Moreover, $\deg
N_{\tilde{\Sigma}_{1}(u)}=\deg N_{\Sigma(u)}-g^{2}$. Since the remaining blow-
ups will occur on non-singular points, the degree of normal bundle will always
go down by $1$ for each blow-up.

Let $\tilde{\mathbb{P}}^{2}_{2}\rightarrow\tilde{\mathbb{P}}^{2}_{1}$ be the
blow-up of $\tilde{\mathbb{P}}^{2}_{1}$ at $(z_{1},x_{1})=(0,0)\in
U_{w,1}\subset\tilde{\mathbb{P}}^{2}_{1}$. Locally on $U_{w,1}$ we write this
as $\tilde{U}_{w,1}\rightarrow U_{w,1}$ where

$\tilde{U}_{w,1}=\left\\{(z_{1},x_{1},[\tilde{z}_{1},\tilde{x}_{1}])\in
U_{w,1}\times\mathbb{P}^{1}\ |\
z_{1}\tilde{x}_{1}-\tilde{z}_{1}x_{1}=0\right\\}\subset
U_{w,1}\times\mathbb{P}^{1}.$

Let $\tilde{\Sigma}_{2}(u)$ be the proper transform of
$\tilde{\Sigma}_{1}(u)$. Consider the open subset
$U_{w,2}:=\\{\tilde{x}_{1}\neq 0\\}\subset\tilde{U}_{w,1}$ with coordinates
$(z_{2},x_{2}):=(\tilde{z}_{1},x_{1})$. For any choice of $u$ the curve
$\tilde{\Sigma}_{2}(u)$ always pass the point $(z_{2},x_{2})=(0,0)$. We can
check that there is no such fixed point on the other open set
$V_{w,1}:=\\{\tilde{z}_{1}\neq 0\\}$. We repeat this process $g$ times. In
more detail, for $i=1,...,g$, we let
$\tilde{\mathbb{P}}^{2}_{i+1}\rightarrow\tilde{\mathbb{P}}^{2}_{i}$ be the
blow-up of $\tilde{\mathbb{P}}^{2}_{i}$ at $(z_{i},x_{i})=(0,0)\in
U_{w,i}\subset\tilde{\mathbb{P}}^{2}_{i}$. Locally on $U_{w,i}$ we write this
as $\tilde{U}_{w,i}\rightarrow U_{w,i}$. Let $\tilde{\Sigma}_{i+1}(u)$ be the
proper transform of $\tilde{\Sigma}_{i}(u)$. Set
$U_{w,i+1}:=\\{\tilde{x}_{i}\neq 0\\}\subset\tilde{U}_{w,i}$ with coordinates
$(z_{i+1},x_{i+1}):=(\tilde{z}_{i},x_{i})$. We find that

$\tilde{\Sigma}_{g+1}(u)\cap U_{w,g+1}=\left\\{(z_{g+1},x_{g+1})\in
U_{w,{g+1}}\ |\
1-z_{g+1}-u_{g}x^{2}_{g+1}z_{g+1}-...-u_{1}x^{g+1}_{g+1}z_{g+1}+x^{2g+2}_{g+1}z^{2}_{g+1}=0\right\\}.$

On the other hand, repeated application of (94) gives

$K_{\tilde{\mathbb{P}}^{2}_{g+1}}=-H_{w}-2H_{x}-E_{w,1}-2\sum_{i=1}^{g}E_{w,i+1}$

where $E_{w,i+1}:=\\{z_{i}=0,x_{i}=0\\}\subset\tilde{U}_{w,i}$ are exceptional
divisors. This time we observe that $\tilde{\Sigma}_{g+1}(u)$ passes through
the point $(z_{g+1},x_{g+1})=(1,0)$ for any choice of $u$. Let us define the
new coordinates by $(z^{\prime}_{g+1},x^{\prime}_{g+1}):=(z_{g+1}-1,x_{g+1})$.
We continue by letting
$\tilde{\mathbb{P}}^{2}_{g+2}\rightarrow\tilde{\mathbb{P}}^{2}_{g+1}$ to be
the blow-up at $(z^{\prime}_{g+1},x^{\prime}_{g+1})=(0,0)$. Locally, we write
this as $\tilde{U}_{w,g+1}\rightarrow U_{w,g+1}$ where

$\tilde{U}_{w,g+1}=\left\\{(z^{\prime}_{g+1},x^{\prime}_{g+1},[\tilde{z}^{\prime}_{g+1},\tilde{x}^{\prime}_{g+1}])\in
U_{w,g+1}\times\mathbb{P}^{1}\ |\
z^{\prime}_{g+1}\tilde{x}^{\prime}_{g+1}-\tilde{z}^{\prime}_{g+1}x^{\prime}_{g+1}=0\right\\}\subset
U_{w,g+1}\times\mathbb{P}^{1}.$

Let $\tilde{\Sigma}_{g+2}(u)$ be the proper transform of
$\tilde{\Sigma}_{g+1}(u)$ and let
$E_{w,g+2}:=\\{z^{\prime}_{g+1}=0,x^{\prime}_{g+1}=0\\}\subset\tilde{U}_{w,g+1}$
be the exceptional divisor. Consider the open set
$U_{w,g+2}:=\\{\tilde{x}^{\prime}_{g+1}\neq 0\\}\subset\tilde{U}_{w,g+1}$ and
let the local coordinates be
$(z_{g+2},x_{g+2}):=(\tilde{z}^{\prime}_{g+1},x^{\prime}_{g+1})$. For any
choices of $u$, the curve $\tilde{\Sigma}_{g+2}(u)$ always passes through the
point $(z_{g+2},x_{g+2})=(0,0)$. Blow up at the point
$(z_{g+2},x_{g+2})=(0,0)$ to get
$\tilde{\mathbb{P}}^{2}_{g+3}\rightarrow\tilde{\mathbb{P}}^{2}_{g+2}$. Let
$\tilde{\Sigma}_{g+3}(u)$ be the proper transform of
$\tilde{\Sigma}_{g+2}(u)$. We can check that we no longer have any fixed
points. Consider the open set $U_{w,g+3}:=\\{\tilde{x}_{g+2}\neq
0\\}\subset\tilde{U}_{w,g+2}$ and let
$(z_{g+3},x_{g+3}):=(\tilde{z}_{g+2},x_{g+2})$ be the local coordinates. Then

$\displaystyle\tilde{\Sigma}_{g+3}(u)\cap U_{w,g+3}$
$\displaystyle=\Big{\\{}(z_{g+3},x_{g+3})\in U_{w,g+3}\ |$
$\displaystyle\qquad-
z_{g+3}-(u_{g}+u_{g-1}x_{g+3}+...+u_{1}x^{g-1}_{g+3})(x^{2}_{g+3}z_{g+3}+1)+x^{2g}_{g+3}(x^{2}_{g+3}z_{g+3}+1)^{2}=0\Big{\\}}$

intersects the exceptional divisor
$E_{w,g+3}:=\\{z_{g+2}=0,x_{g+2}=0\\}\subset\tilde{U}_{w,g+2}$ at
$(z_{g+3},x_{g+3})=(-u_{g},0)$ which varies with $u$. Using (94) we find that
the canonical divisor of $\tilde{\mathbb{P}}^{2}_{g+3}$ is

$K_{\tilde{\mathbb{P}}^{2}_{g+3}}=-H_{w}-2H_{x}-E_{w,1}-2\sum_{i=2}^{g+1}E_{w,i}-E_{w,g+2}.$

Let $U_{z}:=\\{z\neq 0\\}\subset\tilde{\mathbb{P}}^{2}_{g+3}$ be an open set
with coordinates $(w,x)$. We notice that
$\tilde{\Sigma}_{g+3}(u)\subset\tilde{\mathbb{P}}^{2}_{g+3}$ only intersects
$K_{\tilde{\mathbb{P}}^{2}_{g+3}}$ on $U_{z}$ at $(w,x)=0$. This is the point
$[w:z:x]=[0:1:0]\in\mathbb{P}^{2}$ if we blow-down
$\tilde{\mathbb{P}}^{2}_{g+3}$ to $\mathbb{P}^{2}$. So the next step is to
perform another series of blow-ups starting from $(w,x)=(0,0)$.

####  3.1.4. Constructing $S$. Part 2: Blowing up $[w:z:x]=[0:1:0]$

On the open set $U_{z}=\\{z\neq 0\\}\subset\tilde{\mathbb{P}}^{2}_{g+3}$ we
set $z=1$ and it follows that

(96) $\tilde{\Sigma}_{g+3}(u)\cap U_{z}=\left\\{(w,x)\in U_{z}\ |\
w^{2}x^{g}-w(1+u_{g}x^{2}+...+u_{1}x^{g+1})+x^{g+2}=0\right\\}.$

Let $\tilde{\mathbb{P}}^{2}_{g+3;1}\rightarrow\tilde{\mathbb{P}}^{2}_{g+3}$ be
the blow-up of $\tilde{\mathbb{P}}^{2}_{g+3}$ at $(w,x)=(0,0)\in U_{z}$.
Locally on $U_{z}$ we write this as $\tilde{U}_{z}\rightarrow U_{z}$ where

$\tilde{U}_{z}=\left\\{(w,x,[\tilde{w},\tilde{x}])\in
U_{z}\times\mathbb{P}^{1}\ |\ w\tilde{x}-\tilde{w}x=0\right\\}.$

Let $\tilde{\Sigma}_{g+3;1}(u)$ be the proper transform of
$\tilde{\Sigma}_{g+3}(u)$ and $E_{z,1}:=\\{w=0,x=0\\}\subset\tilde{U}_{z}$ be
the exceptional divisor. Consider the open subset $U_{z,1}:=\\{\tilde{x}\neq
0\\}\subset\tilde{U}_{z}$ with coordinates $(w_{1},x_{1}):=(\tilde{w},x)$. For
any choice of $u$, the curve $\tilde{\Sigma}_{g+3;1}(u)$ passes through the
point $(w_{1},x_{1})=(0,0)$. This confirms that $\Sigma(u)$ intersects
$[w:z:x]=[0:1:0]$ tangentially to $H_{x}$ as illustrated by Figure 3.1.1. We
repeat this process $g+2$ times. In more detail, for $i=1,...,g+1$, we let
$\tilde{\mathbb{P}}^{2}_{g+3;i+1}\rightarrow\tilde{\mathbb{P}}^{2}_{g+3;i}$ be
the blow-up at $(w_{i},x_{i})=(0,0)\in
U_{z,i}\subset\tilde{\mathbb{P}}^{2}_{g+3;i}$. Locally on $U_{z,i}$ we write
this as $\tilde{U}_{z,i}\rightarrow U_{z,i}$. Let
$\tilde{\Sigma}_{g+3;i+1}(u)$ be the proper transform of
$\tilde{\Sigma}_{g+3;i}(u)$ and let
$E_{z,i+1}:=\\{w_{i}=0,x_{i}=0\\}\subset\tilde{U}_{z,i}$. Set
$U_{z,i+1}:=\\{\tilde{x}_{i}\neq 0\\}\subset\tilde{U}_{z,i}$ with coordinates
$(w_{i+1},x_{i+1}):=(\tilde{w}_{i},x_{i})$. Then we find that

$\tilde{\Sigma}_{g+3;g+2}(u)\cap U_{z,g+2}=\left\\{(w_{g+2},x_{g+2})\in
U_{z,g+2}\ |\
w^{2}_{g+2}x^{2g+2}_{g+2}-w_{g+2}(1+u_{g}x^{2}_{g+2}+...+u_{1}x^{g+1}_{g+2})+1=0\right\\}.$

Therefore $\tilde{\Sigma}_{g+3;g+2}(u)$ passes through the point
$(w_{g+2},x_{g+2})=(1,0)$ for all $u$. We define new coordinates
$(w^{\prime}_{g+2},x^{\prime}_{g+2}):=(w_{g+2}-1,x_{g+2})$ and continue by
letting
$\tilde{\mathbb{P}}^{2}_{g+3;g+3}\rightarrow\tilde{\mathbb{P}}^{2}_{g+3;g+2}$
be the blow-up at $(w^{\prime}_{g+2},x^{\prime}_{g+2})=(0,0)$. Locally, we
write this as $\tilde{U}_{z,g+2}\rightarrow U_{z,g+2}$ where

$\tilde{U}_{z,g+2}=\left\\{(w^{\prime}_{g+2},x^{\prime}_{g+2},[\tilde{w}^{\prime}_{g+2},\tilde{x}^{\prime}_{g+2}])\in
U_{z,g+2}\times\mathbb{P}^{1}\ |\
w^{\prime}_{g+2}\tilde{x}^{\prime}_{g+2}-\tilde{w}^{\prime}_{g+2}x^{\prime}_{g+2}=0\right\\}\subset
U_{z,g+2}\times\mathbb{P}^{1}.$

Let $\tilde{\Sigma}_{g+3;g+3}(u)$ be the proper transform of
$\tilde{\Sigma}_{g+3;g+2}(u)$ and let
$E_{z,g+3}:=\\{w^{\prime}_{g+2}=0,x^{\prime}_{g+2}=0\\}\subset\tilde{U}_{z,g+2}$
be the exceptional divisor. Consider the open set
$U_{z,g+3}:=\\{\tilde{x}_{g+2}^{\prime}\neq 0\\}\subset\tilde{U}_{z,g+2}$ and
let the local coordinates be
$(w_{g+3},x_{g+3}):=(\tilde{w}^{\prime}_{g+2},x^{\prime}_{g+2})$. For any
choice of $u$, the curve $\tilde{\Sigma}_{g+3;g+3}(u)$ always passes through
the point $(w_{g+3},x_{g+3})=(0,0)$. Blow up at the point
$(w_{g+3},x_{g+3})=(0,0)$ to get
$\tilde{\mathbb{P}}^{2}_{g+3;g+4}\rightarrow\tilde{\mathbb{P}}^{2}_{g+3;g+3}$.
Let $\tilde{\Sigma}_{g+3;g+4}(u)$ be the proper transform of
$\tilde{\Sigma}_{g+3;g+3}(u)$. We can check that we no longer have any
basepoint. Consider the open set $U_{z,g+4}:=\\{\tilde{x}_{g+3}\neq
0\\}\subset\tilde{U}_{z,g+3}$ and let
$(w_{g+4},x_{g+4}):=(\tilde{w}_{g+3},x_{g+3})$ be the local coordinates. Then

$\displaystyle\tilde{\Sigma}_{g+3;g+4}(u)$ $\displaystyle\cap
U_{z,g+4}=\Big{\\{}(w_{g+4},x_{g+4})\in U_{z,g+4}\ |$
$\displaystyle(x^{2}_{g+4}w_{g+4}+1)^{2}x^{2g}_{g+4}-w_{g+4}-w_{g+4}(u_{g}x^{2}_{g+4}+...+u_{1}x^{g+1}_{g+4})-(u_{g}+u_{g-1}x_{g+4}...+u_{1}x^{g-1}_{g+4})=0\Big{\\}}$

intersects the exceptional divisor
$E_{z,g+4}:=\\{w_{g+3}=0,x_{g+3}=0\\}\subset\tilde{U}_{z,g+3}$ at
$(w_{g+4},x_{g+4})=(-u_{g},0)$ which varies with $u$.

Finally, using (94) we find that the canonical divisor of
$\tilde{\mathbb{P}}^{2}_{g+3;g+4}$ is

$K_{\tilde{\mathbb{P}}^{2}_{g+3;g+4}}=-H_{w}-2H_{x}-E_{w,1}-2\sum_{i=2}^{g+1}E_{w,i}-E_{w,g+2}-2\sum_{i=1}^{g+2}E_{z,i}-E_{z,g+3}.$

Evidently, the curve $\tilde{\Sigma}_{g+3;g+4}(u)$ intersects
$K_{\tilde{\mathbb{P}}^{2}_{g+3;g+4}}$ trivally and therefore, we have
$\nu_{\tilde{\Sigma}_{g+3;g+4}}\cong\Omega^{1}_{\tilde{\Sigma}_{g+3;g+4}}$ by
(92). In particular, the moduli space now has the correct dimension

$\dim\Gamma(\tilde{\Sigma}_{g+3;g+4}(u),\nu_{\tilde{\Sigma}_{g+3;g+4}(u)})=\dim\Gamma(\tilde{\Sigma}_{g+3;g+4}(u),\Omega^{1}_{\tilde{\Sigma}_{g+3;g+4}(u)})=g.$

We can check the consistency by calculating the degree of
$\nu_{\tilde{\Sigma}_{g+3;g+4}(u)}$ using (93):

$\deg\nu_{\tilde{\Sigma}_{g+3;g+4}(u)}=\deg\nu_{\Sigma(u)}-g^{2}-(g+2)-(g+4)=(g+2)^{2}-(g^{2}+2g+6)=2g-2.$

####  3.1.5. Summary

The Figure 3.1.2 assists the visualization of this construction. We define
$S:=\tilde{\mathbb{P}}^{2}_{g+3;g+4}\setminus
K_{\tilde{\mathbb{P}}^{2}_{g+3;g+4}}$. We take $\tilde{\Sigma}_{g+3;g+4}(u)$
to be the embedding of the Seiberg-Witten curve $\Sigma(u)$ in $S$ which we
will simply denote by $\Sigma(u)\subset S$ from now on. It is clear that
$\mathbb{C}^{*}\times\mathbb{C}$ is an open dense subset of $S$. The
symplectic form is $\Omega_{S}:=\frac{d(w/x)}{w/x}\wedge
d\left(\frac{z}{x}\right)$ where we have extended the domain of functions
$\frac{z}{x}$ and $\frac{w}{x}$ from $\mathbb{P}^{2}$ to
$S\subset\tilde{\mathbb{P}}^{2}_{g+3;g+4}$ in the obvious way. The foliation
$\mathcal{F}$ is given by $\frac{w}{x}=const$. On the open set $U_{w,g+3}$,
the foliation $\mathcal{F}$ is given in local coordinates $(z_{g+3},x_{g+3})$
by

$(z_{g+3}x^{2}_{g+3}+1)x^{g+1}_{g+3}=const.$

We find that $E_{w,g+3}\cap U_{w,g+3}=\\{x_{g+3}=0\\}$ is a leaf of the
foliation with $const=0$ and so $\Sigma(u)$ is transverse to the foliation at
the intersection $\Sigma(u)\cap E_{w,g+3}=\\{(z_{g+3},x_{g+3})=(-u_{g},0)\\}$.
Similarly, on the open set $U_{z,g+4}$ for foliation $\mathcal{F}$ is given in
local coordinates $(w_{g+4},x_{g+4})$ by

$(w_{g+4}x^{2}_{g+4}+1)x^{g+1}_{g+4}=const.$

We find that $E_{z,g+4}\cap U_{z,g+4}=\\{x_{g+4}=0\\}$ is a leaf of the
foliation with $const=0$ and so $\Sigma(u)$ is transverse to the foliation at
the intersection $\Sigma(u)\cap E_{z,g+4}=\\{(w_{g+4},x_{g+4}=(-u_{g},0)\\}$.

It follows that all ramification points of $\Sigma(u)\subset S$ are contained
inside the dense subset $\mathbb{C}^{*}\times\mathbb{C}\subset S$.

###  3.2. From the Seiberg-Witten Family of Curves to Airy Structures

Let us consider the genus $g$ family $\mathcal{B}$ of smooth Seiberg-Witten
curves $\Sigma(u)$ embedded in $(S,\Omega_{S},\mathcal{F})$ as constructed in
the last section. Since all ramification points of $\Sigma(u)$ are contained
inside $\mathbb{C}^{*}\times\mathbb{C}\subset S\rightarrow\mathbb{P}^{2}$, for
all practical purposes we can work exclusively in this subset and set $x=1$.
We now have $\Omega_{S}=\frac{dw}{w}\wedge dz$ and $\Sigma(u)$ is defined by
the algebraic equation $w+\frac{1}{w}=P(z;u)$. Throughout this section, we
will denote by

$z_{i}(u),\qquad i=1,...,g$

the roots of $P^{\prime}(z;u)=0$ and we will fix the reference point to be
$[\Sigma_{0}]:=[\Sigma(u_{0})]\in\mathcal{B}$.

We begin in Section 3.2.1 by locating the ramification points $\\{r_{\alpha\in
Ram}\\}$ of $\Sigma(u)$ and write down the local parameterization of
$\Sigma(u)$ in some neighbourhood of each $r_{\alpha}$. Recall that the image
$\gamma(\Sigma_{0})$ of $\Sigma_{0}$ in $Discs^{Ram}$ needs to take the form
$(x_{\alpha}=z_{\alpha}^{2},y_{\alpha}=z_{\alpha}),\alpha\in Ram$ for the
image of the embedding $\Phi_{\Sigma_{0}}:\mathcal{B}_{\Sigma_{0}}\rightarrow
G_{\Sigma_{0}}$ to satisfies the $Ram$ product residue constraints (see
Proposition 2.5.38). Therefore, in Section 3.2.2, we explicitly find the
$(\mathcal{F},\Omega_{S})$-local coordinates transformation which brings
$\gamma(\Sigma_{0})$ into the needed form. This gives us a collection of
$(\mathcal{F},\Omega_{S})$-charts $\mathcal{U}_{Ram}$. Then in Section 3.2.3,
we will also explain how the parameters $\\{\epsilon_{\alpha\in Ram}\\}$,
$\\{M_{\alpha\in Ram}\\}$ and an open neighbourhood $\mathcal{B}_{\Sigma_{0}}$
of $[\Sigma_{0}]\in\mathcal{B}$ can be chosen. Now that
$\\{\epsilon_{\alpha\in Ram}\\},\\{M_{\alpha\in Ram}\\},\mathcal{U}_{Ram}$ and
$\mathcal{B}_{\Sigma_{0}}$ has been selected, we are going to write down the
embedding $\gamma:\mathcal{B}_{\Sigma_{0}}\hookrightarrow
Discs^{Ram}_{t(\Sigma_{0})}$ follows by
$Discs^{Ram}_{t(\Sigma_{0})}\hookrightarrow W^{Ram}_{t(\Sigma_{0})}$ as given
in Section 2.4.3 and the embedding $\mathcal{B}_{\Sigma_{0}}\hookrightarrow
G_{\Sigma_{0}}$ in Section 3.2.4 and Section 3.2.5 respectively. These two
embeddings will be compared, giving a proof of Proposition 2.5.38 in the
specific example of the Seiberg-Witten family of curves.

####  3.2.1. Ramification points and local parameterization of Seiberg-Witten
curves

Ramification points of $\Sigma_{0}$ are

(97)
$Ram=\left\\{r_{i\pm}=\left(w=\frac{-P\left(z_{i}(u_{0});u_{0}\right)\pm\sqrt{P\left(z_{i}(u_{0});u_{0}\right)^{2}-4}}{2},z=z_{i}(u_{0})\right)\
\Big{|}\ i=1,...,g\right\\}.$

Let us choose the local coordinates $(w_{i\pm},z_{i\pm})$ of $S$ around
$r_{\pm}$ to be

(98) $(w_{i\pm},z_{i\pm})=\left(w+\frac{1}{w},\frac{z}{w-\frac{1}{w}}\right).$

We have $\Omega_{S}=dw_{i\pm}\wedge dz_{i\pm}$ and the foliation is
$w_{i\pm}=const$. Of course, this is not a unique choice, alternatively we can
also use $(\log w,z)$ but it will be harder to write down the standard local
coordinates. Given a curve $[\Sigma(u)]\in\mathcal{B}_{\Sigma_{0}}$, we find a
standard local coordinates
$\eta^{2}_{i\pm}:=P(z;u)-P(z_{i}(u);u)=\frac{1}{2}P^{\prime\prime}(z_{i}(u);u)(z-z_{i}(u))^{2}+...$
of $\Sigma(u)$ around $r_{i\pm}(\Sigma(u))$. The parameterization of
$\Sigma(u)$ is given in the same $(w_{i\pm},z_{i\pm})$ coordinates of $S$ by

(99)
$t_{i\pm}(\Sigma(u))=\left(w_{i\pm}=\eta_{i\pm}^{2}+P(z_{i}(u);u),z_{i\pm}=\pm\frac{z(\eta_{i\pm};u)}{\sqrt{(\eta_{i\pm}^{2}+P(z_{i}(u);u))^{2}-4}}\right).$

Where
$z(\eta_{i\pm};u)=z_{i}(u)+\left(\frac{2}{P^{\prime\prime}(z_{i}(u);u)}\right)^{\frac{1}{2}}\eta_{i\pm}+...$
is the inverse of $\eta_{i\pm}^{2}=P(z;u)-P(z_{i}(u);u)$ for $z\approx
z_{i}(u)$ or $\eta_{i\pm}\approx 0$. When $u=u_{0}$ the parameterization of
$\Sigma_{0}$ near $r_{i\pm}(\Sigma_{0})$ using the standard local coordinates
$\eta_{i\pm}$ is given in the $(w_{i\pm},z_{i\pm})$ coordinates by

(100)
$t_{i\pm}(\Sigma_{0})=\left(w_{i\pm}=\eta_{i\pm}^{2}+P(z_{i}(u_{0});u_{0}),z_{i\pm}=\pm\frac{z(\eta_{i\pm};u_{0})}{\sqrt{(\eta_{i\pm}^{2}+P(z_{i}(u_{0});u_{0}))^{2}-4}}\right).$

The problem is that in $(w_{i\pm},z_{i\pm})$ local coordinates
$t_{i\pm}(\Sigma_{0})$ does not equal to
$(w_{i\pm}=\eta^{2}_{i\pm},z_{i\pm}=\eta_{i\pm})$.

####  3.2.2. Choosing the $(\mathcal{F},\Omega_{S})$-local coordinates

Lemma 2.1.9 tells us that we can transform into a new local coordinates

(101)
$(\bar{w}_{i\pm},\bar{z}_{i\pm})=\left(F_{i\pm}(w_{i\pm}),\frac{z_{i\pm}}{F^{\prime}_{i\pm}(w_{i\pm})}-G^{\prime}_{i\pm}(w_{i\pm})\right)$

of $S$ around $r_{i\pm}(\Sigma_{0})$ such that
$\Omega_{S}=\bar{w}_{i\pm}\wedge\bar{z}_{i\pm}$ and the foliation is
$\bar{w}_{i\pm}=const$ and
$t_{i\pm}(\Sigma_{0})=(\bar{w}_{i\pm}=\bar{\eta}_{i\pm}^{2},\bar{z}_{i\pm}=\bar{\eta}_{i\pm})$
where the new standard local coordinates $\bar{\eta}_{i\pm}$ is given by
$\bar{\eta}_{i\pm}^{2}:=F_{i\pm}(\eta_{i\pm}^{2}+F^{-1}_{i\pm}(0))$. Comparing
(9) with (100) determines what function $F_{i\pm}$ and $G_{i\pm}$ have to be:

(102) $\displaystyle F^{-1}_{i\pm}(0)$ $\displaystyle=P(z_{i}(u_{0});u_{0})$
(103) $\displaystyle
F^{\prime}_{i\pm}\left(\eta^{2}_{i\pm}+F^{-1}_{i\pm}(0)\right)\left(\left(F_{i\pm}(\eta^{2}_{i\pm}+F^{-1}_{i\pm}(0)\right)^{1/2}+G^{\prime}_{i\pm}\left(\eta^{2}_{i\pm}+F^{-1}_{i\pm}(0)\right)\right)$
$\displaystyle=\pm\frac{z(\eta_{i\pm};u_{0})}{\sqrt{(\eta_{i\pm}^{2}+P(z_{i}(u_{0});u_{0}))^{2}-4}}.$

We separate $z(\eta_{i\pm};u_{0})$ into the sum of its odd and even components
$z(\eta_{i\pm};u_{0})=z_{odd}(\eta_{i\pm};u_{0})+z_{even}(\eta_{i\pm};u_{0})$
where

$z_{odd}(\eta_{i\pm};u_{0}):=\frac{z(+\eta_{i\pm};u_{0})-z(-\eta_{i\pm};u_{0})}{2},\qquad
z_{even}(\eta_{i\pm};u_{0}):=\frac{z(+\eta_{i\pm};u_{0})+z(-\eta_{i\pm};u_{0})}{2}.$

Comparing the odd components on both sides of (103), we have

$\displaystyle\frac{1}{2\eta_{i\pm}}\left(F_{i\pm}\left(\eta^{2}_{i\pm}+F^{-1}_{i\pm}(0)\right)\right)^{1/2}\frac{d}{d\eta_{i\pm}}F_{i\pm}\left(\eta^{2}_{i\pm}+F^{-1}_{i\pm}(0)\right)$
$\displaystyle=\pm\frac{z_{odd}(\eta_{i\pm};u_{0})}{\sqrt{(\eta^{2}_{i\pm}+P(z_{i}(u_{0});u_{0}))^{2}-4}}$
$\displaystyle\implies\frac{1}{3}\frac{d}{d\eta_{i\pm}}\left(F_{i\pm}(\eta^{2}_{i\pm}+F^{-1}_{i\pm}(0))\right)^{3/2}$
$\displaystyle=\pm\frac{\eta_{i\pm}z_{odd}(\eta_{i\pm};u_{0})}{\sqrt{(\eta^{2}_{i\pm}+P(z_{i}(u_{0});u_{0}))^{2}-4}}.$

Integrating both sides gives us

(104) $\left(F_{i\pm}(\eta^{2}_{i\pm}+F^{-1}_{i\pm}(0))\right)^{3/2}=\pm
3\int_{0}^{\eta_{i\pm}}\frac{\tau
z_{odd}(\tau;u_{0})}{\sqrt{(\tau^{2}+P(z_{i}(u_{0});u_{0}))^{2}-4}}d\tau.$

We note that the right-hand-side of (104) takes the form
$\sim\eta_{i\pm}^{3}(1+O(\eta^{2}_{i\pm}))$ because the integrand is a
function of $\tau^{2}$ without a constant term. It follows after raising (104)
to the power of $2/3$ that
$F_{i\pm}(\eta^{2}_{i\pm}+F^{-1}(0))\sim\eta^{2}_{i\pm}(1+O(\eta^{2}_{i\pm}))$.
For each ramification point $i\pm\in Ram$, there are $3$ choices of $F_{i\pm}$
corresponding to each third root of $(\pm 1)$. For simplicity, let us choose a
third root so that $(\pm 1)^{2/3}=+1$. Combining (104), (102) we have

(105)
$F_{i\pm}(w_{i\pm})=\left(3\int_{0}^{\sqrt{w_{i\pm}-P(z_{i}(u_{0});u_{0})}}\frac{\tau
z_{odd}(\tau;u_{0})}{\sqrt{(\tau^{2}+P(z_{i}(u_{0});u_{0}))^{2}-4}}d\tau\right)^{2/3}.$

With our choice of the third-root we have $F_{i+}=F_{i-}$, similar to how we
have $w_{i+}=w+\frac{1}{w}=w_{i-}$. Using the expansion
$z(\eta_{i\pm};u)=z_{i}(u)+\left(\frac{2}{P^{\prime\prime}(z_{i}(u);u)}\right)^{\frac{1}{2}}+...$,
the expansion of $F_{i\pm}(w_{i\pm})$ around the ramification point $r_{i\pm}$
is given by

(106)
$F_{i\pm}(w_{i\pm})=(w_{i\pm}-P(z_{i}(u_{0});u_{0}))\left(\left(\frac{2}{P^{\prime\prime}(z_{i}(u_{0});u_{0})}\right)^{\frac{1}{2}}+O\left((w_{i\pm}-P(z_{i}(u_{0});u_{0}))^{2}\right)\right)^{\frac{2}{3}}$

Next, we compare the even components on both sides of (103). We have

$F^{\prime}_{i\pm}\left(\eta^{2}_{i\pm}+F^{-1}_{i\pm}(0)\right)G^{\prime}_{i\pm}\left(\eta^{2}_{i\pm}+F^{-1}_{i\pm}(0)\right)=\pm\frac{z_{even}(\eta_{i\pm};u_{0})}{\sqrt{(\eta^{2}_{i\pm}+P(z_{i}(u_{0});u_{0}))^{2}-4}}$

Substituting the expression for $F_{i\pm}$ from (105) we have

(107)
$G^{\prime}_{i\pm}\left(w_{i\pm}\right)=\frac{z_{even}(\sqrt{w_{i\pm}-P(z_{i}(u_{0});u_{0})};u_{0})}{z_{odd}(\sqrt{w_{i\pm}-P(z_{i}(u_{0});u_{0})};u_{0})}\left(F_{i\pm}(w_{i\pm})\right)^{1/2}.$

Finally, using (98) and (101) we can write down the coordinates transformation
from $(\log w,z)$ to $(\bar{w}_{i\pm},\bar{z}_{i\pm})$ in terms of the
function $F_{i\pm}$ we have found in (105):

$\displaystyle\bar{w}_{i\pm}$
$\displaystyle=F_{i\pm}\left(w+\frac{1}{w}\right)$ (108)
$\displaystyle\bar{z}_{i\pm}$
$\displaystyle=\left(\frac{z-z_{even}\left(\sqrt{w+\frac{1}{w}-P(z_{i}(u_{0});u_{0})};u_{0}\right)}{z_{odd}\left(\sqrt{w+\frac{1}{w}-P(z_{i}(u_{0});u_{0})};u_{0}\right)}\right)\left(F_{i\pm}\left(w+\frac{1}{w}\right)\right)^{1/2}.$

Using the standard local coordinate

(109)
$\bar{\eta}_{i\pm}:=\sqrt{F_{i\pm}(\eta^{2}_{i\pm}+P(z_{i}(u);u))-F_{i\pm}(P(z_{i}(u_{0});u_{0}))}$

corresponding to the local coordinates $(\bar{w}_{i\pm},\bar{z}_{i\pm})$, we
find that $t_{i\pm}(\Sigma(u))$ as given in (99) becomes

$\displaystyle t_{i\pm}(\Sigma(u))=\Bigg{(}\bar{w}_{i\pm}$
$\displaystyle=\bar{\eta}_{i\pm}^{2}+F_{i\pm}(P(z_{i}(u);u)),$
$\displaystyle\bar{z}_{i\pm}$
$\displaystyle=\frac{z\left(\sqrt{F^{-1}_{i\pm}\left(\bar{\eta}_{i\pm}^{2}+F_{i\pm}\left(P(z_{i}(u);u)\right)\right)-P(z_{i}(u);u)};u\right)}{z_{odd}\left(\sqrt{F^{-1}_{i\pm}\left(\bar{\eta}_{i\pm}^{2}+F_{i\pm}\left(P(z_{i}(u);u)\right)\right)-P(z_{i}(u_{0});u_{0})};u_{0}\right)}\sqrt{\bar{\eta}_{i\pm}^{2}+F_{i\pm}\left(P(z_{i}(u);u)\right)}$
$\displaystyle\qquad-\frac{z_{even}\left(\sqrt{F^{-1}_{i\pm}\left(\bar{\eta}_{i\pm}^{2}+F_{i\pm}\left(P(z_{i}(u);u)\right)\right)-P(z_{i}(u_{0});u_{0})};u_{0}\right)}{z_{odd}\left(\sqrt{F^{-1}_{i\pm}\left(\bar{\eta}_{i\pm}^{2}+F_{i\pm}\left(P(z_{i}(u);u)\right)\right)-P(z_{i}(u_{0});u_{0})};u_{0}\right)}\sqrt{\bar{\eta}_{i\pm}^{2}+F_{i\pm}\left(P(z_{i}(u);u)\right)}$
$\displaystyle=:\sum_{k=0}^{\infty}b_{i\pm,k}(\Sigma)\bar{\eta}_{i\pm}^{k}\Bigg{)}\in
Discs^{M_{i\pm}}$

When $u=u_{0}$, we have $F_{i\pm}(P(z_{i}(u);u))=0$ and evidently

$t_{i\pm}(\Sigma(u=u_{0}))=t_{i\pm}(\Sigma_{0})=(\bar{w}_{i\pm}=\bar{\eta}_{i\pm}^{2},\bar{z}_{i\pm}=\bar{\eta}_{i\pm})\in
Discs^{M_{i\pm}}$

as expected. We note that $\bar{z}_{i\pm}$ is a well-defined holomorphic
function of $\bar{\eta}_{i\pm}$ for all $|\bar{\eta}_{i\pm}|<M_{i\pm}$ (for
some constant $M_{i\pm}$ which we are going to discuss soon) and for all $u$
close to $u_{0}$ (or $[\Sigma]\in\mathcal{B}_{\Sigma_{0}}$ close to
$[\Sigma_{0}]$) despite all of appearance of square-roots. This is because
$z_{odd}$ factors are
$\sim\sqrt{\bar{\eta}_{i\pm}^{2}+F_{i\pm}\left(P(z_{i}(u);u)\right)}\left(1+O\left(\bar{\eta}_{i\pm}^{2}+F_{i\pm}\left(P(z_{i}(u);u)\right)\right)\right)$
as $F^{-1}_{i\pm}(\bar{w}_{i\pm})=P(z_{i}(u_{0});u_{0})+O(\bar{w}_{i\pm})$ and
the factor $\sqrt{\bar{\eta}_{i\pm}^{2}+F_{i\pm}\left(P(z_{i}(u);u)\right)}$
cancels with the same factor in the numerator. On the other hand, $z_{even}$
is free of square-roots because it only contains the even power terms. Lastly,
$F^{-1}_{i\pm}\left(\bar{\eta}_{i\pm}^{2}+F_{i\pm}\left(P(z_{i}(u);u)\right)\right)-P(z_{i}(u);u)$
vanishes when $\bar{\eta}^{2}_{i\pm}=0$ and so it is
$\sim\bar{\eta}_{i\pm}^{2}\left(1+O(\bar{\eta}^{2}_{i\pm})\right)$.

####  3.2.3. Choosing $\\{\epsilon_{i\pm}\\}$, $\\{M_{i\pm}\\}$,
$\mathcal{U}_{Ram}$ and $\mathcal{B}_{\Sigma_{0}}$

So far we have not chosen explicitly what $\\{\epsilon_{i\pm}\\}$,
$\\{M_{i\pm}\\}$,
$\mathcal{U}_{Ram}:=\\{(U_{i\pm},\bar{w}_{i\pm},\bar{z}_{i\pm})\\}$ and
$\mathcal{B}_{\Sigma_{0}}$ are. As we have mentioned, Condition 2.5.2 merely
gave a list of sufficient conditions on how to choose $\\{\epsilon_{i\pm}\\}$,
$\\{M_{i\pm}\\}$, $\mathcal{U}_{Ram}$, and $\mathcal{B}_{\Sigma_{0}}$. It is
often easier to deal with the situation on a case-by-case basis and therefore
in the following we will not refer ourselves to Condition 2.5.2. From (106) we
can see that
$F^{\prime}_{i\pm}(P(z_{i}(u_{0});u_{0}))=\left(\frac{2}{P^{\prime\prime}(z_{i}(u_{0});u_{0})}\right)^{\frac{1}{3}}\neq
0$. Therefore, by the Inverse Function Theorem, there exists $R_{i\pm}>0$ such
that $F_{i\pm}$ is bi-holomorphic for all $w_{i\pm}$ whenever
$|w_{i\pm}-P(z_{i}(u_{0});u_{0})|<R_{i\pm}$.

Let us choose

$U_{i\pm}:=\left\\{(w,z)\in\mathbb{C}\times\mathbb{C}\subset\mathbb{P}^{2}\ |\
\left|w+\frac{1}{w}-P(z_{i}(u_{0});u_{0})\right|<R_{i\pm}\right\\}\ni
r_{i\pm}(\Sigma_{0}).$

In particular, the open set $U_{i\pm}$ does not contain the ramification
points of $z:\Sigma_{0}\rightarrow\mathbb{P}^{1}$ given by $w+\frac{1}{w}=\pm
2$ as $F_{i\pm}(w_{i\pm})$ is singular at $w_{i\pm}=w+\frac{1}{w}=\pm 2$. Let
$\bar{R}_{i\pm}>0$ be such that $F^{-1}_{i\pm}(\bar{w}_{i\pm})\in U_{i\pm}$
for all $|\bar{w}_{i\pm}|<\bar{R}_{i\pm}$. Choose $\epsilon_{i\pm},M_{i\pm}$
to be any real numbers such that $0<\epsilon_{i\pm}<M_{i\pm}$ and
$M_{i\pm}^{2}+\epsilon_{i\pm}<\bar{R}_{i\pm}$. Finally, we let
$\mathcal{B}_{\Sigma_{0}}$ to be any contractible space such that

$\mathcal{B}_{\Sigma_{0}}\subset\left\\{[\Sigma(u)]\in\mathcal{B}\ |\
|F_{i\pm}(P(z_{i}(u);u))|<\epsilon_{i\pm},\forall i=1,...,g\right\\}.$

It is clear that $[\Sigma_{0}]\in\mathcal{B}_{\Sigma_{0}}$ since
$F_{i\pm}(P(z_{i}(u_{0});u_{0}))=0$. Finally, we note that for any
$\Sigma\in\mathcal{B}_{\Sigma_{0}}$ we have
$\bar{w}_{i\pm}=\bar{\eta}_{i\pm}^{2}+F_{i\pm}(P(z_{i}(u);u))$ and so
$|\bar{w}_{i\pm}|<|\bar{\eta}_{i\pm}|^{2}+|F_{i\pm}(P(z_{i}(u);u))|=M^{2}_{i\pm}+\epsilon_{i\pm}<\bar{R}_{i\pm}$
which implies

$\bar{\mathbb{D}}_{i\pm,M_{i\pm}}(\Sigma(u)):=\\{p\in\Sigma(u)\cap U_{i\pm}\
|\ |\bar{\eta}_{i\pm}(p)|<M_{i\pm}\\}\subset\Sigma\cap U_{i\pm}$

for all $[\Sigma(u)]\in\mathcal{B}_{\Sigma_{0}}$. This allows us to define the
map $\gamma:\mathcal{B}_{\Sigma_{0}}\rightarrow Discs^{Ram}_{t_{0}}$ and
$i:G\rightarrow W^{Ram}$. As we are about to see, this is also sufficient for
us to define the section $\theta\in\Gamma(\mathcal{B}_{\Sigma_{0}},G)$ and to
perform any relevant parallel transports in $G$.

####  3.2.4. The embedding $\mathcal{B}_{\Sigma_{0}}\hookrightarrow
Discs^{M_{i\pm}}_{t_{i\pm}(\Sigma_{0})}\hookrightarrow
W^{\epsilon_{i\pm},M_{i\pm}}_{t_{i\pm}(\Sigma_{0})}$

Let
$\theta_{t_{i\pm}(\Sigma)}=-\bar{z}_{i\pm}d\bar{w}_{i\pm}=-\sum_{k=0}^{\infty}b_{i\pm,k}(\Sigma)\bar{\eta}^{k}_{i\pm}d\left(\bar{\eta}^{2}_{i\pm}+F_{i\pm}\left(P(z_{i}(u);u)\right)\right)\in
T_{0}L_{Airy}^{M_{i\pm}}\subset
W^{\epsilon_{i\pm},M_{i\pm}}_{t_{i\pm}(\Sigma)}$. The embedding
$\Phi_{t_{i\pm}(\Sigma_{0})}\circ\gamma:\mathcal{B}_{\Sigma_{0}}\hookrightarrow
Discs^{M_{i\pm}}_{t_{i\pm}(\Sigma_{0})}\hookrightarrow
W^{\epsilon_{i\pm},M_{i\pm}}_{t_{i\pm}(\Sigma_{0})}\cong
W^{\epsilon_{i\pm},M_{i\pm}}_{Airy}$ is given by

$\displaystyle\Phi_{t_{i\pm}(\Sigma_{0})}(t_{i\pm}(\Sigma))$
$\displaystyle=-\theta_{t_{i\pm}(\Sigma_{0})}+\exp\left(-F_{i\pm}\left(P(z_{i}(u);u)\right)\mathcal{L}_{\frac{1}{2\bar{\eta}_{i\pm}}\partial_{\bar{\eta}_{i\pm}}}\right)\theta_{t_{i\pm}(\Sigma)}$
$\displaystyle=\bar{\eta}_{i\pm}d\bar{\eta}_{i\pm}^{2}-\exp\left(-F_{i\pm}\left(P(z_{i}(u);u)\right)\mathcal{L}_{\frac{1}{2\bar{\eta}_{i\pm}}\partial_{\bar{\eta}_{i\pm}}}\right)\left(\sum_{k=0}^{\infty}b_{i\pm,k}(\Sigma)\bar{\eta}^{k}_{i\pm}d(\bar{\eta}^{2}_{i\pm})\right)$
$\displaystyle:=\sum_{k\neq
0}J^{i\pm}_{k}(u)\bar{\eta}_{i\pm}^{k}\frac{d\bar{\eta}_{i\pm}}{\bar{\eta}_{i\pm}}\in
L^{M_{i\pm}}_{Airy}\subset
W^{\epsilon_{i\pm},M_{i\pm}}_{Airy}=W^{\epsilon_{i\pm},M_{i\pm}}_{t_{i\pm}(\Sigma_{0})}.$

We note that
$\exp\left(-F_{i\pm}\left(P(z_{i}(u);u)\right)\mathcal{L}_{\frac{1}{2\bar{\eta}_{i\pm}}\partial_{\bar{\eta}_{i\pm}}}\right)\theta_{t_{i\pm}(\Sigma)}\in
W^{\epsilon_{i\pm},M_{i\pm}}_{t_{i\pm}(\Sigma_{0})}$ according to Lemma 2.4.9
because
$|F_{i\pm}\left(P(z_{i}(u);u)\right)|<\epsilon_{i\pm}$ for all
$[\Sigma(u)]\in\mathcal{B}_{\Sigma_{0}}$.

####  3.2.5. The embedding $\mathcal{B}_{\Sigma_{0}}\hookrightarrow
G_{\Sigma_{0}}$

To obtain the embedding
$\Phi_{\Sigma_{0}}:\mathcal{B}_{\Sigma_{0}}\hookrightarrow G_{\Sigma_{0}}$ we
will first define $\theta\in\Gamma(\mathcal{B}_{\Sigma_{0}},G)$ by

$\theta_{\Sigma(u)}:=dS_{SW}(\Sigma(u))-s^{*}_{\Sigma(u),\Sigma_{0}}dS_{SW}(\Sigma_{0})\in
G_{\Sigma(u)},\qquad\forall[\Sigma(u)]\in\mathcal{B}_{\Sigma_{0}}.$

Let us elaborate on the definition of
$s^{*}_{\Sigma(u),\Sigma_{0}}dS_{SW}(\Sigma_{0})$ in this context. Let
$p\in\Sigma(u)\setminus\\{r_{\alpha\in Ram}\\}$, then $dw_{i\pm}(p)\neq 0$.
Hence, there exists an open neighbourhood $V_{p}\subset\Sigma(u)$ of $p$ such
that $w_{i\pm}$ is a local coordinate of $V_{p}$. Then we define
$s^{*}_{\Sigma(u),\Sigma_{0}}dS_{SW}(\Sigma_{0})|_{V_{p}\cap\Sigma}:=z_{p}\left(w+\frac{1}{w};u_{0}\right)\frac{dw}{w}$.
Where $z_{p}\left(w+\frac{1}{w};u_{0}\right)=z_{p}(w_{i\pm};u_{0})$ is the
root of $P(z;u_{0})-w_{i\pm}=0$ such that
$\left(w,z_{p}\left(w+\frac{1}{w};u_{0}\right)\right)\in\Sigma_{0}$ varies
continuously to $\left(w,z_{p}\left(w+\frac{1}{w};u\right)\right)\in
V_{p}\subset\Sigma(u)$ as we move continuously from $u_{0}$ to $u$, where
$z_{p}\left(w_{i\pm};u\right)$ is a root of $P(z;u)-w_{i\pm}=0$. It follows
that on $V_{p}$ we have $\theta_{\Sigma(u)}$ given by

$\theta_{\Sigma(u)}|_{V_{p}}=z_{p}\left(w+\frac{1}{w};u\right)\frac{dw}{w}-z_{p}\left(w+\frac{1}{w};u_{0}\right)\frac{dw}{w}.$

Of course, $\theta_{\Sigma(u)}$ is not a single-valued differential form on
$\Sigma(u)$ because if $V_{p}$ contains a ramification point
$r_{i\pm}(\Sigma(u))\in\Sigma(u)$ then

$\displaystyle z_{p}\left(w+\frac{1}{w};u_{0}\right)$
$\displaystyle=z_{i}(u_{0})+\left(\frac{2}{P^{\prime\prime}(z_{i}(u_{0});u_{0})}\right)^{\frac{1}{2}}\sqrt{w+\frac{1}{w}-P(z_{i}(u_{0});u_{0})}+...$
$\displaystyle=z_{i}(u_{0})+\left(\frac{2}{P^{\prime\prime}(z_{i}(u_{0});u_{0})}\right)^{\frac{1}{2}}\sqrt{\eta^{2}_{i\pm}+P(z_{i}(u);u)-P(z_{i}(u_{0});u_{0})}+....$

Where $\eta_{i\pm}$ is the standard local coordinates on $\Sigma\cap U_{i\pm}$
corresponding to the local coordinates $(w_{i\pm},z_{i\pm})$ and
$w_{i\pm}=\eta^{2}_{i\pm}+P(z_{i}(u);u)$ (see (100)). The term
$\sqrt{\eta^{2}_{i\pm}+P(z_{i}(u);u)-P(z_{i}(u_{0});u_{0})}$ acquires a
negative sign whenever $\eta_{i\pm}$ moves around the point
$\pm\sqrt{P(z_{i}(u);u)-P(z_{i}(u_{0});u_{0})}$.

What happening is, for each fixed $w$ the value of $z$ can be any one of $g+1$
distinct roots of $P(z;u_{0})-w-\frac{1}{w}=0$ except when $w+\frac{1}{w}$ is
a critical value of $P(z;u_{0})$ two of the roots will coincide and we are
left with only $g$ distinct roots. As $w+\frac{1}{w}$ moves around the
critical value $z(w;u_{0})$ will switch between the two roots of
$P(z;u_{0})-w-\frac{1}{w}=0$ that ramify when $w+\frac{1}{w}$ is the critical
value. However, $\theta_{\Sigma(u)}$ becomes single-valued once we remove the
discs $\mathbb{D}_{i\pm,\epsilon_{i\pm}}(\Sigma(u))$ from the curve
$\Sigma(u)$ i.e. $\theta_{\Sigma(u)}$ is a single-valued differential form on
$\Sigma(u)\setminus\cup_{i=1}^{g}\left(\bar{\mathbb{D}}_{i+,\bar{\epsilon}_{i+}}\cup\bar{\mathbb{D}}_{i-,\bar{\epsilon}_{i-}}\right)$
for some $\bar{\epsilon}_{i\pm}<\epsilon_{i\pm}$.

Note that although $dS_{SW}(\Sigma_{0})\notin G_{\Sigma_{0}}$, we indeed have
$\theta_{\Sigma(u)}\in G_{\Sigma(u)}$. Before the blow-ups,
$dS_{SW}(\Sigma_{0})$ and $dS_{SW}(\Sigma(u))$ both have poles of order $2$ at
$\infty_{+}:=(w=0,z=\infty),\infty_{-}:=(w=\infty,z=\infty)$, on $\Sigma_{0}$
and $\Sigma(u)$ respectively, without residues and they are holomorphic
elsewhere. The poles at $\infty_{\pm}$ from $dS_{SW}(\Sigma_{0})$ and
$dS_{SW}(\Sigma(u))$ will cancel out in the expression of
$\theta_{\Sigma(u)}$. The same remains true after blow-ups. So
$\theta_{\Sigma(u)}$ is holomorphic on
$\Sigma(u)\setminus\cup_{i=1}^{g}\left(\bar{\mathbb{D}}_{i+,\bar{\epsilon}_{i+}}\cup\bar{\mathbb{D}}_{i-,\bar{\epsilon}_{i-}}\right)$
for some $\bar{\epsilon}_{\alpha}<\epsilon_{\alpha}$. Lastly, we also have

$\oint_{\partial\bar{\mathbb{D}}_{i\pm,\epsilon_{i\pm}}}\theta_{\Sigma(u)}=\oint_{\partial\bar{\mathbb{D}}_{i\pm,\epsilon_{i\pm}}}dS_{SW}(\Sigma(u))-\oint_{\partial\bar{\mathbb{D}}_{i\pm,\epsilon_{i\pm}}}s^{*}_{\Sigma(u),\Sigma_{0}}dS_{SW}(\Sigma_{0})=0$

using the same argument presented in the proof of Lemma 2.5.31 and the fact
that $dS_{SW}$ has no poles around the ramification points $\\{r_{\alpha\in
Ram}\\}$. Therefore, we conclude that $\theta_{\Sigma}\in G_{\Sigma}$. Now we
can define $\Phi_{\Sigma_{0}}$ by

(110)
$\Phi_{\Sigma_{0}}(\Sigma(u)):=\theta_{\Sigma_{0}}-s^{*}_{\Sigma_{0},\Sigma(u)}\theta_{\Sigma(u)}=dS_{SW}(\Sigma_{0})-s^{*}_{\Sigma_{0},\Sigma(u)}dS_{SW}(\Sigma(u))\in
G_{\Sigma_{0}}.$

######  Example 3.2.1.

In the Elliptic case $g=1$, $\Sigma:w+\frac{1}{w}=z^{2}+u$, the equation (110)
simplifies to

$\Phi_{\Sigma_{0}}(\Sigma(u))=\sqrt{w+\frac{1}{w}-u_{0}}\frac{dw}{w}-\sqrt{w+\frac{1}{w}-u}\frac{dw}{w}.$

It is clear by choosing $A$ and $B$-cycles on $\Sigma_{0}$ avoiding the discs
$\bar{\mathbb{D}}_{i\pm,\epsilon_{i\pm}}(\Sigma_{0})$ we have

$\oint_{A_{i}}\Phi_{\Sigma_{0}}(\Sigma(u))=a_{0}^{i}-a^{i},\qquad\oint_{B_{i}}\Phi_{\Sigma_{0}}(\Sigma(u))=b^{0}_{i}-b_{i}=\frac{\partial\mathfrak{F}^{SW}_{\Sigma_{0}}}{\partial
a^{i}}(a_{0})-\frac{\partial\mathfrak{F}^{SW}_{\Sigma_{0}}}{\partial
a^{i}}(a),\qquad i=1,...,g$

where

$a^{i}=a^{i}(\Sigma(u)):=\oint_{A_{i}}dS_{SW}(\Sigma(u)),\qquad
b_{i}=b_{i}(\Sigma(u)):=\oint_{B_{i}}dS_{SW}(\Sigma(u))=\frac{\partial\mathfrak{F}^{SW}_{\Sigma_{0}}}{\partial
a^{i}}(a),$

$a^{i}_{0}:=a^{i}(\Sigma_{0}),b_{i}^{0}:=b_{i}(\Sigma_{0})$ and
$\mathfrak{F}^{SW}_{\Sigma_{0}}:\mathcal{B}_{\Sigma_{0}}\rightarrow\mathbb{C}$
is the Seiberg-Witten prepotential which is well-defined on a contractible set
$\mathcal{B}_{\Sigma_{0}}$.

Let us compute $i\circ\Phi_{\Sigma_{0}}(\Sigma(u))\in W^{Ram}_{Airy}$. On
$\mathbb{A}_{i\pm,\epsilon_{i\pm},M_{i\pm}}\cap V_{p}\subset\Sigma_{0}\cap
U_{i\pm}\cap V_{p}$ we have
$z_{p}(w_{i\pm};u)=z(\eta_{i\pm};u)=z(\sqrt{w_{i\pm}-P(z_{i}(u);u)};u)$. The
square-root does not introduce any ambiguity because we are restricted to the
subset $\mathbb{A}_{i\pm,\epsilon_{i\pm},M_{i\pm}}\cap V_{p}$. We rewrite
(110) on $\mathbb{A}_{i\pm,\epsilon_{i\pm},M_{i\pm}}\cap V_{p}$ in the local
coordinates $(\bar{w}_{i\pm},\bar{z}_{i\pm})$ as

$\displaystyle\Phi_{\Sigma_{0}}(\Sigma(u))|_{\mathbb{A}_{i\pm,\epsilon_{i\pm},M_{i\pm}}\cap
V_{p}}=\frac{z\left(\sqrt{F^{-1}_{i\pm}(\bar{w}_{i\pm})-P(z_{i}(u_{0});u_{0})};u_{0}\right)}{F^{\prime}_{i\pm}\left(F^{-1}_{i\pm}(\bar{w}_{i\pm})\right)\sqrt{F^{-1}_{i\pm}(\bar{w}_{i\pm})^{2}-4}}d\bar{w}_{i\pm}-\frac{z\left(\sqrt{F^{-1}_{i\pm}(\bar{w}_{i\pm})-P(z_{i}(u);u)};u\right)}{F^{\prime}_{i\pm}\left(F^{-1}_{i\pm}(\bar{w}_{i\pm})\right)\sqrt{F^{-1}_{i\pm}(\bar{w}_{i\pm})^{2}-4}}d\bar{w}_{i\pm}.$

On $\mathbb{A}_{i\pm,\epsilon_{i\pm},M_{i\pm}}\subset\Sigma_{0}$ we have
$\bar{w}_{i\pm}=\bar{\eta}_{i\pm}^{2}+F_{i\pm}\left(P(z_{i}(u_{0});u_{0})\right)=\bar{\eta}_{i\pm}^{2}$
and using (105) it follows that

$\displaystyle
i_{i\pm}\circ\Phi_{\Sigma_{0}}(\Sigma(u))|_{\mathbb{A}_{i\pm,\epsilon_{i\pm},M_{i\pm}}}$
$\displaystyle\qquad\qquad=\frac{z\left(\sqrt{F^{-1}_{i\pm}(\bar{\eta}^{2}_{i\pm})-P(z_{i}(u_{0});u_{0})};u_{0}\right)\bar{\eta}_{i\pm}}{z_{odd}\left(\sqrt{F^{-1}_{i\pm}(\bar{\eta}_{i\pm}^{2})-P(z_{i}(u_{0});u_{0})};u_{0}\right)}d\bar{\eta}^{2}_{i\pm}-\frac{z\left(\sqrt{F^{-1}_{i\pm}(\bar{\eta}^{2}_{i\pm})-P(z_{i}(u);u)};u\right)\bar{\eta}_{i\pm}}{z_{odd}\left(\sqrt{F^{-1}_{i\pm}(\bar{\eta}_{i\pm}^{2})-P(z_{i}(u_{0});u_{0})};u_{0}\right)}d\bar{\eta}^{2}_{i\pm}$
$\displaystyle\qquad\qquad=\bar{\eta}_{i\pm}d\bar{\eta}_{i\pm}^{2}-\frac{\left(z\left(\sqrt{F^{-1}_{i\pm}(\bar{\eta}^{2}_{i\pm})-P(z_{i}(u);u)};u\right)-z_{even}\left(\sqrt{F^{-1}_{i\pm}(\bar{\eta}^{2}_{i\pm})-P(z_{i}(u_{0});u_{0})};u_{0}\right)\right)\bar{\eta}_{i\pm}}{z_{odd}\left(\sqrt{F^{-1}_{i\pm}(\bar{\eta}_{i\pm}^{2})-P(z_{i}(u_{0});u_{0})};u_{0}\right)}d\bar{\eta}_{i\pm}^{2}$
$\displaystyle\qquad\qquad=\bar{\eta}_{i\pm}d\bar{\eta}_{i\pm}^{2}-\sum_{k=0}^{\infty}b_{i\pm,k}(\Sigma)\left(1-\frac{F_{i\pm}(P(z_{i}(u);u))}{\bar{\eta}^{2}_{i\pm}}\right)^{\frac{k}{2}}\bar{\eta}_{i\pm}^{k}d\bar{\eta}_{i\pm}^{2}$
$\displaystyle\qquad\qquad=\bar{\eta}_{i\pm}d\bar{\eta}_{i\pm}^{2}-\exp\left(-F_{i\pm}\left(P(z_{i}(u);u)\right)\mathcal{L}_{\frac{1}{2\bar{\eta}_{i\pm}}\partial_{\bar{\eta}_{i\pm}}}\right)\left(\sum_{k=0}^{\infty}b_{i\pm,k}(\Sigma)\bar{\eta}^{k}_{i\pm}d(\bar{\eta}^{2}_{i\pm})\right)$
$\displaystyle\qquad\qquad=\Phi_{t_{i\pm}(\Sigma_{0})}(t_{i\pm}(\Sigma)).$

Evidently, we have an agreement:
$i\circ\Phi_{\Sigma_{0}}(\Sigma(u))=\Phi_{t(\Sigma_{0})}\circ\gamma(\Sigma)$.
In particular, each $i_{i\pm}\circ\Phi_{\Sigma_{0}}(\Sigma(u))=\sum_{k\neq
0}J^{i\pm}_{k}(u)\bar{\eta}_{i\pm}^{k}\frac{d\bar{\eta}_{i\pm}}{\bar{\eta}_{i\pm}}$
satisfies the residue constrains and therefore,
$i\circ\Phi_{\Sigma_{0}}(\Sigma(u))=\sum_{i=1}^{g}\sum_{k\neq
0}J^{i\pm}_{k}(u)[i\pm]\otimes\bar{\eta}_{i\pm}^{k}\frac{d\bar{\eta}_{i\pm}}{\bar{\eta}_{i\pm}}\in
L^{Ram}_{Airy}\in W^{Ram}_{Airy}$.

###  3.3. Seiberg-Witten Prepotential and Topological Recursion

Let us now express $\Phi_{\Sigma_{0}}(\Sigma(u))$ in terms of the normalized
holomorphic differential $\\{\omega_{i=1,...,g}\\}$ and meromorphic
differentials $\\{\bar{e}^{k,i\pm}\\}$ (see Definition 2.5.11) on
$\Sigma_{0}$. From Corollary 2.5.17, the fact that
$\Phi_{\Sigma_{0}}(\Sigma(u))\in G_{\Sigma_{0}}$ and the principal part of
$i_{i\pm}\circ\tilde{\Phi}_{\Sigma_{0}}(\Sigma(u))$ is the principal part of
$i_{i\pm}\circ\Phi_{\Sigma_{0}}(\Sigma(u))=\Phi_{t_{i\pm}(\Sigma_{0})}(t_{i\pm}(\Sigma))$
which is
$\sum_{k>0}J^{i\pm}_{k}(u)\bar{\eta}^{k}_{i\pm}\frac{d\bar{\eta}_{i\pm}}{\bar{\eta}_{i\pm}}$,
we have

(111)
$\Phi_{\Sigma_{0}}(\Sigma(u))=\sum_{i=1}^{g}\sum_{k>0}^{\infty}\left(J^{i+}_{k}(u)\bar{e}^{k,i+}+J^{i-}_{k}(u)\bar{e}^{k,i-}\right)+\sum_{i=1}^{g}(a_{0}^{i}-a^{i})\omega_{i}.$

Another way to look at this is that the principal part of
$\sum_{i=1}^{g}\sum_{k>0}^{\infty}\left(J^{i+}_{k}(u)\bar{e}^{k,i+}+J^{i-}_{k}(u)\bar{e}^{k,i-}\right)$
exactly matches that of $\Phi_{\Sigma_{0}}(\Sigma(u))$. Therefore,
$\Phi_{\Sigma_{0}}(\Sigma(u))-\sum_{i=1}^{g}\sum_{k>0}^{\infty}\left(J^{i+}_{k}(u)\bar{e}^{k,i+}+J^{i-}_{k}(u)\bar{e}^{k,i-}\right)$
can be analytically extended to a meromorphic differential form defined on the
entire curve $\Sigma_{0}$, and it is, in fact, a holomorphic on $\Sigma_{0}$
because neither term has singularity anywhere except at ramification points
$r_{\alpha},\alpha\in Ram$. Subtracting
$\sum_{i=1}^{g}(a_{0}^{i}-a^{i})\omega_{i}$, we get a global holomorphic
differential form on $\Sigma_{0}$ with vanishing $A$-periods, hence must be
identically zero and (111) follows.

Let us extend the set $\\{\omega_{1},...,\omega_{g}\\}$ into a new canonical
basis of $W^{Ram}_{Airy}$. First, let us compute the $\Omega_{Airy}$
symplectic pairings between $\\{e^{k,i\pm}\\}$ and $\\{\omega_{i}\\}$. Suppose
that

$i(\omega_{j})=\sum_{i=1}^{g}\sum_{k=1}^{\infty}\left(c^{k,i+}_{j}[i+]\otimes
k\bar{\eta}_{i+}^{k}\frac{d\bar{\eta}_{i+}}{\bar{\eta}_{i+}}+c^{k,i-}_{j}[i-]\otimes
k\bar{\eta}_{i-}^{k}\frac{d\bar{\eta}_{i-}}{\bar{\eta}_{i-}}\right)$

then

$\displaystyle\oint_{p\in B_{j}}\bar{e}^{k,i\pm}(p)$
$\displaystyle=\frac{1}{2\pi ik}\oint_{p\in
B_{j}}\oint_{\bar{\eta}_{i\pm}=0}\frac{B(p,q(\bar{\eta}_{i\pm}))}{\bar{\eta}^{k}_{i\pm}}=\frac{1}{2\pi
ik}\oint_{\bar{\eta}_{i\pm}=0}\frac{1}{\bar{\eta}_{i\pm}^{k}}\oint_{p\in
B_{j}}B(p,q(\bar{\eta}_{i\pm}))$
$\displaystyle=\frac{1}{k}\oint_{\bar{\eta}_{i\pm}=0}\frac{1}{\bar{\eta}_{i\pm}^{k}}\omega_{j}(q(\bar{\eta}_{i\pm}))=2\pi
ic^{k,i\pm}_{j}.$

Then it follows that the symplectic pairings are

$\Omega_{Airy}(\bar{e}^{k,i\pm},\omega_{j})=\frac{1}{2\pi
i}\sum_{l=1}^{g}\left(\oint_{A_{l}}\omega_{j}\oint_{B_{l}}\bar{e}^{i\pm}_{k}-\oint_{B_{l}}\omega_{j}\oint_{A_{l}}\bar{e}^{i\pm}_{k}\right)=\frac{1}{2\pi
i}\oint_{B_{j}}\bar{e}^{k,i\pm}=c^{k,i\pm}_{j}.$

This shows that $\\{\omega_{i},e^{k,i\pm}\ |\ i=1,...,g,k\geq 2\\}$ cannot be
extended to a canonical basis. Let us examine some properties of the
coefficients $c^{k,i\pm}_{j}$.

######  Lemma 3.3.1.

$c^{k,i\pm}_{j}=-c^{k,i\mp}_{j}$.

###### Proof.

We note that each normalized holomorphic differential form $\omega_{i}$ can be
written as a linear combination of $\\{\frac{z^{i-1}dz}{w-\frac{1}{w}}\ |\
i=1,...,g\\}$. Since we can map the neighbourhood $\Sigma_{0}\cap U_{i+}$ of
each ramification point $r_{i+}$ to the corresponding neighbourhood
$\Sigma_{0}\cap U_{i-}$ of $r_{i-}$ via the involution
$p=(z,w)\mapsto\hat{p}=(z,\frac{1}{w})$, it follows that
$\omega_{k}(p)=-\omega_{k}(\hat{p})$. Let us examine the involuation in term
of the standard local coordinates $\bar{\eta}_{i\pm}$ as defined in (109).
Suppose that $p\in\Sigma_{0}\cap U_{i+}$. First, we note that we have
$\eta_{i+}(p)=\eta_{i-}(\hat{p})$ because
$\eta^{2}_{i\pm}=P(z;u)-P(z_{i}(u);u)$ and $z(p)=z(\hat{p})$. Because we have
chosen $F_{i+}$ and $F_{i-}$ to be the same (see (105)), therefore the
relationship between $\bar{\eta}_{i\pm}$ and $\eta_{i\pm}$ as given in (109)
implies that $\bar{\eta}_{i+}(p)=\bar{\eta}_{i-}(\hat{p})$. Writing
$\omega_{k}(p)=-\omega_{k}(\hat{p})$ in the standard local coordinates we have

$\sum_{k=0}^{\infty}c^{k,i+}_{j}k\bar{\eta}_{i+}^{k}(p)\frac{d\bar{\eta}_{i+}(p)}{\bar{\eta}_{i+}(p)}=i_{i+}\omega_{j}(p)=-i_{i-}\omega_{j}(\hat{p})=-\sum_{k=0}^{\infty}c^{k,i-}_{j}k\bar{\eta}_{i-}^{k}(\hat{p})\frac{d\bar{\eta}_{i-}(\hat{p})}{\bar{\eta}_{i-}(\hat{p})}=-\sum_{k=0}^{\infty}c^{k,i-}_{j}k\bar{\eta}_{i+}^{k}(p)\frac{d\bar{\eta}_{i+}(p)}{\bar{\eta}_{i+}(p)},$

from which we conclude that $c^{k,i\pm}_{j}=-c^{k,i\mp}_{j}$. ∎

Let $(c^{i}_{j})$ be a $g\times g$ matrix where
$c^{i}_{j}:=c^{1,i+}_{j}=-c^{1,i-}_{j}$.

######  Lemma 3.3.2.

The matrix $(c^{i}_{j})$ is invertible.

###### Proof.

Let $(a^{j})\in\mathbb{C}^{g}$ be a vector such that
$\sum_{j=1}^{g}c^{i}_{j}a^{j}=0$. Then $\omega:=\sum_{j=1}^{g}a^{j}\omega_{j}$
is a holomorphic differential form on $\Sigma_{0}$ such that

$\omega(r_{i\pm})=\frac{1}{2\pi
i}\oint_{\bar{\eta}_{i\pm}=0}\frac{1}{\bar{\eta}_{i\pm}}\omega(q(\bar{\eta}_{i\pm}))=\sum_{j=1}^{g}c^{1,i\pm}_{j}a^{j}=\pm\sum_{j=1}^{g}c_{j}^{i}a^{j}=0$

for all $i\pm\in Ram$. So $\omega$ vanishes at every ramification points and
therefore has at least $2g$ zeros and has no poles. But $\deg
K_{\Sigma_{0}}=2g-2<2g$ which is a contradiction, unless $(a^{j})=0$. In other
words, $(c_{j}^{i})$ is invertible. ∎

Let $(b^{i}_{j})$ be the inverse of $(c^{i}_{j})$, i.e.
$\sum_{k=1}^{g}b^{k}_{i}c_{k}^{j}=\delta_{i}^{j}$. Now, let us choose a new
canonical basis for $W^{Ram}_{Airy}$ to be

(112)
$\\{\tau^{i},\bar{\tau}^{i},\tau^{k,i\pm},\omega_{i},\bar{\omega}_{i},\omega_{k,i\pm}\
|\ i=1,...,g,k\geq 2\\}$

where

$\displaystyle\tau^{i}$
$\displaystyle:=\frac{1}{2}\sum_{j=1}^{g}b^{i}_{j}\left(\bar{e}^{1,j+}-\bar{e}^{1,j-}\right),\qquad\bar{\tau}^{i}:=\frac{1}{2}\sum_{j=1}^{g}b^{i}_{j}\left(\bar{e}^{1,j+}+\bar{e}^{1,j-}\right),\qquad\tau^{k,i\pm}:=\bar{e}^{k,i\pm}-\sum_{j,l=1}^{g}c^{k,i\pm}_{j}b^{j}_{l}\bar{e}^{1,l\pm}$
$\displaystyle\bar{\omega}_{i}$
$\displaystyle:=\sum_{j=1}^{g}\sum_{k=1}^{\infty}\left(c^{k,j+}_{i}[j+]\otimes
k\bar{\eta}_{j+}^{k}\frac{d\bar{\eta}_{j+}}{\bar{\eta}_{j+}}-c^{k,j-}_{i}[j-]\otimes
k\bar{\eta}_{j-}^{k}\frac{d\bar{\eta}_{j-}}{\bar{\eta}_{j-}}\right),\qquad\omega^{k,i\pm}:=[i\pm]\otimes
k\bar{\eta}_{i\pm}^{k}\frac{d\bar{\eta}_{i\pm}}{\bar{\eta}_{i\pm}}.$

Note that this is the type of gauge transformation we studied in Section 2.4.2
and Section 2.5.4.

######  Remark 3.3.3.

Observe that $\tau^{i},\bar{\tau}^{i},\tau^{k,i\pm}$ and $\omega_{i}$ are all
global meromorphic differential forms on $\Sigma_{0}$ belonging to
$G_{\Sigma_{0}}$ while $\bar{\omega}_{i},\omega_{k,i\pm}\in W^{Ram}_{Airy}$
are only locally defined near each ramification points $r_{i\pm}$.

To confirm that we have defined a canonical basis we can check that for
$i,j=1,\cdots,g,\alpha,\beta\in Ram$ and $l,k\geq 2$ we have

$\displaystyle\Omega_{Airy}(\tau^{i},\omega_{j})=\delta_{j}^{i},\qquad\Omega_{Airy}(\bar{\tau}^{i},\bar{\omega}_{j})=\delta_{j}^{i},\qquad\Omega_{Airy}(\tau^{k,\alpha},\omega_{l,\beta})=\delta^{k}_{l}\delta^{\alpha}_{\beta}$

and all other pairings vanish. In particular,

(113)
$\oint_{A_{i}}\omega_{j}=\delta_{j}^{i},\qquad\oint_{B_{i}}\omega_{j}=\tau_{ij}(a_{0}),\qquad\oint_{A_{i}}\tau^{j}=0,\qquad\oint_{B_{i}}\tau^{j}=2\pi
i\delta^{j}_{i}$

and all $A,B$-periods of $\bar{\tau}^{i},\bar{e}^{k,i\pm}$ are zero.

Substitute
$\bar{e}^{1,i\pm}=\sum_{j=1}^{g}c^{i}_{j}(\bar{\tau}^{j}\pm\tau^{j}),\bar{e}^{k,i\pm}=\tau^{k,i\pm}+\sum_{j,l=1}^{g}c^{k,i\pm}_{j}(\bar{\tau}^{j}\pm\tau^{j})$
into (111) and recollect terms, we can rewrite (111) as

$\displaystyle\Phi_{\Sigma_{0}}(\Sigma(u))$
$\displaystyle=\sum_{i=1}^{g}\left(\alpha^{i}\omega_{i}+\bar{x}^{i}\bar{\omega}_{i}+\sum_{k=2}^{\infty}\left(\bar{x}^{k,i+}\omega_{k,i+}+\bar{x}^{k,i-}\omega_{k,i-}\right)\right)$
(114)
$\displaystyle\qquad+\sum_{i=1}^{g}\left(\beta_{i}\tau^{i}+\bar{y}_{i}\bar{\tau}^{i}+\sum_{k=2}^{\infty}\left(\bar{y}_{k,i+}\tau^{k,i+}+\bar{y}_{k,i-}\tau^{k,i-}\right)\right)$

where

$\displaystyle\alpha^{i}$
$\displaystyle=a_{0}^{i}-a^{i},\qquad\bar{x}^{i}=0,\qquad\bar{x}^{k,i\pm}=0,\qquad\beta_{i}=\sum_{j=1}^{g}\sum_{k=1}^{\infty}\left(c^{k,j+}_{i}J^{j+}_{k}(u)-c^{k,j-}_{i}J^{j-}_{k}(u)\right),$
$\displaystyle\bar{y}_{i}$
$\displaystyle=\sum_{j=1}^{g}\sum_{k=1}^{\infty}\left(c^{k,j+}_{i}J^{j+}_{k}(u)+c^{k,j-}_{i}J^{j-}_{k}(u)\right),\qquad\bar{y}_{k,i\pm}=J^{i\pm}_{k}(u).$

There is no technical difficulties involved in recollection of terms because
$\bar{e}^{k,i\pm}$ are written as a finite sum of
$\tau^{i},\bar{\tau}^{i},\tau^{k,i\pm}$ and infinite sums commute with finite
sums.

Let
$(V^{mer}_{\Sigma_{0}},\bar{A}_{Airy},\bar{B}_{Airy},\bar{C}_{Airy},\bar{\epsilon}_{Airy})$
be the gauge transformed quantum Airy structure of
$(V^{Ram}_{Airy},A_{Airy},B_{Airy},C_{Airy},\epsilon_{Airy})$ corresponding to
the basis (112) of $W^{|Ram|}_{Airy}$. The ATR output is given by
$S=\sum_{g\geq 0}\hbar^{g-1}S_{g}$ where $S_{g}=\sum_{n=1}^{\infty}S_{g,n}$,

$\displaystyle S_{g,n}$
$\displaystyle=S_{g,n}\left(\\{\alpha^{i}\\},\\{\bar{x}^{i}\\},\\{\bar{x}^{k,i\pm}\\}\right)$
$\displaystyle=\sum_{\begin{subarray}{c}n_{1},n_{2},n_{3}\geq 0\\\
n_{1}+n_{2}+n_{3}=n\end{subarray}}\frac{1}{n_{1}!n_{2}!n_{3}!}\sum_{\begin{subarray}{c}i_{1},...,i_{n_{1}}=1,...,g\\\
j_{1},...,j_{n_{2}}=1,...,g\\\ k_{1},...,k_{n_{3}}\geq 2\\\
\alpha_{1},...,\alpha_{n_{3}}\in
Ram\end{subarray}}S_{g,n;\alpha^{i_{1}}...\alpha^{i_{n_{1}}}\bar{x}^{j_{1}}...\bar{x}^{j_{n_{2}}}\bar{x}^{k_{1};\alpha_{1}}...\bar{x}^{k_{n_{3}};\alpha_{n_{3}}}}\alpha^{i_{1}}...\alpha^{i_{n_{1}}}\bar{x}^{j_{1}}...\bar{x}^{j_{n_{2}}}\bar{x}^{k_{1},\alpha_{1}}...\bar{x}^{k_{n_{3}},\alpha_{n_{3}}}$

where

$S_{g,n;\alpha^{i_{1}}...\alpha^{i_{n_{1}}}\bar{x}^{j_{1}}...\bar{x}^{j_{n_{2}}}\bar{x}^{k_{1};\alpha_{1}}...\bar{x}^{k_{n_{3}};\alpha_{n_{3}}}}:=\frac{\partial}{\partial\alpha^{i_{1}}}...\frac{\partial}{\partial\alpha^{i_{n_{1}}}}\frac{\partial}{\partial\bar{x}^{j_{1}}}...\frac{\partial}{\partial\bar{x}^{j_{n_{2}}}}\frac{\partial}{\partial\bar{x}^{k_{1},\alpha_{1}}}...\frac{\partial}{\partial\bar{x}^{k_{n_{3}};\alpha_{n_{3}}}}S_{g}\Bigg{|}_{\begin{subarray}{c}\alpha^{i}=\bar{x}^{i}=\bar{x}^{k,i\pm}=0\\\
\forall k\geq 2,i=1,...,g\end{subarray}}.$

Since $\Phi_{\Sigma_{0}}(\Sigma(u))\in L^{Ram}_{Airy}$, it follows that we can
re-write (114) as

$\displaystyle\Phi_{\Sigma_{0}}(\Sigma(u))=\sum_{i=1}^{g}(a_{0}^{i}-a^{i})\omega_{i}$
$\displaystyle+\sum_{i=1}^{g}\left(\frac{\partial
S_{0}}{\partial\alpha^{i}}\Big{|}_{\begin{subarray}{c}\alpha^{i}=a_{0}^{i}-a^{i}\\\
\bar{x}^{i}=\bar{x}^{k,i\pm}=0\\\ \forall k\geq
2,i=1,..,g\end{subarray}}\tau^{i}+\frac{\partial
S_{0}}{\partial\bar{x}^{i}}\Big{|}_{\begin{subarray}{c}\alpha^{i}=a_{0}^{i}-a^{i}\\\
\bar{x}^{i}=\bar{x}^{k,i\pm}=0\\\ \forall k\geq
2,i=1,..,g\end{subarray}}\bar{\tau}^{i}\right)$ (115)
$\displaystyle+\sum_{i=1}^{g}\sum_{k=2}^{\infty}\left(\frac{\partial
S_{0}}{\partial\bar{x}^{k,i+}}\Big{|}_{\begin{subarray}{c}\alpha^{i}=a_{0}^{i}-a^{i}\\\
\bar{x}^{i}=\bar{x}^{k,i\pm}=0\\\ \forall k\geq
2,i=1,..,g\end{subarray}}\bar{e}^{k,i+}+\frac{\partial
S_{0}}{\partial\bar{x}^{k,i-}}\Big{|}_{\begin{subarray}{c}\alpha^{i}=a_{0}^{i}-a^{i}\\\
\bar{x}^{i}=\bar{x}^{k,i\pm}=0\\\ \forall k\geq
2,i=1,..,g\end{subarray}}\bar{e}^{k,i-}\right)$

Let
$\mathcal{S}_{0}=\mathcal{S}_{0}(\alpha^{1},...,\alpha^{g}):=S_{0}(\\{\alpha^{i}\\},\\{\bar{x}^{i}=0\\},\\{\bar{x}^{k,i\pm}=0\\})$.
Compute the $B$-periods of $\Phi_{\Sigma_{0}}(\Sigma(u))$ using (3.3), (113)
and the fact that
$\frac{\partial}{\partial\alpha^{i}}=-\frac{\partial}{\partial a^{i}}$ we get

$\frac{\partial\mathfrak{F}^{SW}_{\Sigma_{0}}}{\partial
a^{i}}(a_{0}^{1},...,a_{0}^{g})-\frac{\partial\mathfrak{F}^{SW}_{\Sigma_{0}}}{\partial
a^{i}}(a^{1},...,a^{g})=\oint_{B_{i}}\Phi_{\Sigma_{0}}(\Sigma(u))=\sum_{j=1}^{g}(a_{0}^{j}-a^{j})\tau_{ji}(a_{0})-2\pi
i\frac{\partial\mathcal{S}_{0}(a_{0}^{1}-a^{1},...,a_{0}^{g}-a^{g})}{\partial
a^{i}}.$

Integrating both sides we obtain

$\displaystyle\mathfrak{F}^{SW}_{\Sigma_{0}}(a^{1},...,a^{g})$
$\displaystyle=\mathfrak{F}^{SW}_{\Sigma_{0}}(a_{0}^{1},...,a_{0}^{g})+\sum_{i=1}^{g}(a^{i}-a_{0}^{i})\frac{\partial\mathfrak{F}^{SW}_{\Sigma_{0}}}{\partial
a^{i}}(a_{0}^{1},...,a_{0}^{g})$ (116)
$\displaystyle\qquad+\frac{1}{2}\sum_{i,j=1}^{g}(a^{i}-a_{0}^{i})(a^{j}-a_{0}^{j})\frac{\partial^{2}\mathfrak{F}^{SW}_{\Sigma_{0}}}{\partial
a^{i}\partial a^{j}}(a_{0}^{1},...,a_{0}^{g})+2\pi
i\mathcal{S}_{0}(a_{0}^{1}-a^{1},...,a_{0}^{g}-a^{g}).$

Let us consider a topological recursion with spectral curve $(\Sigma_{0},\log
w,z,B)$ where $\Sigma_{0}$ is the Seiberg-Witten curve given by
$w+\frac{1}{w}=P(z;u_{0})$ and $B=B(p,q)$ is the normalized Bergman kernel on
$\Sigma_{0}\times\Sigma_{0}$. The initial condition of the recursion shall be
given by

$\omega_{0,1}(p)=z(p)\frac{dw(p)}{w(p)}=dS_{SW}(p),\qquad\omega_{0,2}(p,q)=B(p,q).$

It is easy to check using (3.2.2) that in the standard local coordinate
$\bar{\eta}_{i\pm}$ in the neighbourhood $\Sigma_{0}\cap U_{i\pm}$ of each
ramification point $r_{i\pm}(\Sigma_{0})$ we have

$\omega_{0,1}(\bar{\eta}_{i\pm})-\omega_{0,1}(-\bar{\eta}_{i\pm})=4\bar{\eta}_{i\pm}^{2}d\bar{\eta}_{i\pm}.$

From Proposition 2.6.2, the output meromorphic multi-differential forms are
given by

$\displaystyle\omega^{SW}_{g,n}(p_{1},...,p_{n})$
$\displaystyle=\sum_{\sigma\in
S_{n}}\sum_{\begin{subarray}{c}n_{1},n_{2},n_{3}\geq 0\\\
n_{1}+n_{2}+n_{3}=n\end{subarray}}\frac{1}{n_{1}!n_{2}!n_{3}!}\sum_{\begin{subarray}{c}i_{1},...,i_{n_{1}}=1,...,g\\\
j_{1},...,j_{n_{2}}=1,...,g\\\ k_{1},...,k_{n_{3}}\geq 2\\\
\alpha_{1},...,\alpha_{n_{3}}\in
Ram\end{subarray}}\Bigg{(}S_{g,n;\alpha^{i_{1}}...\alpha^{i_{n_{1}}}\bar{x}^{j_{1}}...\bar{x}^{j_{n_{2}}}\bar{x}^{k_{1},\alpha_{1}}...\bar{x}^{k_{n_{3}},\alpha_{n_{3}}}}$
$\displaystyle\qquad\times\tau^{i_{1}}(p_{\sigma(1)})...\tau^{i_{n_{1}}}(p_{\sigma(n_{1})})\bar{\tau}^{j_{1}}(p_{\sigma(n_{1}+1)})...\bar{\tau}^{j_{n_{2}}}(p_{\sigma(n_{1}+n_{2})})\bar{e}^{k_{1},\alpha_{1}}(p_{\sigma(n_{1}+n_{2}+1)})...\bar{e}^{k_{n_{3}},\alpha_{n_{3}}}(p_{\sigma(n)})\Bigg{)}$

where the superscript $SW$ is added to signify that $\omega^{SW}_{g,n}$ are
produced from topological recursion using Seiberg-Witten curve as initial
data. Then we have

$\oint_{p_{1}\in B_{i_{1}}}...\oint_{p_{n}\in
B_{i_{n}}}\omega^{SW}_{g,n}(p_{1},...,p_{n})=(2\pi
i)^{n}S_{g,n;\alpha^{i_{1}}...\alpha^{i_{n}}}.$

By definition we have

$\displaystyle 2\pi
i\mathcal{S}_{0}(a_{0}^{1}-a^{1},...,a_{0}^{g}-a^{g})=\sum_{n=3}^{\infty}\frac{1}{n!}\sum_{i_{1},...,i_{n}=1}^{g}S_{0,n;\alpha^{i_{1}}...\alpha^{i_{n}}}(a_{0}^{i_{1}}-a^{i_{1}})...(a_{0}^{i_{n}}-a^{i_{n}})$
$\displaystyle\qquad\qquad=\sum_{n=3}^{\infty}\frac{(-1)^{n}}{n!}\frac{1}{(2\pi
i)^{n-1}}\sum_{i_{1},...,i_{n}=1}^{g}\left(\oint_{p_{1}\in
B_{i_{1}}}...\oint_{p_{n}\in
B_{i_{n}}}\omega^{SW}_{0,n}(p_{1},...,p_{n})\right)(a^{i_{1}}-a_{0}^{i_{1}})...(a^{i_{n}}-a_{0}^{i_{n}}).$

Therefore, we arrive at the relation between the Seiberg-Witten prepotential
$\mathfrak{F}^{SW}_{\Sigma_{0}}$ and meromorphic multi-differential forms
$\omega_{0,n}$ produced from topological recursion:

$\displaystyle\mathfrak{F}^{SW}_{\Sigma_{0}}$
$\displaystyle(a^{1},...,a^{g})=\mathfrak{F}^{SW}_{\Sigma_{0}}(a_{0}^{1},...,a_{0}^{g})$
$\displaystyle+\sum_{i=1}^{g}(a^{i}-a_{0}^{i})\frac{\partial\mathfrak{F}^{SW}_{\Sigma_{0}}}{\partial
a^{i}}(a_{0}^{1},...,a_{0}^{g})+\frac{1}{2}\sum_{i,j=1}^{g}(a^{i}-a_{0}^{i})(a^{j}-a_{0}^{j})\frac{\partial^{2}\mathfrak{F}^{SW}_{\Sigma_{0}}}{\partial
a^{i}\partial a^{j}}(a_{0}^{1},...,a_{0}^{g})$ (117)
$\displaystyle-\sum_{n=3}^{\infty}\frac{1}{n!}\left(\frac{i}{2\pi}\right)^{n-1}\sum_{i_{1},...,i_{n}=1}^{g}\left(\oint_{p_{1}\in
B_{i_{1}}}...\oint_{p_{n}\in
B_{i_{n}}}\omega^{SW}_{0,n}(p_{1},...,p_{n})\right)(a^{i_{1}}-a_{0}^{i_{1}})...(a^{i_{n}}-a_{0}^{i_{n}}),$

on the open neighbourhood $\mathcal{B}_{\Sigma_{0}}\subseteq\mathcal{B}$ of
$[\Sigma_{0}]\in\mathcal{B}$. This agrees with the result of Theorem 2.7.3
after identifying $\mathbf{a}^{i}:=-a^{i}$ and
$\mathfrak{F}_{\mathcal{B}}(\mathbf{a}^{1},\cdots,\mathbf{a}^{g})=\mathfrak{F}^{SW}_{\Sigma_{0}}(a^{1},\cdots,a^{g})$.

## References

  * [1] Jorgen Ellegaard Andersen, Gaëtan Borot, Leonid O Chekhov and Nicolas Orantin  “The ABCD of topological recursion”  In _arXiv preprint arXiv:1703.03307_ , 2017
  * [2] Michael F Atiyah and Raoul Bott  “The moment map and equivariant cohomology”  In _Topology_ 23.1 Elsevier, 1984, pp. 1–28
  * [3] David Baraglia and Zhenxi Huang  “Special Kähler geometry of the Hitchin system and topological recursion”  In _To appear in Advances in Theoretical and Mathematical Physics, arXiv:1707.04975_ , 2017
  * [4] Gaëtan Borot, Vincent Bouchard, Thomas Creutzig, Nitin K Chidambaram and Dmitry Noshchenko  “Higher Airy structures, $\mathcal{W}$ algebras and topological recursion”  In _arXiv preprint arXiv:1812.08738_ , 2018
  * [5] Eduardo Cattani, Fouad El Zein and Phillip A Griffiths  “Hodge Theory (MN-49)”  Princeton University Press, 2014
  * [6] Wee Chaimanowong, Paul Norbury, Michael Swaddle and Mehdi Tavakol  “Airy structures and deformations of curves in surfaces”  In _arXiv preprint arXiv:2012.00254_ , 2020
  * [7] Vladimir Drinfeld  “Infinite-dimensional vector bundles in algebraic geometry”  In _The unity of mathematics_ Springer, 2006, pp. 263–304
  * [8] Boris Dubrovin  “On almost duality for Frobenius manifolds”  In _Translations of the American Mathematical Society-Series 2_ 212 Providence [etc.] American Mathematical Society, 1949-, 2004, pp. 75–132
  * [9] Petr Dunin-Barkowski, Nicolas Orantin, Sergey Shadrin and Loek Spitz  “Identification of the Givental formula with the spectral curve topological recursion procedure”  In _Communications in Mathematical Physics_ 328.2 Springer, 2014, pp. 669–700
  * [10] B Eynard  “Invariants of spectral curves and intersection theory of moduli spaces of complex curves”  In _Communications in Number Theory and Physics_ 8.3 International Press of Boston, 2014, pp. 541–588
  * [11] Bertrand Eynard  “Intersection numbers of spectral curves”  In _arXiv preprint arXiv:1104.0176_ , 2011
  * [12] Bertrand Eynard and Nicolas Orantin  “Invariants of algebraic curves and topological expansion”  In _Communications in Number Theory and Physics_ 1.2 International Press of Boston, 2007, pp. 347–452
  * [13] Bertrand Eynard and Nicolas Orantin  “Topological recursion in enumerative geometry and random matrices”  In _Journal of Physics A: Mathematical and Theoretical_ 42.29 IOP Publishing, 2009, pp. 293001
  * [14] John David Fay  “Theta functions on Riemann surfaces”  Springer, 2006
  * [15] Franc Forstnerič  “Stein manifolds and holomorphic mappings”  Springer, 2011
  * [16] Helge Glöckner  “Tensor products in the category of topological vector spaces are not associative”  In _Comment. Math. Univ. Carolin_ 45.4, 2004, pp. 607–614
  * [17] Phillip Griffiths and Joseph Harris  “Principles of algebraic geometry”  John Wiley & Sons, 2014
  * [18] Nigel Hitchin  “Stable bundles and integrable systems”  In _Duke mathematical journal_ 54.1 Duke University Press, 1987, pp. 91–114
  * [19] H Itoyama and A Morozov  “Prepotential and the Seiberg-Witten theory”  In _Nuclear Physics B_ 491.3 Elsevier, 1997, pp. 529–573
  * [20] Maxim Kontsevich  “Intersection theory on the moduli space of curves and the matrix Airy function”  In _Communications in Mathematical Physics_ 147.1 Springer, 1992, pp. 1–23
  * [21] Maxim Kontsevich and Yan Soibelman  “Airy structures and symplectic geometry of topological recursion”  In _Proceedings of Symposia in Pure Mathematics_ 100 American Mathematical Soc., 2018, pp. 433
  * [22] Andreas Kriegl and Peter W Michor  “The convenient setting of global analysis”  American Mathematical Soc., 1997
  * [23] Serge Lang  “Differential and Riemannian manifolds”  Springer Science & Business Media, 2012
  * [24] Andrei Marshakov  “Seiberg-Witten theory and integrable systems”  World Scientific, 1999
  * [25] Hiraku Nakajima and Kota Yoshioka  “Instanton counting on blowup. I. 4-dimensional pure gauge theory”  In _Inventiones mathematicae_ 162.2 Springer, 2005, pp. 313–355
  * [26] Hiraku Nakajima and Kota Yoshioka  “Lectures on instanton counting”  In _Algebraic structures and moduli spaces_ 38, 2004, pp. 31–101
  * [27] Nikita A Nekrasov  “Seiberg-Witten prepotential from instanton counting”  In _Advances in Theoretical and Mathematical Physics_ 7.5 International Press of Boston, 2003, pp. 831–864
  * [28] Nikita A Nekrasov and Andrei Okounkov  “Seiberg-Witten theory and random partitions”  In _The unity of mathematics_ Springer, 2006, pp. 525–596
  * [29] Andrei Okounkov  “Random partitions and instanton counting”  In _arXiv preprint math-ph/0601062_ , 2006
  * [30] Nathan Seiberg and Edward Witten  “Electric-magnetic duality, monopole condensation, and confinement in N= 2 supersymmetric Yang-Mills theory”  In _Nuclear Physics B_ 426.1 Elsevier, 1994, pp. 19–52
  * [31] François Treves  “Topological Vector Spaces, Distributions and Kernels: Pure and Applied Mathematics”  Elsevier, 2016
  * [32] Claire Voisin  “Hodge Theory and Complex Algebraic Geometry I” 1, Cambridge Studies in Advanced Mathematics  Cambridge University Press, 2002
  * [33] Edward Witten  “Two-dimensional gravity and intersection theory on moduli space”  In _Surveys in differential geometry_ 1.1 International Press of Boston, 1990, pp. 243–310


11institutetext: Fraunhofer Institute for Open Communications Systems,
Kaiserin-Augusta-Allee 31, 10589 Berlin, Germany
11email<EMAIL_ADDRESS>TU Berlin,
Straße des 17. Juni 135, 10623 Berlin, Germany 22email: firstname.lastname@tu-
berlin.de

# Uncomputation in the Qrisp high-level Quantum Programming Framework

Raphael Seidel 11 Nikolay Tcholtchev 11 Sebastian Bock 11 Manfred Hauswirth
1122

###### Abstract

Uncomputation is an essential part of reversible computing and plays a vital
role in quantum computing. Using this technique, memory resources can be
safely deallocated without performing a non-reversible deletion process. For
the case of quantum computing, several algorithms depend on this as they
require disentangled states in the course of their execution. Thus,
uncomputation is not only about resource management, but is also required from
an algorithmic point of view. However, synthesizing uncomputation circuits is
tedious and can be automated. In this paper, we describe the interface for
automated generation of uncomputation circuits in our Qrisp framework. Our
algorithm for synthesizing uncomputation circuits in Qrisp is based on an
improved version of “Unqomp”, a solution presented by Paradis et. al. Our
paper also presents some improvements to the original algorithm, in order to
make it suitable for the needs of a high-level programming framework. Qrisp
itself is a fully compilable, high-level programming language/framework for
gate-based quantum computers, which abstracts from many of the underlying
hardware details. Qrisp’s goal is to support a high-level programming paradigm
as known from classical software development.

###### Keywords:

Quantum computation Uncomputation High-level programming Qrisp.

##  1 Introduction

While the hardware side of quantum computing has seen steady improvements,
significant progress in quantum software development methods is still lacking.
This is due to the fact that coding algorithms for the main available physical
backends is still done using quantum circuit objects, which are indeed
expressive but provide little structure. In order to better support more
complex algorithms, which might include a multitude of concepts, a more
abstract programming workflow is necessary.

This problem has been identified by the community and two solutions have been
proposed: Q# [11] and Silq [2]. Unfortunately, these proposals currently
provide no straightforward way of compiling their algorithms into quantum
circuits. In previous work on Qrisp [9], we demonstrated several constructs
and abstractions, which permit a high-level programming workflow, while still
maintaining full platform-independent compilability. The fundamental paradigm
behind Qrisp’s design has always been the automation of as many of the
repetitive steps of low-level programming as possible without losing
expressiveness. As uncomputation is a central and re-occurring topic in many
quantum algorithms, it is natural to investigate the automation of this
procedure and how Qrisp can support it. In the following, we present an
interface for automatic uncomputation within Qrisp as well as some adjustments
to the underlying algorithm “Unqomp” [7].

The rest of this paper is organized as follows: Section 2 overviews our Qrisp
framework for high-level programming of quantum computers. Then Section 3
motivates the role of uncomputation for quantum software development. Sections
4 and 5 discuss the possible methods for implementing uncomputation and
present the corresponding Qrisp interface. After that, in Section 6 the
improvements to established uncomputation methods, which make those more
comfortable to use in the scope of Qrisp, are discussed. The final section
summarizes and concludes our paper.

##  2 Brief Overview of Qrisp

The state of the art in programming a quantum computer is currently similar to
programming in assembler on a classical computer. Even worse, while assembly
programming offers at least some basic instructions, e.g. commands, registers,
loops, etc., which are more abstract than accessing the actual hardware gates
through binary codes, in quantum computing gates and qubits is the current
standard way of programming. Frameworks such as Qiskit [12] or Cirq [4] enable
the user to create sub-circuits that can be reused in larger, more complex
circuits. However, the handling of the circuits is still quite complicated and
tedious.

The Qrisp framework [1] consists of a set of Python modules and language
extensions that attempt to overcome the above challenge by abstracting the
qubit and gate structure of the underlying circuits as far as possible. This
is achieved by conceptually replacing gates and qubits with functions and
variables. In this way, it is possible to create much more complex circuits
than would be possible with the current low-level approach. It goes without
saying that the transition to variables and functions does not mean the end of
programming with gates and qubits. The elementary quantum functions must of
course still be implemented in the background with the help of gates and
qubits.

##  3 The Need for Uncomputation in Quantum Computing

Uncomputation is an important aspect of quantum information processing (and
reversible computing in general), because it facilitates the efficient use of
quantum resources. In classical computing, resource efficiency can be achieved
by deleting information from main memory and reusing the deleted bits for
other purposes.111A good correspondence in classical computing to
uncomputation in quantum computing is the concept of garbage collection as,
e.g., in Java. While classical garbage collection usually simply performs a
non-reversible deletion of the collected data, uncomputation in contrast means
performing the necessary (reversible) steps to bring the data back into some
initial state. Deleting or resetting a qubit, however, is not a reversible
process and is usually performed by measuring the qubit in question and
performing a bit flip based on the outcome. This measurement collapses the
superposition of other entangled qubits, which are supposed to be unaffected.
In many cases this collapse interferes with the quantum algorithm, such that
the resulting state can no longer be used.

In some situations, uncomputation is not only relevant as a way to manage
quantum resources but is actually required, in order for a quantum algorithm
to produce a correct result. One such example is Grover’s algorithm [3], which
utilizes an oracle function and a diffusing process, in order to search for
suitable solutions in a given space based on the logic of the above mentioned
oracle function. Assume that we have two quantum variables, of which one is in
a state of uniform superposition:

$\displaystyle\ket{\psi_{0}}=\sum_{i=0}^{2^{n}-1}\ket{i}\ket{0}.$ (1)

In Grover’s algorithm, an oracle now calculates a boolean value $f(i)$, which
is required to perform a phase tag on the correct solution, for which the
algorithm is searching:

$\displaystyle\ket{\psi_{1}}=\sum_{i=0}^{2^{n}-1}\ket{i}\ket{f(i)}.$ (2)

After performing the phase tag, the state is:

$\displaystyle\ket{\psi_{2}}=Z_{\ket{f(i)}}\ket{\psi_{1}}=\sum_{i=0}^{2^{n}-1}(-1)^{f(i)}\ket{i}\ket{f(i)}.$
(3)

In order for Grover’s diffuser to actually amplify the amplitude of the tagged
state, we need the state to be disentangled, i.e.,

$\displaystyle\ket{\psi_{3}}=\sum_{i=0}^{2^{n}-1}(-1)^{f(i)}\ket{i}\ket{0}$
(4)

Therefore we need to uncompute the variable containing $f(i)$. This shows
clearly why uncomputation is required even within the implementation and
execution of one of the most popular quantum algorithms, in order to enable
the efficient search of solutions for a particular problem based on an oracle
function.

##  4 The Challenge of Implementing Uncomputation

In many cases, uncomputing a set of qubits can be achieved by applying the
inverse of the steps required for the computation. While this seems like a
simple approach, it can be ambiguous, e.g., because it might not be clear
which gates actually contributed to the computation. For instance, consider
the Z gate in eq. 3. In any case, it is a tedious amount of extra programming
work, which should be automated.

To remedy this problem, an algorithm called “Unqomp” for automatic
uncomputation has been devised [7] . An important advantage of Unqomp is, that
it does not follow the philosophy of simply reverting the computation, but
rather enables the algorithm to skip “un-uncomputation” or recomputation.
Recomputation is a phenomenon that happens if one naively reverts the
computation process. If that computation process contained an uncomputation
itself, the reversed process contains a recomputation. Unqomp enables skipping
that recomputation, by inserting the reverted operations at the correct point
within the circuit instead of appending them at the end. While skipping
recomputation is generally a truly useful feature, it also has a drawback: Due
to the insertion of the reverted operations within the circuit, the qubits
holding the values that would potentially be recomputed cannot be deallocated
until the uncomputation is completed. If we recompute them, these qubits can
be used for other purposes between their un- and recomputation.

In Qrisp the developer can choose222An algorithm for automatic determination
wether a variable should be recomputed has been presented in [6]. This method
is however not yet implemented within Qrisp whether they want to perform
recomputation: Using the `gate_wrap` decorator, functions of quantum variables
can be packed into self-contained gate objects, which are not dissolved by the
Unqomp implementation. Any uncomputed quantum variables inside these objects
will be recomputed if required. The advantages and drawbacks of uncomputation
with and without recomputation are summarized in Fig. 1.

@C=1.0em @R=0.8em @!R
qb_0 : & qb_0 : 1 1 1 1
qb_1 : qb_1 : 1 1 1 1
qb_2 : qb_2 : 1 V 1
qb_3 : qb_3 : 1 1
qb_4 : qb_4 : U

(a) Conceptual visualisation of an uncomputation, which simply reverts the
computation. A value is computed into qubit 4 using some temporary result in
qubit 2. Subsequently some process $U$ is applied and afterwards, the
computation is reversed. Note that qubit 2 is available for some other process
$V$ while $U$ is running. Within Qrisp, automatic qubit allocation permits
that the recomputation of qubit 2 can even happen on a differing qubit,
enabling automated and flexible resource management.

@C=1.0em @R=0.8em @!R
qb_0 : & qb_0 : 1 1
qb_1 : qb_1 : 1 1
qb_2 : qb_2 : 1 1 V
qb_3 : qb_3 : 1 1
qb_4 : qb_4 : U

(b) Conceptual visualisation of an uncomputation as done in Unqomp. Note, that
only 4 instead of 6 Toffoli gates are needed, because qubit 2 does not need to
be recomputed. However, this comes at the cost that qubit 2 is not uncomputed
until qubit 4 is uncomputed. Therefore the process $V$ needs to wait until
after the uncomputation is done. If the duration of the (re)computation is
small compared to the duration of $U$ and $V$, this implementation requires
twice the time compared to the approach in 1(a).

Figure 1:  Conceptual visualisation of different uncomputation strategies.

##  5 Utilizing the Unqomp Method in Qrisp

Unqomp has been implemented in Qrisp and we provide two ways to call this
function as described in the following subsections.

###  5.1 Decorator based Uncomputation in Qrisp

The first option is the `auto_uncompute` decorator, which automatically
uncomputes all local quantum variables, i.e., `QuantumVariable` class
instances, of a function. To demonstrate this functionality, we create a
function which returns a `QuantumBool` instance in Qrisp containing the AND
value of the three associated inputs. To do so, this function creates a local
QuantumBool, which stores the temporary result of the AND value of the first
two inputs.

⬇

from qrisp import QuantumBool, mcx

def triple_AND(a, b, c):

local = QuantumBool()

result = QuantumBool()

mcx([a, b], local_quantum_bool)

mcx([local_quantum_bool, c], result)

return result

a = QuantumBool()

b = QuantumBool()

c = QuantumBool()

result = triple_AND(a, b, c)

Executing this piece of code and visualizing the `.qs` attribute (the
`QuantumSession`333In Qrisp, a QuantumSession contains all the high-level
objects and steer the interaction with the hardware or simulation backend.) of
any of the participating `QuantumVariable`s produces the following circuit:

@C=1.0em @R=0.8em @!R a.0 : & a.0 : 1
b.0 : b.0 : 1
local.0 : local.0 : 1
c.0 : c.0 : 1
result.0 : result.0 :

We see that the qubit containing the local `QuantumBool` does not end up in
the $\ket{0}$ state, if `a` and `b` are in the $\ket{1}$ state. Therefore this
qubit is still entangled and cannot be reused for other purposes.

We will now rewrite this function with the `auto_uncompute` decorator:

⬇

from qrisp import QuantumBool, mcx, auto_uncompute

@auto_uncompute

def triple_AND(a, b, c):

local = QuantumBool()

result = QuantumBool()

mcx([a, b], local_quantum_bool)

mcx([local_quantum_bool, c], result)

return result

a = QuantumBool()

b = QuantumBool()

c = QuantumBool()

result = triple_AND(a, b, c)

This snippet produces the following `QuantumCircuit`:

@C=1.0em @R=0.8em @!R a.0 : & a.0 : 3pt2cx_¡¡¡0 3pt2cx_¡¡¡0
b.0 : b.0 : pt2cx_¡¡¡1 pt2cx_¡¡¡1
c.0 : c.0 : pt2cx 1 pt2cx
local.0 : local.0 : pt2cx_¡¡¡2 1 pt2cx_¡¡¡2
result.0 : result.0 :

As an effect of the `auto_uncompute` decorator, we see that the multi-
controlled X-gate acting on the local QuantumBool has been replaced by a gate
called pt2cx, which stands for phase tolerant two controlled X gate. Phase
tolerant logic synthesis is an efficient way of encoding boolean functions
into quantum circuits [8]. Using this way of synthesizing boolean functions,
we significantly reduce the required resources at the cost of producing an
extra phase, depending on the input constellation. However, this phase is
reverted once the inverted gate is performed on the same input. For the case
of two controls, this is implemented as the so-called Margolus gate [10].
Hence, we can observe how the usage of the `auto_uncompute` decorator in Qrisp
can modify the underlying quantum circuits in a way, such that resources,
i.e., qubits, that are not needed can be freed and disentangled when required.

###  5.2 Uncomputation over Qrisp QuantumVariables

The second way of invoking uncomputation is the `.uncompute` method of the
`QuantumVariable` class in Qrisp. A `QuantumVariable` in Qrisp is an
abstraction that allows the user to manage several qubits simultaneously and
to implement data types such as `QuantumFloat`, `QuantumChar` or
`QuantumString`.

We demonstrate the use of the `uncompute` method of the `QuantumVariable`
class based on the example from above:

⬇

def triple_AND(a, b, c):

local = QuantumBool()

result = QuantumBool()

mcx([a, b], local_quantum_bool)

mcx([local_quantum_bool, c], result)

local_quantum_bool.uncompute()

return result

a = QuantumBool()

b = QuantumBool()

c = QuantumBool()

result = triple_AND(a, b, c)

This produces the following quantum circuit:

@C=1.0em @R=0.8em @!R a.0 : & a.0 : 2pt2cx_¡¡¡0 2pt2cx_¡¡¡0
b.0 : b.0 : pt2cx_¡¡¡1 pt2cx_¡¡¡1
local.0 : local.0 : pt2cx_¡¡¡2 1 pt2cx_¡¡¡2
c.0 : c.0 : 1
result.0 : result.0 :

The `uncompute` method and the `auto_uncompute` decorator automatically call
the `delete` method after successful uncomputation, which frees the used
qubit. If we allocate a new `QuantumBool`, the compiled quantum circuit will
reuse that qubit:

⬇

from qrisp import cx

d = QuantumBool()

cx(result, d)

And the quantum circuit is updated to:

@C=1.0em @R=0.8em @!R a.0 : & a.0 : 2pt2cx_¡¡¡0 2pt2cx_¡¡¡0
b.0 : b.0 : pt2cx_¡¡¡1 pt2cx_¡¡¡1
d.0 : d.0 : pt2cx_¡¡¡2 1 pt2cx_¡¡¡2
c.0 : c.0 : 1
result.0 : result.0 : -2

We can see how the qubit holding the local `QuantumBool` has been reused to
now accomodate the `QuantumBool d`.

###  5.3 Case Study: Solving Quadratic Equations using Grover’s Algorithm

We want to close this section with an example given in our previous article
[9], where we highlighted how Qrisp can be used to solve a quadratic equation
using Grover’s algorithm. To achieve this in Qrisp, we employed manual
uncomputation using the `invert` environment. Using the `auto_uncompute`
decorator we reformulate the code from [9] as follows:

⬇

from qrisp import QuantumFloat, h, z, auto_uncompute

@auto_uncompute

def sqrt_oracle(qf):

z(qf*qf == 0.25)

qf = QuantumFloat(3, -1, signed = True)

n = qf.size

iterations = int((n/2)**0.5) + 1

h(qf)

from qrisp.grover import diffuser

for i in range(iterations):

sqrt_oracle(qf)

diffuser(qf)

result = qf.get_measurement(plot = True)

The function `sqrt_oracle` applies a Z gate onto the `QuantumBool` generated
by evaluating the comparison. Note that this `QuantumBool` and the result of
the multiplication `qf*qf` (a `QuantumFloat`) are uncomputed automatically.

The histogram of the simulated outcome probabilities is shown in Figure 2,
demonstrating the correctness of the quadratic equation solving procedure,
while in parallel uncomputing qubits using the Qrisp infrastructure for the
efficient execution of the Grover’s algorithm.

Figure 2: Histogram of the simulation results of the quadratic solver.

##  6 Uncomputation beyond Unqomp

Even though the Unqomp algorithm provides a very convenient way of solving
automatic uncomputation, it comes with a few restrictions. We will not detail
them too deeply here as they are well documented in the original publication
[7], however, the most important one can be overcome using the Qrisp
implementation of the algorithm which is described in the following section.

###  6.1 Uncomputing Synthesized Gates

The main restriction Unqomp imposes is that only a certain class of gates can
be uncomputed, which the authors of Unqomp call qfree: A quantum gate is qfree
if it neither introduces nor destroys states of superposition. In more
mathematical terms, this implies that the unitary matrix of a qfree gate can
only have a single non-zero entry per column.

This is a serious restriction, since many quantum functions make use of non-
qfree gates such as the Hadamard, even though their net-effect is qfree. An
example of such a situation is Fourier arithmetic (of which Qrisp’s arithmetic
module makes heavy use). Even though the multiplication function

$\displaystyle U_{mul}\ket{a}\ket{b}\ket{0}=\ket{a}\ket{b}\ket{a\cdot b}$ (5)

itself is qfree, it makes use of Hadamard gates, which are not qfree. In order
to overcome this major restriction, the Qrisp implementation of Unqomp does
not decompose gates but instead check the combined gate for qfree-ness.

This feature, in combination with the previously mentioned `gate_wrap`
decorator, can be used to create quantum functions that can be successfully
uncomputed even though their inner workings contain non-qfree gates.

We demonstrate this with an implementation of the Margolus gate taken from [5]

⬇

from qrisp import cx, ry

from numpy import pi

def margolus(control, target):

ry(pi/4, target[0])

cx(control[1], target[0])

ry(-pi/4, target[0])

cx(control[0], target[0])

ry(pi/4, target[0])

cx(control[1], target[0])

ry(-pi/4, target[0])

While the Margolus gate itself is qfree, the constituents (to be specific, the
RY gates) are not. Therefore the following code results in an error:

⬇

from qrisp import QuantumVariable

control = QuantumVariable(2)

target = QuantumVariable(1)

margolus(control, target)

target.uncompute()

We can circumvent this error by applying the `gate_wrap` decorator to
`margolus`.

⬇

from qrisp import gate_wrap

control = QuantumVariable(2)

target = QuantumVariable(1)

margolus_wrapped = gate_wrap(margolus)

margolus_wrapped(control, target)

target.uncompute()

Qrisp now automatically checks the combined gate for qfree-ness instead of the
constituents. Since qfree-ness corresponds to the unitary having only a single
non-zero entry per column, this property can be checked in linear time if the
unitary is known.

###  6.2 Permeability

Permeability is a concept, which is introduced in the Qrisp implementation of
Unqomp and generalizes the notion of a controlled operation. The permeability
status of a gate on a certain input qubit $q$ decides how this gate is
treated, when $q$ is uncomputed. We choose this definition, because it permits
a broader scope of uncomputable circuits than Unqomp [7] and can be decided in
linear time, if the unitary matrix is available. A gate is called permeable on
qubit $i$, if it commutes with the $Z$ operator on this qubit.

$\displaystyle\text{U}\text{ is permeable on qubit
i}\Leftrightarrow\text{U}\text{Z}_{i}=\text{Z}_{i}\text{U}$ (6)

This implies that any controlled gate is permeable on its control qubit
because

$\displaystyle\text{Z}_{0}\text{cU}$
$\displaystyle=\begin{pmatrix}\mathbbm{1}&0\\\
0&-\mathbbm{1}\end{pmatrix}\begin{pmatrix}\mathbbm{1}&0\\\ 0&U\end{pmatrix}$
$\displaystyle=\begin{pmatrix}\mathbbm{1}&0\\\ 0&-U\end{pmatrix}$
$\displaystyle=\text{cU}\text{Z}_{0}$

However, not every permeable unitary is equal to a controlled gate, for
example, $\text{Z}_{0}\text{CX}_{01}$.

Why is this property relevant for the Unqomp algorithm? The definining feature
of the DAG (directed acyclic graph) representation of Unqomp, is the fact that
multiple “control edges” can be connected to the same node. This is due to the
commutative property of control knobs:

@C=1.0em @R=0.2em @!R & q_0 :
q_1 : -1 1  = 1 -1
q_2 :

The DAG representation of Uncomp no longer contains any information about the
order in which controlled gates are applied. It therefore supports a flexible
insertion of the inverse “uncomputation” gates, since it is not necessary to
specify, the concrete position in a sequence of controlled gates. In other
words, Unqomp’s DAG representation abstracts away equivalence classes of gate
sequence permutations based on non-trivial commutation relations.

At this point we need the following theorem, which is proved in the appendix:

###### Theorem 6.1

Let $U\in U(2^{n})$ and $V\in U(2^{m})$ be $n$ and $m$ qubit operators,
respectively. If $U$ is permeable on its last $p$ qubits and $V$ is permeable
on its first $p$ qubits, the two operators commute, if they intersect only on
these qubits:

$\displaystyle(U\otimes\mathbbm{1}^{\otimes m-p})(\mathbbm{1}^{\otimes
n-p}\otimes V)=(\mathbbm{1}^{\otimes n-p}\otimes
V)(U\otimes\mathbbm{1}^{\otimes m-p})$ (7)

According to Theorem 6.1, it is not only control knobs that possess the above
non-trivial commutation relation but the same is also true for two general
gates, $U,V$ if they are both permeable on $q_{1}$:

@C=1.0em @R=1.0em @!R q_0 : & q_0 : 1U 1U
q_1 : q_1 : U 1V  = 1V U
q_2 : q_2 : V V

We therefore modify the Unqomp algorithm in such a way that, every time it
determines whether a gate is controlled on a certain qubit, we instead return
the permeability status on that qubit. This simple modification has proved to
provide a uniform way of treating uncomputation of synthesized gates. In
addition, it also expanded the class of circuits that can be uncomputed. For
example, an important class of synthesized gates, that is permeable but not
controlled, is quantum logic synthesis.

As mentioned before, permeability can be determined efficiently. This is due
to the fact, that according to Theorem 7.1 (in the appendix), the matrix
representation is block diagonal. For instance, if $p=2$:

$\displaystyle U=\begin{pmatrix}\tilde{U}_{0}&0&0&0\\\ 0&\tilde{U}_{1}&0&0\\\
0&0&\tilde{U}_{2}&0\\\ 0&0&0&\tilde{U}_{3}\end{pmatrix}$ (8)

Therefore, permeability can be decided by iteratively checking the off-
diagonal blocks for non-zero entries.

##  7 Summary and Conclusions

In this paper, we gave a short introduction to why uncomputation is necessary
in general and how to perform it. We introduced two ways of implementing and
using the state-of-the-art algorithm Unqomp [7] (the `auto_uncompute`
decorator and the `uncompute` method of the `QuantumVariable` class) in the
Qrisp high-level programming framework. Moreover, we gave a short example of
how to deploy these techniques, in order to have an even more elegant
formulation of solving quadratic equations using Grover’s algorithm [3] than
in our previous article about Qrisp [9]. Finally, we elaborated on our
extension of the Unqomp algorithm, which supports the uncomputation of more
general quantum circuits an efficient way of deciding the necessary properties
(permeability, qfree-ness) required for it to work.

## References

  * [1] Qrisp online.  https://www.qrisp.eu/.  Accessed: 19-02-2023.
  * [2] Benjamin Bichsel, Maximilian Baader, Timon Gehr, and Martin Vechev.  Silq: A high-level quantum language with safe uncomputation and intuitive semantics.  In Proceedings of the 41st ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI 2020, page 286–300, New York, NY, USA, 2020. Association for Computing Machinery.
  * [3] Lov K. Grover.  A fast quantum mechanical algorithm for database search, 1996.
  * [4] Bettina Heim, Mathias Soeken, Sarah Marshall, Chris Granade, Martin Roetteler, Alan Geller, Matthias Troyer, and Krysta Svore.  Quantum programming languages.  Nature Reviews Physics, 2(12):709–722, Dec 2020.
  * [5] Dmitri Maslov.  Advantages of using relative-phase toffoli gates with an application to multiple control toffoli optimization.  Physical Review A, 93(2), feb 2016.
  * [6] Giulia Meuli, Mathias Soeken, Martin Roetteler, Nikolaj Bjorner, and Giovanni De Micheli.  Reversible pebbling game for quantum memory management, 2019.
  * [7] Anouk Paradis, Benjamin Bichsel, Samuel Steffen, and Martin Vechev.  Unqomp: Synthesizing uncomputation in quantum circuits.  In Proceedings of the 42nd ACM SIGPLAN International Conference on Programming Language Design and Implementation, PLDI 2021, page 222–236, New York, NY, USA, 2021. Association for Computing Machinery.
  * [8] Raphael Seidel, Colin Kai-Uwe Becker, Sebastian Bock, Nikolay Tcholtchev, Ilie-Daniel Gheorghe-Pop, and Manfred Hauswirth.  Automatic generation of grover quantum oracles for arbitrary data structures.  Quantum Science and Technology, 8(2):025003, January 2023.
  * [9] Raphael Seidel, Sebastian Bock, Nikolay Tcholtchev, and Manfred Hauswirth.  Qrisp: A framework for compilable high-level programming of gate-based quantum computers.  In PlanQC - Programming Languages for Quantum Computing, September 2022.
  * [10] Guang Song and Andreas Klappenecker.  The simplified toffoli gate implementation by margolus is optimal, 2003\.
  * [11] Krysta Svore, Martin Roetteler, Alan Geller, Matthias Troyer, John Azariah, Christopher Granade, Bettina Heim, Vadym Kliuchnikov, Mariia Mykhailova, and Andres Paz.  Q#.  In Proceedings of the Real World Domain Specific Languages Workshop 2018 on - RWDSL2018. ACM Press, 2018.
  * [12] Robert Wille, Rod Van Meter, and Yehuda Naveh.  Ibm’s qiskit tool chain: Working with and developing for real quantum computers.  In 2019 Design, Automation & Test in Europe Conference & Exhibition (DATE), pages 1234–1240, 2019.

## Appendix: Proof of Theorem 1

This appendix contains the proofs for theorem 6.1 from section 6. In order to
derive the arguments for theorem 6.1, we first need the following theorem.

###### Theorem 7.1

Let $U\in U(2^{n})$ be an $n$-qubit operator. If $U$ is permeable on the first
$p$ qubits, there are operators
$\tilde{U}_{0},\tilde{U}_{1}..\tilde{U}_{2^{p}-1}$ such that:

$\displaystyle U=\sum_{i=0}^{2^{p}-1}\ket{i}\bra{i}\otimes\tilde{U}_{i}$

###### Proof

We will treat the case $p=1$ first and generalize via induction afterwards.
We start by inserting identity operators
$\mathbbm{1}=\sum_{i=0}\ket{i}\bra{i}$:

$\displaystyle U=$ $\displaystyle\mathbbm{1}U\mathbbm{1}$ (9) $\displaystyle=$
$\displaystyle\sum_{i,j=0}^{1}\ket{i}\bra{i}U\ket{j}\bra{j}$ (10)
$\displaystyle=$
$\displaystyle\sum_{i,j=0}^{1}\ket{i}\bra{j}\otimes\hat{U}_{ij}.$ (11)

where $\hat{U}_{ij}=\bra{i}U\ket{j}$. Due to the permeability condition, we
have

$\displaystyle 0=$ $\displaystyle Z_{0}U-UZ_{0}$ (12) $\displaystyle=$
$\displaystyle\left(\sum_{k=0}^{1}(-1)^{k}\ket{k}\bra{k}\otimes\mathbbm{1}^{\otimes{n-1}}\right)\left(\sum_{i,j=0}^{1}\ket{i}\bra{j}\otimes\hat{U}_{ij}\right)$
(13) $\displaystyle-$
$\displaystyle\left(\sum_{i,j=0}^{1}\ket{i}\bra{j}\otimes\hat{U}_{ij}\right)\left(\sum_{k=0}^{1}(-1)^{k}\ket{k}\bra{k}\otimes\mathbbm{1}^{\otimes{n-1}}\right)$
(14) $\displaystyle=$
$\displaystyle\sum_{i,j,k=0}^{1}(-1)^{k}\left(\ket{k}\langle
k|i\rangle\bra{j}\otimes\hat{U}_{ij}-\ket{i}\langle
j|k\rangle\bra{k}\otimes\hat{U}_{ij}\right)$ (15) $\displaystyle=$
$\displaystyle\sum_{i,j,k=0}^{1}(-1)^{k}\left(\ket{k}\langle
k|i\rangle\bra{j}-\ket{i}\langle j|k\rangle\bra{k}\right)\otimes\hat{U}_{ij}$
(16) $\displaystyle=$
$\displaystyle\sum_{i,j=0}^{1}\left((-1)^{i}\ket{i}\bra{j}-(-1)^{j}\ket{i}\bra{j}\right)\otimes\hat{U}_{ij}.$
(17)

From this form, we see that the index constellations, where $i=j$ cancel out.
We end up with

$\displaystyle
0=2(\ket{0}\bra{1}\otimes\hat{U}_{01}-\ket{1}\bra{0}\otimes\hat{U}_{10}).$
(18)

Since both summands act on disjoint subspaces, we conclude

$\displaystyle\hat{U}_{01}=0=\hat{U}_{10}.$ (19)

Finally, we set

$\displaystyle\tilde{U}_{0}=\hat{U}_{00}$ (20)
$\displaystyle\tilde{U}_{1}=\hat{U}_{11}$ (21)

yielding the claim for p = 1. To complete the proof we give the induction
step, that is we will proof the claim for $p=p_{0}+1$ under the assumption
that it is true for $p=p_{0}$: Since $U$ is permeable on qubit $p_{0}+1$, we
have

$\displaystyle 0=$ $\displaystyle Z_{p_{0}+1}U-UZ_{p_{0}+1}$ (23)

As the claim is true for $p=p_{0}$, we insert

$\displaystyle U=\sum_{i=0}^{2^{p_{0}}-1}\ket{i}\bra{i}\otimes\tilde{U}_{i}$
(24)

yielding

$\displaystyle
0=\sum_{i=0}^{2^{p_{0}}-1}\ket{i}\bra{i}\otimes(Z_{p_{0}+1}\tilde{U}_{i}-Z_{p_{0}+1}\tilde{U}_{i})$
(25)

Since each of the summand operators act on disjoint subspaces, we conclude

$\displaystyle 0=Z_{p_{0}+1}\tilde{U}_{i}-Z_{p_{0}+1}\tilde{U}_{i}$ (26)

Implying

$\displaystyle\tilde{U}_{i}=\sum_{j=0}^{1}\ket{j}\bra{j}\otimes(\tilde{U}_{i})_{j}.$
(27)

We insert this form into into eq. 24 to retrieve the claim for $p=p_{0}+1$:

$\displaystyle U=\sum_{i=0}^{2^{p_{0}+1}-1}\ket{i}\bra{i}\otimes\tilde{U}_{i}$
(28)

$\square$

Having proved the above theorem, the next step is to employ it in
argumentation for the validity of Theorem 6.1.

###### Proof

According to Theorem 7.1 we can write

$\displaystyle(U\otimes\mathbbm{1}^{\otimes
m-p})=\sum_{i=0}^{2^{p}-1}\tilde{U}_{i}\otimes\ket{i}\bra{i}\otimes\mathbbm{1}^{\otimes
m-p}$ (29) $\displaystyle(\mathbbm{1}^{\otimes n-p}\otimes
V)=\sum_{j=0}^{2^{p}-1}\mathbbm{1}^{\otimes
n-p}\otimes\ket{j}\bra{j}\otimes\tilde{V}_{j}$ (30)

Multiplying these operators gives

$\displaystyle(U\otimes\mathbbm{1}^{\otimes m-p})(\mathbbm{1}^{\otimes
n-p}\otimes V)$ (31) $\displaystyle=$
$\displaystyle\left(\sum_{i=0}^{2^{p}-1}\tilde{U}_{i}\otimes\ket{i}\bra{i}\otimes\mathbbm{1}^{\otimes
m-p}\right)\left(\sum_{j=0}^{2^{p}-1}\mathbbm{1}^{\otimes
n-p}\otimes\ket{j}\bra{j}\otimes\tilde{V}_{j}\right)$ (32) $\displaystyle=$
$\displaystyle\sum_{i,j=0}^{2^{p}-1}\tilde{U}_{i}\otimes\ket{i}\langle
i|j\rangle\bra{j}\otimes\tilde{V}_{j}$ (33) $\displaystyle=$
$\displaystyle\sum_{i=0}^{2^{p}-1}\tilde{U}_{i}\otimes\ket{i}\bra{i}\otimes\tilde{V}_{i}$
(34)

Multiplication in reverse order yields the same result:

$\displaystyle(\mathbbm{1}^{\otimes n-p}\otimes
V)(U\otimes\mathbbm{1}^{\otimes m-p})$ (35) $\displaystyle=$
$\displaystyle\left(\sum_{j=0}^{2^{p}-1}\mathbbm{1}^{\otimes
n-p}\otimes\ket{j}\bra{j}\otimes\tilde{V}_{j}\right)\left(\sum_{i=0}^{2^{p}-1}\tilde{U}_{i}\otimes\ket{i}\bra{i}\otimes\mathbbm{1}^{\otimes
m-p}\right)$ (36) $\displaystyle=$
$\displaystyle\sum_{i,j=0}^{2^{p}-1}\tilde{U}_{i}\otimes\ket{j}\langle
j|i\rangle\bra{i}\otimes\tilde{V}_{j}$ (37) $\displaystyle=$
$\displaystyle\sum_{i=0}^{2^{p}-1}\tilde{U}_{i}\otimes\ket{i}\bra{i}\otimes\tilde{V}_{i}$
(38)

$\square$

## Acknowledgement:

This work was funded by the Federal Ministry for Economic Affairs and Climate
Action (German: Bundesministerium für Wirtschaft und Klimaschutz) under the
funding number Qompiler project. The authors are responsible for the content
of this publication.