Skip to content

Releases: quantum-compiler/quartz

v0.3.0

25 Jan 22:42
Compare
Choose a tag to compare

This release enhances the verifier and supports symbolic parameters in OpenQASM 3.0. (Thanks to @ScottWe !)

It also adds an executable for the verifier alone, verifying the equivalence of circuits written in OpenQASM.

What's Changed

  • [Generator] Use row representation in RepGen by @xumingkuan in #173
  • [Optimizer] Add an option to store each circuit transformation step by @xumingkuan in #174
  • [Generator] Switch back to the previous canonical representation version by @xumingkuan in #175
  • [Verifier] Verify each circuit transformation step by @xumingkuan in #176
  • [Optimizer] Do not modulo 2pi at circuit input by @xumingkuan in #177
  • MultGate: A gate for multiplying parameters. by @ScottWe in #182
  • PiGate: A gate for working exactly with multiples of pi by @ScottWe in #183
  • [Circuit] Support for constants in evaluation by @ScottWe in #185
  • Symbolic encoding for multiples of pi. by @ScottWe in #184
  • Parser support for qasm3 qubits. by @ScottWe in #186
  • Parsing OpenQASM 3 parameter variables by @ScottWe in #187
  • [Parser] Parsing multiple files with symbolic parameters by @ScottWe in #188
  • Support for expressions made from multiple terms. by @ScottWe in #189
  • [Context] Halved parameter flag. by @ScottWe in #191
  • Parser support for halved parameters. by @ScottWe in #193
  • [Interface] equivalence checker for OpenQASM files by @ScottWe in #194
  • [doc] Update comments for pattern matching by @xumingkuan in #196
  • [fix] verifier passes timeout in wrong position by @ScottWe in #197
  • [verifier] option to set timeout by @ScottWe in #198
  • [verifier] Improve reasoning about constant square roots in Z3 by @xumingkuan in #199

New Contributors

Full Changelog: v0.2.0...v0.3.0

v0.2.0

06 May 20:04
8923578
Compare
Choose a tag to compare

This release includes a refactoring (#159) that moves all parameters from each CircuitSeq to the Context object. It also allows timeout values that are not multiples of one second in the optimizer (#172).

The formats of the ECC Set (EquivalenceSet) and the JSON files for DataSet and CircuitSeq are changed from v0.1.x. If you use the ECC Sets in the PLDI 2022 Artifact, please use them with v0.1.x or manually generate the ECC Sets again in v0.2.x.

v0.1.1

05 Mar 07:03
2dce4f8
Compare
Choose a tag to compare

This release includes functions to translate circuits between different gate sets more conveniently, including functions translating CCZ gates to CX and RZ gates as well as RZ gates to T/S/Z gates in linear time.

It also adds an example ECC Set for the Toffoli+T gate set.

v0.1.0

29 Jan 19:54
385cf5e
Compare
Choose a tag to compare

This is the version before the large-scale refactor (#159). Parameter expressions are stored in the circuit sequences in this version. The ECC set format changes after v0.1 (in v0.1, the ECC set format is the same as the PLDI 2022 Artifact version).