Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion pybindings/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ name = "libquizx"
crate-type = ["cdylib"]

[dependencies]
quizx = { version = "0.3.0", path = "../quizx" }
quizx = { version = "0.4.0", path = "../quizx" }
num = { workspace = true }
pyo3 = { workspace = true, features = [
"extension-module",
Expand Down
36 changes: 36 additions & 0 deletions quizx/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,42 @@ This is the changelog for the `quizx` rust library.
For the changelog of the `quizx` python library, see the separate [`CHANGELOG.md`](https://github.com/zxcalc/quizx/blob/master/pybindings/CHANGELOG.md) file.


## [0.4.0](https://github.com/zxcalc/quizx/compare/quizx@v0.3.0...quizx@v0.4.0) - 2026-11-01

### Breaking Changes

- Graphs now use `Scalar4` with four `Dyadic` coefficients instead of `FScalar`. Replace `FScalar::dyadic(pow, coeffs)` with `Scalar4::new(coeffs, pow)`, and use `TryFrom`/`TryInto` to convert to `Complex<f64>`. ([#158](https://github.com/zxcalc/quizx/pull/158))
- Use `Tensor4`/`to_tensor4()` for `Scalar4` tensors. `TensorF`/`to_tensorf()` now represent `Complex<f64>` tensors, replacing `Tensor64`/`to_tensor64()`. Custom `TensorElem` implementations must provide `TryFrom<Scalar4>` with a `Debug` error type instead of `From<FScalar>`. ([#158](https://github.com/zxcalc/quizx/pull/158))
- Upgrade `rand` to 0.9. Downstream code passing random number generators into QuiZX APIs must use the corresponding `rand` 0.9 types and traits. ([#166](https://github.com/zxcalc/quizx/pull/166))

### Bug Fixes

- Fix a typo in the README
- Fix cut-rank caching ([#173](https://github.com/zxcalc/quizx/pull/173))
- Remove stale edges from the rank cache
- Fix another rankwidth caching bug
- Preserve boundaries and scalars when copying graphs ([#199](https://github.com/zxcalc/quizx/pull/199))
- Parse Qiskit phase gates in custom QASM definitions ([#200](https://github.com/zxcalc/quizx/pull/200))
- Avoid adding two edges for a self-loop ([#187](https://github.com/zxcalc/quizx/pull/187))
- Support ancillae and post-selection in circuit tensors ([#203](https://github.com/zxcalc/quizx/pull/203))
- Fix mantissa overflows ([#204](https://github.com/zxcalc/quizx/pull/204))

### New Features

- [**breaking**] Add a dyadic rational type and scalars based on it ([#158](https://github.com/zxcalc/quizx/pull/158))
- Use `bitgauss` for fast GF(2) linear algebra ([#161](https://github.com/zxcalc/quizx/pull/161))
- [**breaking**] Add low-rankwidth decompositions of ZX diagrams ([#166](https://github.com/zxcalc/quizx/pull/166))
- [**breaking**] Add Python bindings for rankwidth functions ([#168](https://github.com/zxcalc/quizx/pull/168))
- Add keyword arguments and properties to Python bindings ([#169](https://github.com/zxcalc/quizx/pull/169))
- Extend PyZX compatibility to `>=0.9,<0.11` ([#198](https://github.com/zxcalc/quizx/pull/198))
- Implement approximate equality of tensors with floating-point scalars ([#137](https://github.com/zxcalc/quizx/issues/137), [#182](https://github.com/zxcalc/quizx/pull/182))
- Implement `Circuit::optimize` (basic gate-level optimisation) ([#193](https://github.com/zxcalc/quizx/pull/193))
- Implement the Z–X bialgebra rewrite rule ([#189](https://github.com/zxcalc/quizx/pull/189))

### Testing

- Add unit tests for `gate`, `phase`, `util`, `random_graph`, `annealer`, `cli`, and `json` ([#188](https://github.com/zxcalc/quizx/pull/188))

## [0.3.0](https://github.com/zxcalc/quizx/compare/quizx@v0.2.0...quizx@v0.3.0) - 2025-06-12

### Bug Fixes
Expand Down
2 changes: 1 addition & 1 deletion quizx/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "quizx"
version = "0.3.0"
version = "0.4.0"
description = "Quantum Circuit Optimisation and Compilation using the ZX-calculus"
keywords = ["Quantum", "ZX-calculus", "Optimisation", "Compilation"]
categories = ["science"]
Expand Down
Loading