Skip to main content

A library for synthesizing and manipulating quantum circuits

Project description

/!\ (Warning) If you have used tweedledum before: the master branch history is broken.
/!\ The new master branch is a completely rewrite of the library. The old version can be found
/!\ on **alpha** branch. (Sorry for the inconvenience!!---but it is for a great cause)

tweedledum is a library for synthesis, compilation, and optimization of quantum circuits. The library is written to be scalable up to problem sizes in which quantum circuits outperform classical ones. Also, it is meant to be used both independently and alongside established tools.

Its design is guided by three mantras:

  • Gotta run fast: run-time performance is a priority.
  • Opinionated, but not stubborn.
  • Your system, your rules.

Used third-party tools

The library it is built, tested, bind to python, and whatnot using many third-party tools and services. Thanks a lot!

  • abc - ABC: System for Sequential Logic Synthesis and Formal Verification
  • bill - C++ header-only reasoning library
  • Catch2 test framework for unit-tests, TDD and BDD
  • CMake for build automation
  • Eigen template library for linear algebra
  • {fmt} - A modern formatting library
  • kitty - truth table library
  • lorina - C++ parsing library for simple formats used in logic synthesis and formal verification
  • mockturtle - C++ logic network library
  • nlohmann/json - JSON for Modern C++
  • parallel_hashmap - A family of header-only, very fast and memory-friendly hashmap and btree containers.
  • percy - C++ header-only exact synthesis library
  • pybind11 - Seamless operability between C++11 and Python
  • rang - A Minimal, Header only Modern c++ library for terminal goodies

Beta disclaimer

Tweedledum is in version Beta. Hence, the software is still under active development and not feature complete, meaning the API is subject to changes. This is released for developers or users who are comfortable living on the absolute bleeding edge.

License

This software is licensed under the MIT licence (see LICENSE).

EPFL logic synthesis libraries

tweedledum is part of the EPFL logic synthesis libraries. The other libraries and several examples on how to use and integrate the libraries can be found in the logic synthesis tool showcase.

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

tweedledum-1.0.0b3.tar.gz (3.5 MB view hashes)

Uploaded Source

Built Distributions

tweedledum-1.0.0b3-cp39-cp39-win_amd64.whl (875.0 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

tweedledum-1.0.0b3-cp39-cp39-win32.whl (813.1 kB view hashes)

Uploaded CPython 3.9 Windows x86

tweedledum-1.0.0b3-cp39-cp39-manylinux2010_x86_64.whl (643.5 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.12+ x86-64

tweedledum-1.0.0b3-cp39-cp39-manylinux2010_i686.whl (684.9 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.12+ i686

tweedledum-1.0.0b3-cp39-cp39-macosx_10_15_x86_64.whl (710.6 kB view hashes)

Uploaded CPython 3.9 macOS 10.15+ x86-64

tweedledum-1.0.0b3-cp38-cp38-win_amd64.whl (862.6 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

tweedledum-1.0.0b3-cp38-cp38-win32.whl (813.2 kB view hashes)

Uploaded CPython 3.8 Windows x86

tweedledum-1.0.0b3-cp38-cp38-manylinux2010_x86_64.whl (643.3 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

tweedledum-1.0.0b3-cp38-cp38-manylinux2010_i686.whl (684.9 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

tweedledum-1.0.0b3-cp38-cp38-macosx_10_15_x86_64.whl (710.4 kB view hashes)

Uploaded CPython 3.8 macOS 10.15+ x86-64

tweedledum-1.0.0b3-cp37-cp37m-win_amd64.whl (862.0 kB view hashes)

Uploaded CPython 3.7m Windows x86-64

tweedledum-1.0.0b3-cp37-cp37m-win32.whl (807.7 kB view hashes)

Uploaded CPython 3.7m Windows x86

tweedledum-1.0.0b3-cp37-cp37m-manylinux2010_x86_64.whl (652.4 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

tweedledum-1.0.0b3-cp37-cp37m-manylinux2010_i686.whl (701.9 kB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686

tweedledum-1.0.0b3-cp37-cp37m-macosx_10_15_x86_64.whl (704.1 kB view hashes)

Uploaded CPython 3.7m macOS 10.15+ x86-64

tweedledum-1.0.0b3-cp36-cp36m-win_amd64.whl (861.9 kB view hashes)

Uploaded CPython 3.6m Windows x86-64

tweedledum-1.0.0b3-cp36-cp36m-win32.whl (807.7 kB view hashes)

Uploaded CPython 3.6m Windows x86

tweedledum-1.0.0b3-cp36-cp36m-manylinux2010_x86_64.whl (652.3 kB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

tweedledum-1.0.0b3-cp36-cp36m-manylinux2010_i686.whl (701.6 kB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.12+ i686

tweedledum-1.0.0b3-cp36-cp36m-macosx_10_15_x86_64.whl (704.1 kB view hashes)

Uploaded CPython 3.6m macOS 10.15+ x86-64

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