Tweedledum Versions Save

C++17 Library for analysis, compilation/synthesis, and optimization of quantum circuits


1 year ago

Fix wheels for macOS


1 year ago

In this release there was many cosmetic changes, such as using clang-format on all sources and restructuring the project's directory to more closely follow the pitchfork layout conventions.


  • Analysis pass to count operators.
  • Analysis pass to compute instructions' ALAP/ASAP layers.
  • Analysis pass to compute critical path.
  • Analysis pass to cut circuit.
  • Gate cancellation pass.
  • Pass to inverse (take adjoint) of a circuit.
  • Crude QASM 2.0 parser.
  • CX-Dihedral synthesis method.
  • Bridge operator.
  • Bridge decomposition pass.
  • Bridge mapping pass.
  • Sqrt(X) operator.
  • TFC parser.
  • Allow user to define var order for expressions.
  • Limited support for arm64, ppc64le and s390x.


  • Rename depth pass to compute_depth.
  • Restructure of the code base.
  • Make Cbit, Qubit, and Instruction constructors public.
  • Invalidate ancilla reference on release.
  • Change Unitary operator global phase behavior.
  • Rename euler_decomp to one_qubit_decomp.


  • Circuit size() method. (Use num_instructions instead.)


  • Operator must clone the ConcreteOp class on copy.


2 years ago

This releases marks a new beginning to tweedledum.

The internals and the API have greatly changed with respect to v0.1. Indeed, it is basically a completely new library. Unfortunately the library still has razor sharp edges and lack appropriate documentation.