Releases: quantum-compiler/quartz
v0.3.0
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
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
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.