Skip to main content

A quantum computing simulator for Python

Project description

PyPI PyPI - License PyPI - Python Version Wiki Doc

QSystem

A quantum computing simulator for Python.


The QSystem simulator is inspired in the quantum circuit model, so it's easy to convert any quantum circuit to Python.

Like the follow example:

circ

from qsystem import QSystem
from cmath import exp, pi
q = QSystem(3, 24)                 # init q0, q1, q2

q.evol(gate='H', qbit=0, count=3)         # H q0; H q1; H q2
q.add_ancillas(4)                         # init a0, a1, a2, a3
          
q.evol(gate='X', qbit=6)                  # X a3
q.cnot(target=4, control=[2])             # CNOT a1, q2
q.cnot(5, [2])                            # CNOT a2, q2
q.cnot(5, [3])                            # CNOT a2, a0
q.cnot(3, [1, 5])                         # Toffoli a1, q1, a2
q.cnot(5, [3])                            # CNOT a2, a0
q.cnot(4, [6])                            # CNOT a1, a3
q.cnot(6, [1, 4])                         # Toffoli a3, q1, a1
q.cnot(4, [6])                            # CNOT a1, a3

q.measure(qbit=3, count=4)                # measure a0, a1, a2, a3
print('ancillas measurement =', q.bits()[3:])
# ancillas measurement = [0, 1, 0, 0]
q.rm_ancillas()                           # rm a0, a1, a2, a3

q.evol('H', 0)                            # H q0                ┐
q.cphase(phase=1j, target=1, control=[0]) # Controlled S q1, q0 │
q.evol('H', 1)                            # H q1                │
q.cphase(exp(pi*1j/4), 2, [0])            # Controlled T q2, q0 │ = q.qft(0, 3)
q.cphase(1j, 2, [1])                      # Controlled S q2, q1 │
q.evol('H', 2)                            # H q1                │
q.swap(0, 2)                              # SWAP q0, q2         ┘

q.measure(0, 3)                           # measure q0, q1, q2
print('final measurement =', q.bits())
# final measurement = [1, 0, 0]

Installation

QSystem depends on Boost C++ Libraries and requires a C/C++ compiler.

To install use the follow command:

pip install QSystem

Seed the wiki and the documentation.


This software is supported by FEPESC

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

QSystem-1.2.0b2.tar.gz (646.8 kB view details)

Uploaded Source

File details

Details for the file QSystem-1.2.0b2.tar.gz.

File metadata

  • Download URL: QSystem-1.2.0b2.tar.gz
  • Upload date:
  • Size: 646.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.28.1 CPython/3.8.1

File hashes

Hashes for QSystem-1.2.0b2.tar.gz
Algorithm Hash digest
SHA256 d19789d212d42acafd39c96523c7273bc1738ae5947a1f156347e5fdc0812c24
MD5 1b12f222686f8550aa1d9c017a8907ca
BLAKE2b-256 9d7decc10e231ad998eec118d2137c05659e05679d3dd745bec268e873eea03d

See more details on using hashes here.

Supported by

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