Multi-shot measurement in `QEngine` was previously handled in a way that was technically not thread-safe for C++. This has been fixed, and `QEngine` sampling has been parallelized further.
The `OutProbs()` method has been added to the Qrack shared library `extern C` API, which returns the L2 norm of each `OutKet()` amplitude in same order. This corresponds with `QrackSimulator.out_probs()`.
`isNoisy` constructor argument has been replaced with `noise` float parameter, which enable noisy simulation if the parameter is greater than 0 and sets the simulator instance noise level to the value of the constructor parameter.
**Full Changelog**:
https://github.com/unitaryfund/qrack/compare/vm6502q.v9.9.62...vm6502q.v9.10.0
https://github.com/unitaryfund/pyqrack/compare/v1.30.31...v1.31.0
sha1sum results:
dfe01c772b112f27aa2315591bd3f33923efffbd pyqrack-1.31.0-py3-none-macosx_12_0_x86_64.whl
5fd8929c2e102e354ad9e9b276480dd45f551866 pyqrack-1.31.0-py3-none-macosx_13_0_x86_64.whl
833a4d6e3ca46349848d1b19f5d5e87d845280f1 pyqrack-1.31.0-py3-none-macosx_14_0_arm64.whl
788517f7dd84c50b0ad10af964c04bb010d153a5 pyqrack-1.31.0-py3-none-macosx_15_0_arm64.whl
58ce3491b010eaba2284225ca73270e8d6d4a757 pyqrack-1.31.0-py3-none-manylinux_2_31_x86_64.whl
94f762aa4357998a3a4194b62c8de0bee1b2e861 pyqrack-1.31.0-py3-none-manylinux_2_35_x86_64.whl
69643ec914124ef6cd625ae6df1e3e591d6cf5fb pyqrack-1.31.0-py3-none-manylinux_2_39_x86_64.whl
cd8d0ff3af642d141a0a6c0472859ec220750d7b pyqrack-1.31.0-py3-none-win_amd64.whl
f47f54ed2acaa76513606ee5d0f0551d21e719b6 pyqrack-1.31.0.tar.gz