Pyqrack

Latest version: v1.27.8

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

Scan your dependencies

Page 28 of 45

0.19.6

A bug in `QUnit::ISwap()` gate has been fixed, by removing the `SWAP_IDENT()` macro from `QUnit`.

0.19.5

A minor bug has been fixed in stabilizer `ISwap()`, in the underlying Qrack library. Default decomposition of `ISwap()` has also been simplified.

0.19.4

This release improves the 2-qubit variant of `TrySeparate()` (used internally and exposed publicly) to generally identify separable 2-qubit subsystems and separate them from simulation bulk. (To take maximum advantage of the optimization, consider using doubly-controlled gates wherever they can reduce circuit depth.)

**If you pre-compile your OpenCL kernels with `qrack_cl_precompile`, it will be necessary to recompile them, for this release.**

0.19.3

Stabilizer sampling seemed to bugged in cases, before being modified in v0.19.2. However, that fix significantly hurt performance. Now, it seems possible to revert to the better-performing version of the sampling methods after fixes in default layer selection for stabilizer engine clones.

0.19.2

QEngineOCL has been refactored for best practices. This includes converting OpenCL host pointers, when in use, to managed "smart pointer" instances, for segmentation safety. C++ exceptions are also no longer thrown in OpenCL C function callbacks.

This refactor of best practices was motivated by attempting to debug what was causing systems to hang in _very_ high qubit width, experimental benchmarks. If you wish to exceed your system's raw state vector capacity in attempts to leverage Schmidt decomposition, we suggest that you set the environment variable `QRACK_MAX_PAGING_QB` equal to the number of qubits for which your system has capacity for **just naive state vector simulation**. You _can_ still exceed this number of qubits in `QUnit` or `QStabilizerHybrid`, but it gives a necessary hint to any underlying `QPager` instance, that its state vector methods _will_ be exceeded by higher qubit allocation attempts, (excepting 0 amplitude "pages," but this optimization is not typically viable beyond the appropriate `QRACK_MAX_PAGING_QB` hint level).

0.19.1

For those who wish to use the `QrackSimulator` _constructor_ to run Qiskit `QuantumCircuit` objects, like with PyZX, the constructor has been fixed. If using the constructor to specify a Qiskit circuit, the number of qubits must additionally be specified in the constructor, and the number of shots will be 1. (If you want a different number of shots, use the `run_qiskit_circuit()` method, after constructing a `QrackSimulator` with enough qubits.)

Page 28 of 45

Links

Releases

Has known vulnerabilities

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.