Skip to main content

A Python package for isotropic error analysis in quantum computing

Project description

isotropic

isotropic is a python library that contains tools for analysis of isotropic errors in QC algorithms. See Executive summary of concepts for a quick run down on isotropic errors and how they are generated and added to the quantum state.

Installation

Install from pip

pip install isotropic[all]

The all option installs the necessary libraries for using the qiskit simulator for algorithm analysis and running the example notebooks.

Install from source

Clone the repository

git clone https://github.com/lazyoracle/isotropic-error-analysis

Install library and dependencies

cd isotropic-error-analysis
pip install -e .\[all\]

Run examples

jupyter notebook notebooks/

Documentation

Documentation is available online at https://lazyoracle.github.io/isotropic-error-analysis/

Build local docs

If you want to build and view the documentation locally, follow the steps below:

  1. Clone the repository using git clone https://github.com/lazyoracle/isotropic-error-analysis
  2. Install dependencies for docs using pip install -e .\[docs,all\]
  3. Build and serve a live reloading version of the docs using mkdocs serve

Executive summary of concepts

Isotropic errors [Lacalle2019], are characterized by their rotational symmetry around quantum states in the high-dimensional Hilbert space representation. Unlike conventional error models that typically affect specific components of quantum states in predictable ways, isotropic errors maintain equal probability of occurrence in all directions around the original quantum state. Recent work [Lacalle2021] has demonstrated that quantum codes cannot effectively correct isotropic errors, regardless of the specific code construction or encoding strategy employed.

In order to model the effect of an isotropic error on a quantum state $\Phi$, we follow the steps outlined below:

  1. Construct an orthonormal basis of $\Pi$ with center at $\Phi$.
  2. Generate a vector $e_2$ in $S_{d−1}$ with uniform distribution.
  3. Generate an angle $\theta_0$ in $[0,\pi]$ with density function $f(\theta_0)$.
  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 $\Psi = \Phi \cos(\theta_0) + e_2 \sin(\theta_0)$

Once we have a recipe for adding an isotropic error to a quantum state, we can study the effect of such an error on the complexity of algorithms such as Grover's or Shor's that involve repeated executions until success.

FAQs

  1. What system sizes can be analysed?

    Currently this is tested for systems with up to 7 qubits. There are some open issues with calculation of the error for higher system sizes.

  2. What algorithms can be analysed?

    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.

  3. Why does this not work on Python 3.13?

    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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

isotropic-0.6.0.tar.gz (22.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

isotropic-0.6.0-py3-none-any.whl (19.7 kB view details)

Uploaded Python 3

File details

Details for the file isotropic-0.6.0.tar.gz.

File metadata

  • Download URL: isotropic-0.6.0.tar.gz
  • Upload date:
  • Size: 22.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for isotropic-0.6.0.tar.gz
Algorithm Hash digest
SHA256 edabd1c31ee79c1fe3a5cc2d74494497ca1487633d80661795cc960f4db6408f
MD5 9d722afd1884b4e7b42b294f4dbeac9a
BLAKE2b-256 60612dd07da3349ab87130ff8022f9cd790f944ad66d089ec4cb1ae338d87fc6

See more details on using hashes here.

Provenance

The following attestation bundles were made for isotropic-0.6.0.tar.gz:

Publisher: ci.yml on lazyoracle/isotropic-error-analysis

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file isotropic-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: isotropic-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 19.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for isotropic-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 161806f28c4047857b602f9eca0ee3440e61806768f52fbca99c6a926591e707
MD5 475ec0dd457b9f730f4649e9e9ae3035
BLAKE2b-256 063fc5262956a61f320a31e54f2c7463baa5154b87b297fad38e7cba55e88bd6

See more details on using hashes here.

Provenance

The following attestation bundles were made for isotropic-0.6.0-py3-none-any.whl:

Publisher: ci.yml on lazyoracle/isotropic-error-analysis

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page