Skip to main content

A novel approach to simulate Quantum Circuits using Boolean Polynomials.

Project description

🧮 PolyQ

A novel approach to simulate Quantum Circuits using Boolean Polynomials.

The appraoch of this simulator is based on the paper first published by Ashley Moneanaro in 2017. He, along with previous researchers, proved the connection between Boolean Polynomial and the following Clifford gate set: {H, Z, CZ, CCZ}. We extended this approach to include T and S gates, thus making it universal gate set. So the currently supported gate set is {H, Z, CZ, CCZ, T, S, T†, S†}

🛠️ Get Started

For a demo, look at the demo file. It shows how to simulate a random circuit with supported gate set using Qiskit's Aer, MQT's DDSIM and PolyQ. In the end, it shows how to simulate a circuit in one line and get it's state vector.

PolyQ for Qiskit QuantumCircuit object is available via PyPI for Linux, macOS, and Windows and supports Python 3.11 and higher.

The following code gives an example on the usage:

from qiskit import QuantumCircuit
import polyq

# GHZ state: 
# |GHZ⟩ = (|000⟩ + |111⟩) / √2
# Using the property: X = HZH
circ = QuantumCircuit(3)
circ.h(0)
circ.h(1)
circ.cz(0, 1)
circ.h(1)
circ.h(2)
circ.cz(1, 2)
circ.h(2)

print(circ.draw(fold=-1))

st_vec = polyq.simulate(circ)

print(st_vec)

📖 References

The full list of references used in the development of PolyQ is available in references.bib.
This file contains BibTeX entries for academic papers, libraries, and resources cited in the project and the upcoming paper.

📚 Citation

If you want to cite the PolyQ, please use the following format or BibTeX entry:

PolyQ: A novel approach to simulate Quantum Circuits using Boolean Polynomials.
Author(s): C. A. Jothishwaran, Aarav Ratra, Satyam Sonaniya
Affiliation: IIT Roorkee
Repository: https://github.com/QSDAL-IITR/PolyQ
Version: v0.1.0
DOI: To be added
Preprint / Paper: To be added
License: Proprietary

BibTeX :

@misc{polyq2025,
  title        = {PolyQ: A novel approach to simulate Quantum Circuits using Boolean Polynomials.},
  author       = {C. A. Jothishwaran and Aarav Ratra and Satyam Sonaniya},
  year         = {2025},
  note         = {Version 0.1.0. Available at \url{https://github.com/QSDAL-IITR/PolyQ}},
  howpublished = {\url{https://github.com/QSDAL-IITR/PolyQ}},
  license      = {Proprietary},
}

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

polyq-0.1.0.tar.gz (7.1 kB view details)

Uploaded Source

Built Distribution

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

polyq-0.1.0-py3-none-any.whl (7.8 kB view details)

Uploaded Python 3

File details

Details for the file polyq-0.1.0.tar.gz.

File metadata

  • Download URL: polyq-0.1.0.tar.gz
  • Upload date:
  • Size: 7.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for polyq-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7007f05eeaf2e02b9373d90cf93369600211018e939127b515aea79bfcc595b7
MD5 45954cd2e34b2f3c8ea577b83a98c6a6
BLAKE2b-256 cf700da1ae6d3b74613ce7e204a4f3ef79f8dcedcb2f71e25e9903ca3e89aa1a

See more details on using hashes here.

File details

Details for the file polyq-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: polyq-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.9

File hashes

Hashes for polyq-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 c8b7acbf704d684e63b5e2b518a8bac39bb76e18926a6702fe5a738bb39752a7
MD5 1930a90ef265a0fd407bb68851222e70
BLAKE2b-256 fac69dfd2a605ff9f439554b2c6ee2f6b76c91dbad3420827db95cdc61753100

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