Skip to main content

Analysis of isotropic errors in QC algorithms

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/

Executive summary of concepts

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.

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. The error generation requires the calculation of a double factorial ratio, which becomes intractable at larger system sizes unless some nifty tricks are applied. There is an experimental implementation of double factorial ratio for larger numbers, but this is somewhat buggy and not yet thoroughly tested

  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.

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.4.0.tar.gz (19.8 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.4.0-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: isotropic-0.4.0.tar.gz
  • Upload date:
  • Size: 19.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.8

File hashes

Hashes for isotropic-0.4.0.tar.gz
Algorithm Hash digest
SHA256 74d7c8f55ac5802b080bb1731686a0ff2eec92643b9d75cff142ec27a068c83a
MD5 bfb4531ad082f51c0dd058cc1df6b057
BLAKE2b-256 480871ef0aa204545b65317745556b41190d2f08642e19d2117f0f1cabe7ba52

See more details on using hashes here.

File details

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

File metadata

  • Download URL: isotropic-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 17.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.8.8

File hashes

Hashes for isotropic-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 41382a497bcf91eaba3c367b60d2d429fb5866ea70c93170504d0b461292727e
MD5 5d1f6509c19da081fa24f988b7984e0c
BLAKE2b-256 61823f2410c99cf4022f85e72a596a27151a0e4bedf03b26c062272ebb33914d

See more details on using hashes here.

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