diff --git a/docs/tutorials/QEC_Framework_IEEE_2022.ipynb b/docs/tutorials/QEC_Framework_IEEE_2022.ipynb
index 0b89fb11..634bcbcf 100644
--- a/docs/tutorials/QEC_Framework_IEEE_2022.ipynb
+++ b/docs/tutorials/QEC_Framework_IEEE_2022.ipynb
@@ -49,7 +49,7 @@
" \n",
"### Layer Design\n",
"\n",
- "```{verbatim}\n",
+ "```\n",
"\n",
" ┌ Layer 3: Maximum flexibility, convenience, options, many checks, ... \n",
"Python ┤ \n",
@@ -91,7 +91,7 @@
"### Structure\n",
"\n",
"\n",
- "```{verbatim}\n",
+ "```\n",
"├── qiskit_qec\n",
" ├── analysis\n",
" ├── circuits\n",
@@ -360,10 +360,9 @@
"\n",
"\\begin{align}\n",
"\\rho_{U|\\phi\\rangle} &= U|\\phi\\rangle (U|\\phi\\rangle)^\\dagger \\\\\n",
- " &=U|\\phi\\rangle\\langle\\phi|U^\\dagger \\\\\n",
- " &=U\\rho_{|\\phi\\rangle}U^\\dagger\n",
+ "&=U|\\phi\\rangle\\langle\\phi|U^\\dagger \\\\\n",
+ "&=U\\rho_{|\\phi\\rangle}U^\\dagger\n",
"\\end{align}\n",
- "\n",
" \n",
"Multiple qubits are modeled via tensor products and so $n$-qubit system has a Hilbert space\n",
"\n",
@@ -932,8 +931,8 @@
"- find a $g'\\in\\mathcal{U}$ such that $[g,g']=-I$ and set $\\mathcal{U}\\leftarrow\\mathcal{U}\\backslash\\{g'\\}$\n",
"- for each $v\\in\\mathcal{U}$ make $v$ commute with the processes hyperbolic pairs:\n",
"\\begin{align}\n",
- " v&\\leftarrow vg \\quad\\textrm{if}\\quad [v,q]=-I \\\\\n",
- " v&\\leftarrow vg' \\quad\\textrm{if}\\quad [v,q']=-I \\\\\n",
+ "v&\\leftarrow vg \\quad\\textrm{if}\\quad [v,q]=-I \\\\\n",
+ "v&\\leftarrow vg' \\quad\\textrm{if}\\quad [v,q']=-I \\\\\n",
"\\end{align}\n",
"\n",
"The result will yield \n",
@@ -1104,8 +1103,6 @@
"\n",
"![image7.png](attachment:a6a7e099-4400-402e-abbf-1494e7756fb8.png)\n",
"\n",
- "\n",
- "\n",
"### Gauge Groups\n",
"\n",
"**Definition** Let $\\mathcal{G}\\leq\\mathcal{P}_n$ be any subgroup (not necessarily abelian) such that $Z(\\mathcal{G})$ is either $\\langle iI,S\\rangle$ or $\\langle -I,S\\rangle$ or $\\langle S\\rangle$ such that $-I\\not\\in S$. The subgroup $\\mathcal{G}$ is referred to as a **gauge group** and $S$ is considered the associated stabilizer group. \n",
@@ -1151,7 +1148,7 @@
"source": [
"
\n",
" Note: Within the QEC Framework there is only a GaugeGroup class and no Stabilzer class. This is because internally it views a stabilzier group as simply an abelian gauge group and finds the code by a group character defintion.\n",
- "
\n"
+ ""
]
},
{
@@ -1163,7 +1160,7 @@
"\n",
"One simple but important computational problem is to find a set of representatives for logical operators and gauge operators of a subsystem stabilizer code. This problem can be solved efficiently. We will use the method based on the Gram-Schmidt process described previously which uses symplectic geometry as propose by Wilde [Arxiv 0903.5256]. For Stabilizer codes there is also the approach by Gottesman [PhD Dissertation, Sect 4]. \n",
"\n",
- "From the defintion above we see that to find the logical operators we need only find generating sets for $C(\\mathcal{G})\\setminus \\mathcal{G}$ to get the logical operators and $C(S)\\setminus \\mathcal{G}$ for t he dressed logical operators.\n"
+ "From the defintion above we see that to find the logical operators we need only find generating sets for $C(\\mathcal{G})\\setminus \\mathcal{G}$ to get the logical operators and $C(S)\\setminus \\mathcal{G}$ for t he dressed logical operators."
]
},
{
@@ -1254,9 +1251,9 @@
"\\mathcal{G} &= \\langle \\alpha, Z'_1,Z'_2,...,Z'_{n-k-r}, \\underbrace{X'_{n-k-r+1},Z'_{n-k-r+1},...,X'_{n-k},Z'_{n-k}}_{\\text{$r$ hyperbolic pairs}} \\rangle \\\\\n",
"Z(\\mathcal{G}) &= \\langle \\alpha, S\\rangle \\\\\n",
"S &= \\langle Z'_1,...,Z'_{n-k-r} \\rangle \\\\\n",
- "C_{\\mathcal{P}_n}(S) &= \\langle iI, Z'_1,Z'_2,...,Z'_{n-k-r}, \\underbrace{X'_{n-k-r+1},Z'_{n-k-r+1},...,X'_{n},Z'_{n}}_{\\text{$k+r$ hyperbolic pairs}} \\rangle\n",
- " = N_{\\mathcal{P}_n}(S) \\\\\n",
- "C_{\\mathcal{P}_n}(\\mathcal{G}) &= \\langle iI, Z'_1,Z'_2,...,Z'_{n-k-r}, \\underbrace{X'_{n-k+1},Z'_{n-k+1},...,X'_{n},Z'_{n}}_{\\text{$k$ hyperbolic pairs}} \\rangle \\\\\n",
+ "C_{\\mathcal{P}_n}(S) &= \\langle iI, Z'_1,Z'_2,...,Z'_{n-k-r}, \\underbrace{X'_{n-k-r+1},Z'_{n-k-r+1},...,X'_{n},Z'_{n}}_{\\text{$k+r$ hyperbolic pairs}} \\rangle \n",
+ "= N_{\\mathcal{P}_n}(S) \\\\\n",
+ "C_{\\mathcal{P}_n}(\\mathcal{G}) &= \\langle iI, Z'_1,Z'_2,...,Z'_{n-k-r}, \\underbrace{X'_{n-k+1},Z'_{n-k+1},...,X'_{n},Z'_{n}}_{\\text{$k$ hyperbolic pairs}} \\rangle\n",
"\\end{align}\n",
"\n",
"Note that \n",
@@ -1364,7 +1361,7 @@
"In the special case where $k=0$,\n",
"\n",
"\\begin{equation}\n",
- " d = \\min_{P\\in \\mathcal{G}\\setminus \\{I\\}} |P|.\n",
+ "d = \\min_{P\\in \\mathcal{G}\\setminus \\{I\\}} |P|.\n",
"\\end{equation}\n",
"\n",
"A stabilizer subsystem code encoding $k$ qubits into $n$ qubits with $r$ gauge qubits and distance $d$ is called an $[[n,k,r,d]]$ subsystem stabilizer code."
@@ -1563,9 +1560,12 @@
"The complex infinite Clifford group over $n$-qubits is defined by\n",
"\n",
"\\begin{align}\n",
- " C_n^{\\infty}=\\mathcal{N}_{U(2^n)} (\\mathcal{P}_n) &= \\{ T\\in U(2^n): T\\mathcal{P}_nT^{-1}=\\mathcal{P}_n\\} \\\\\n",
- " &= \\{ T\\in U(2^n): T\\mathcal{P}_nT^{\\dagger}=\\mathcal{P}_n\\} \\\\\n",
- " &= \\begin{cases} \\langle e^{i\\theta}I, H, S \\rangle & \\textrm{if $n=1$} \\\\ \\langle e^{i\\theta}I, H_j, S_j, \\textrm{CNOT}_{ij} \\rangle & \\textrm{if $n>1$} \\end{cases}\n",
+ "C_n^{\\infty}=\\mathcal{N}_{U(2^n)} (\\mathcal{P}_n) &= \\{ T\\in U(2^n): T\\mathcal{P}_nT^{-1}=\\mathcal{P}_n\\} \\\\\n",
+ "&= \\{ T\\in U(2^n): T\\mathcal{P}_nT^{\\dagger}=\\mathcal{P}_n\\} \\\\\n",
+ "&= \\begin{cases} \n",
+ "\\langle e^{i\\theta}I, H, S \\rangle & \\textrm{if $n=1$} \\\\\n",
+ "\\langle e^{i\\theta}I, H_j, S_j, \\textrm{CNOT}_{ij} \\rangle & \\textrm{if $n>1$}\n",
+ "\\end{cases}\n",
"\\end{align}\n",
"\n",
"where $H$ is the Hadamard operator and $S$ is the phase operator with the following matrix representations relative to the standard basis:\n",
@@ -1579,7 +1579,10 @@
"Note that $(HS)^3 = \\eta I$ where $\\eta$ an eighth root of unity. The finite complex Clifford group $C_n\\leq C_n^\\infty$ is defined by\n",
"\n",
"\\begin{align}\n",
- "C_n = \\begin{cases} \\langle H, S \\rangle & \\textrm{if $n=1$} \\\\ \\langle H_j, S_j, \\textrm{CNOT}_{ij} \\rangle & \\textrm{if $n>1$}\\end{cases}\n",
+ "C_n = \\begin{cases} \n",
+ "\\langle H, S \\rangle & \\textrm{if $n=1$} \\\\ \n",
+ "\\langle H_j, S_j, \\textrm{CNOT}_{ij} \\rangle & \\textrm{if $n>1$}\n",
+ "\\end{cases}\n",
"\\end{align}\n",
"\n",
"Elements of $C_1$ acting on Pauli operators in $\\mathcal{P}_1$ via $\\dagger$-conjugation are acting as a permutations of the set $\\{I,X,Z,Y\\}$ with a possible change in complex coefficient. In fact it can be show that $C_1/\\langle \\eta I, \\mathcal{P}_1\\rangle \\eqsim S_3$. These 6 elements are\n",
@@ -1712,7 +1715,7 @@
"Different codebases are packaged as code libraries and managed by a `CodeLibarian` class.\n",
"\n",
"\n",
- "```{verbatim}\n",
+ "```\n",
"├── qiskit_qec\n",
" └── codes\n",
" └── codebase\n",
diff --git a/src/qiskit_qec/circuits/repetition_code.py b/src/qiskit_qec/circuits/repetition_code.py
index fbbcb2eb..40bb3f52 100644
--- a/src/qiskit_qec/circuits/repetition_code.py
+++ b/src/qiskit_qec/circuits/repetition_code.py
@@ -1072,6 +1072,7 @@ def string2nodes(self, string, **kwargs) -> List[DecodingGraphNode]:
kwargs:
all_logicals (bool): Whether to include logical nodes irrespective
of value. (False as default).
+
Returns:
dict: List of nodes corresponding to to the non-trivial
elements in the string.
diff --git a/src/qiskit_qec/circuits/surface_code.py b/src/qiskit_qec/circuits/surface_code.py
index 92b71fd6..50162caa 100644
--- a/src/qiskit_qec/circuits/surface_code.py
+++ b/src/qiskit_qec/circuits/surface_code.py
@@ -370,7 +370,7 @@ def string2nodes(self, string, **kwargs):
kwargs:
logical (str): Logical value whose results are used ('0' as default).
all_logicals (bool): Whether to include logical nodes
- irrespective of value. (False as default).
+ irrespective of value. (False as default).
Returns:
dict: List of nodes corresponding to to the non-trivial
diff --git a/tox.ini b/tox.ini
index 3a8d37d1..05732e58 100644
--- a/tox.ini
+++ b/tox.ini
@@ -37,4 +37,4 @@ deps =
jax
jaxlib
commands =
- sphinx-build -b html docs/ docs/_build/html
\ No newline at end of file
+ sphinx-build -b html -W -T --keep-going {posargs} docs/ docs/_build/html