Skip to content

Commit 0ecf90e

Browse files
committed
docs and readme cleanup
1 parent 68a77c7 commit 0ecf90e

File tree

5 files changed

+35
-4
lines changed

5 files changed

+35
-4
lines changed

README.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,18 @@ pip install -e .\[all\]
2929
jupyter notebook notebooks/
3030
```
3131

32+
## Documentation
33+
34+
Documentation is available online at https://lazyoracle.github.io/isotropic-error-analysis/
35+
36+
### Build local docs
37+
38+
If you want to build and view the documentation locally, follow the steps below:
39+
40+
1. Clone the repository using `git clone https://github.com/lazyoracle/isotropic-error-analysis`
41+
2. Install dependencies for docs using `pip install -e .\[docs,all\]`
42+
3. Build and serve a live reloading version of the docs using `mkdocs serve`
43+
3244
## Executive summary of concepts
3345

3446
In quantum error models, isotropic errors are those that affect all states of the system equally, without a preferred direction in Hilbert space. For example, depolarizing noise is isotropic. A depolarizing channel replaces a qubit state with the maximally mixed state with some probability $p$. No basis or axis is privileged. The error distribution is thus uniform over possible error directions. On the other hand, independent errors are assumed to act locally and independently across different qubits or gates. For example, an independent bit-flip error model applies an $X$ operator to each qubit with probability $p$, independently of what happens to other qubits. In this case, errors are uncorrelated across subsystems.
@@ -51,3 +63,7 @@ Once we have a recipe for adding an isotropic error to a quantum state, we can s
5163
2. What algorithms can be analysed?
5264

5365
As of now, only Grover's algorithm is implemented (using Qiskit) and analysed here. However, the library accepts an arbitrary quantum state and returns the perturbed quantum state, both as a standard complex array. Which means it can be integrated with any quantum programming library such as Pennylane or Qiskit or Cirq that has its own routines for statevector simulation of different quantum algorithms.
66+
67+
3. Why does this not work on Python 3.13?
68+
69+
You likely ran into an issue with the build from source of the `qiskit-aer` dependency. Try installing the library without the optional `[all]` or `[algo]` flags, and then separately install `qiskit<2.0,>1.2` and `qiskit-aer<0.18,>0.15`.

docs/index.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,24 @@ Broadly this involves the following steps:
1111
$$\Psi = \Phi \cos(\theta_0) + e_2 \sin(\theta_0)$$
1212

1313

14-
This library provides modules to perform each of the above steps. See below for the API reference.
14+
## Installation
15+
16+
You can install `isotropic` from `pip` with:
17+
18+
```bash
19+
pip install isotropic
20+
```
21+
22+
If you want to test the effect of isotropic errors with one of the included quantum algorithm implementations, consider installing with the `all` option as such:
23+
24+
```bash
25+
pip install isotropic\[all\]
26+
```
1527

1628
## API Reference
1729

30+
This library provides modules to perform each of the steps outlined above. See below for the API reference:
31+
1832
- [Algorithms](algos.md)
1933
- [Coefficients of e2](e2.md)
2034
- [Orthonormal basis](orthonormal.md)

docs/thetazero.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# `thetazero`
22

3-
This module contains functions to calculate the angle theta_0 with a normal distribution.
3+
This module contains functions to calculate the angle $\\theta_0$ with a normal distribution.
44

55
::: isotropic.thetazero

mkdocs.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
site_name: "isotropic"
2+
repo_url: https://github.com/lazyoracle/isotropic-error-analysis
23

34
theme:
45
name: "material"
@@ -8,10 +9,10 @@ theme:
89
- content.tabs.link
910
- navigation.indexes
1011
- navigation.footer
11-
- navigation.tabs
1212
- navigation.top
1313
- search.highlight
1414
- search.suggest
15+
- toc.follow
1516
language: en
1617
palette:
1718
- scheme: default

src/isotropic/thetazero.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
"""This module contains functions for generating theta_0."""
1+
"""This module contains functions for generating $\\theta_0$."""
22

33
from typing import Callable
44

0 commit comments

Comments
 (0)