Pyqrack

Latest version: v1.27.8

Safety actively analyzes 628918 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 20 of 45

1.6.0

There's no particular reason why SDRP level can't be changed mid-circuit. Several historical design issues made this difficult, in the past, but these are no longer relevant as of late. This is particularly desirable given the recent addition of automatic fidelity calculation when using SDRP in QUnit.

Therefore, this release adds `SetSdrp()` to the `QInterface` API, and it also exposes it to the shared library interface. PyQrack consumes it as `set_sdrp()`.

1.5.2

QUnit optimizes arithmetic logic operations in a custom way; this optimization failed to map qubits properly under QUnit, leading to out-of-bounds exceptions and operations on qubits that weren't intended. This has been fixed.

1.5.1

Unrealized for a long time, `measure_pauli()` previously attempted to pass the Pauli operator enumeration list to the C API as a `c_ulonglong` rather than `c_int`. This release fixes the method.

1.5.0

This release adds `get_unitary_fidelity()` and `reset_unitary_fidelity()` to the simulator API.

It was noted by Andrea Mari of Unitary Fund that, from first principles, for a discarded probability "`ɛ`" in any rounding event, the worst case limit for fidelity loss from "Schmidt decomposition rounding parameter" ("SDRP") methods in `QUnit` should go like

F = Π (1-ɛ_j) (for j events where ɛ less than SDRP threshold).

Implementing this model, Daniel Strano found it to be very pessimistic, but through trial and error it was noticed that

F = Π (1-ɛ_j / 2)^(1/2) (for j events where ɛ less than SDRP threshold)

was very close to "gold standard" results. Collecting tens of thousands of data points on different circuit widths, depths, and SDRP levels, the second model was found to explain >99% of variance among gold standard results, (without a theoretical argument, for now, explaining why this should be close to or exactly the average case behavior).

More than 99% of variance was explained for random circuits that are basically a "nearest-neighbor quantum volume" variant; other cases might not be as well described. This calculation is done automatically by `QUnit`, and the result can be accessed through `get_unitary_fidelity()`, or the calculation might be reset to identically 1 fidelity by `reset_unitary_fidelity()`.

1.4.3

The Qiskit "cp" gate was incorrectly parsed by PyQrack. This has been fixed, (and an identical bug in the Qiskit QrackProvider is being fixed there, as well).

1.4.2

Concurrent with the release of Qrack v.8.2.2, this release improves SIMD performance and disables `QEngine` under `QBdt` by default.

**Full Changelog**: https://github.com/unitaryfund/pyqrack/compare/v0.21.13...v1.4.2

Page 20 of 45

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.