Skip to content

Commit f6f612f

Browse files
committed
docs first attempt
1 parent 278e709 commit f6f612f

File tree

10 files changed

+384
-2
lines changed

10 files changed

+384
-2
lines changed

docs/algos.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# `algos`
2+
3+
This module contains Qiskit implementations of example algorithms to analyse the effects of isotropic errors.
4+
5+
::: isotropic.algos

docs/e2.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# `e2`
2+
3+
This module contains functions to calculate the coefficients which are multipled with the orthonormal basis to make up the $e_2$ vector.
4+
5+
::: isotropic.e2

docs/index.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# Welcome to `isotropic`
2+
3+
`isotropic` is a python package for isotropic error analysis in quantum computing. The library provides a comprehensive set of tools to model and generate isotropic errors to test their effect on various quantum algorithms.
4+
5+
Broadly this involves the following steps:
6+
7+
1. Construct an orthonormal basis of $\Pi$ with center at $\Phi$.
8+
2. Generate a vector $e_2$ in $S_{d−1}$ with uniform distribution.
9+
3. Generate an angle $\theta_0$ in $[0,\pi]$ with density function $f(\theta_0)$.
10+
4. Generate the final perturbed state $\Psi$ as a rotation of $e_1 = \Phi$ by angle $\theta_0$ in the subspace spanned by the orthonormal basis $[e_1,e_2]$ using the expression
11+
$$\Psi = \Phi \cos(\theta_0) + e_2 \sin(\theta_0)$$
12+
13+
14+
This library provides modules to perform each of the above steps. See below for the API reference.
15+
16+
## API Reference
17+
18+
- [Algorithms](algos.md)
19+
- [Coefficients of e2](e2.md)
20+
- [Orthonormal basis](orthonormal.md)
21+
- [Theta Zero](thetazero.md)
22+
- [Utilities](utils.md)

docs/javascripts/katex.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
document$.subscribe(({ body }) => {
2+
renderMathInElement(body, {
3+
delimiters: [
4+
{ left: "$$", right: "$$", display: true },
5+
{ left: "$", right: "$", display: false },
6+
{ left: "\\(", right: "\\)", display: false },
7+
{ left: "\\[", right: "\\]", display: true },
8+
],
9+
});
10+
});

docs/orthonormal.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# `orthonormal`
2+
3+
This module contains functions to calculate the orthonormal basis representing the hyperplane $\Pi$ that is tangential to the hypersphere $S_{d-1}$ representing the input state.
4+
5+
::: isotropic.orthonormal

docs/thetazero.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# `thetazero`
2+
3+
This module contains functions to calculate the angle theta_0 with a normal distribution.
4+
5+
::: isotropic.thetazero

docs/utils.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# `utils`
2+
3+
This module contains miscellaneous utilities useful for various steps involved in the isotropic error generation.
4+
5+
::: isotropic.utils

mkdocs.yml

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
site_name: "isotropic"
2+
3+
theme:
4+
name: "material"
5+
features:
6+
- content.code.annotation
7+
- content.code.copy
8+
- content.tabs.link
9+
- navigation.indexes
10+
- navigation.footer
11+
- navigation.tabs
12+
- navigation.top
13+
- search.highlight
14+
- search.suggest
15+
language: en
16+
palette:
17+
- scheme: default
18+
toggle:
19+
icon: material/toggle-switch-off-outline
20+
name: Switch to dark mode
21+
- scheme: slate
22+
toggle:
23+
icon: material/toggle-switch
24+
name: Switch to light mode
25+
26+
plugins:
27+
- search
28+
- mkdocstrings:
29+
handlers:
30+
python:
31+
options:
32+
show_submodules: true
33+
show_root_heading: true
34+
show_symbol_type_toc: true
35+
docstring_style: numpy
36+
37+
extra_css:
38+
- https://cdn.jsdelivr.net/npm/katex@0/dist/katex.min.css
39+
40+
extra_javascript:
41+
- javascripts/katex.js
42+
- https://cdn.jsdelivr.net/npm/katex@0/dist/katex.min.js
43+
- https://cdn.jsdelivr.net/npm/katex@0/dist/contrib/auto-render.min.js
44+
45+
nav:
46+
- Home: index.md
47+
- API Reference:
48+
- algos: algos.md
49+
- e2: e2.md
50+
- orthonormal: orthonormal.md
51+
- thetazero: thetazero.md
52+
- utils: utils.md

pyproject.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,11 @@ algo = [
3131
"qiskit-aer==0.15.1",
3232
]
3333
all = ["isotropic[dev,algo]"]
34+
docs = [
35+
"mkdocs>=1.6.1",
36+
"mkdocs-material>=9.6.20",
37+
"mkdocstrings-python>=1.18.2",
38+
]
3439

3540
[tool.ruff]
3641
# Exclude a variety of commonly ignored directories.

0 commit comments

Comments
 (0)