Python library for simulating quantum computor and algorithm.
Project description
Quanbit
About
Quanbit is a pythonic package for simulating quantum computer. It faciliate basic quantum algorithm exploration on a classic computer.
Platform
Quanbit is a pure python package supporting Windows, Linux and MacOS.
Example: Quantum Teleportation
from quanbit import X, Y, Z, BellBasis
from quanbit import cubit, bell_state, Measure
import numpy as np
# Alice has an unknown qubit C
theta, phi, alpha = np.random.rand(3)
qubit_C = cubit(theta, phi, alpha)
# To teleport the cubit, Alice and Bob need to share a maximally entangled state
# Anyone of the four states is sufficient, we choose 1/sqrt(2) (|00> + |11>) here
qubit_AB = bell_state(0)
# Now the total state is, where @ represent tensor product:
total_state = qubit_C @ qubit_AB
# Project the state of Alice's two qubits as a superpositions of the Bell basis
total_state = BellBasis(total_state, [0, 1])
# Measuring her two cubits in Bell basis
CA, B_state = Measure(total_state, indices[0, 1])
# Rotate Bob's state based on the measurement result
# if CA == (0, 0), no change need to be made
# when CA is in state \Psi+
if CA == (0, 1):
B_state = X(B_state)
# when CA is in state \Psi-
elif CA == (1, 0):
B_state = Z(X(B_state))
# when CA is in state \Phi-
elif CA == (1, 1):
B_state = Z(B_state)
# Now Bob's state is the same as Alice initial qubit_C.
License
Quanbit is distributed under BSD 3-Clause.
Dependence
- Installation requirements:
numpy - Testing requirement:
pytest - QA requirement:
tox
Installation
To run tests:
pytest quanbit
To install Quanbit to system:
pip install .
Local build and Testing
To install editable Quanbit locally:
pip install -e .
To run tests:
pytest tests
Quality Assurance
To run QA locally:
tox
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file quanbit-0.0.1.tar.gz.
File metadata
- Download URL: quanbit-0.0.1.tar.gz
- Upload date:
- Size: 5.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.6.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4166a5d101bf5d07f5f9f17ffcd6e831a4bad32d01d293c7eccd3bb1a433a22c
|
|
| MD5 |
797158b49c45f074c50f1eb19445be18
|
|
| BLAKE2b-256 |
4c8b1cdc58fa285e2f10e0d68ed82d54144e7b5b2df069044475ea1d4718fa3f
|
File details
Details for the file quanbit-0.0.1-py3-none-any.whl.
File metadata
- Download URL: quanbit-0.0.1-py3-none-any.whl
- Upload date:
- Size: 7.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.33.0 CPython/3.6.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e854aff3655a346f237a6f55cdbbaf8fd8d48966455b022e8843a9c1e7a6f90
|
|
| MD5 |
0e2ce1a72db06fe5930d0fe1f597a180
|
|
| BLAKE2b-256 |
193f1939698f3b56fcda3bdbf44721e5203a4eaa912a770d332be8115f0e0ac6
|