ag-pom / quantum-computing

QCLIB, a Quantum Computer Simulator in Python: A functionally complete simulator for Universal Quantum Computer ... a great learning resource. See more details below and full documentation in qclib-doc.txt.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

quantum-computing

A functionally complete simulator for Universal Quantum Computer in Python. Have tried upto 11 qubits on an old laptop (1 core, 1GB RAM). More compute+memory, more qubits.

Comprises of two parts - qsim the Quantum Simulator, and qckt - to implement quantum computing programs using Quantum Circuits with qsim as a backed to execute the quantum circuits

FEATURES

All expected features and more, simple to use, extensible and flexible to allow all aspects of quantum computing. Flexible, because you write the algorithms in a regular programming language, Python, so no limitations on the program logic, the simulator API abstracts a Universal Quantum Computer as a backend resource.

Can implement any quantum computing algorithms. Several algorithm implementations included as examples:

  • Teleportation
  • Simple Search
  • Deutsch-Jozsa
  • Bernstien-Vazirani
  • Quantum Fourier Tramsform
  • Period-finding
  • Grover's algorithm
  • Sudoku using Grover's algorithm
  • ... more added every few days

An interactive commandline interface (qc-cli.py) to quickly check out operations and sequences.

GATES

All commonly used gates included.

Can create CONTROLLED GATE for any given gate; add any number of control qubits.

Allows easy addition of user-defined gates.

UTILITIES

A number of utility functions to manipulate gates - combine sequentially applied, or parallelly applied gates into a single gate, check for unitarity, inverse.

Easy to follow documentation with tutorial introduction - see qsim/README.md and qckt/README.md.

Code for [automated] regression tests also serves as examples to quickly learn qsim and qckt.

About

QCLIB, a Quantum Computer Simulator in Python: A functionally complete simulator for Universal Quantum Computer ... a great learning resource. See more details below and full documentation in qclib-doc.txt.

License:GNU General Public License v3.0


Languages

Language:Python 97.6%Language:Shell 1.4%Language:Roff 1.0%