Toqito

Latest version: v1.1.1

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

Scan your dependencies

Page 2 of 3

1.0.4

- Version bump to fix Python package versioning issue.

- Adding `outer_product` and `inner_product` functions in `matrix_ops` (thanks
to juliusw352)

- Fixing random number generation in `random_density_matrix` function to be
obtained from Haar measure (thanks to BCasale)

- Adding `to_nonlocal_game` function in `XORGame` that converts an XOR game
definition to a `NonlocalGame` object (thanks to juliusw352)

- Adding `nonsignaling` function in `XORGame` that calculates the nonsignaling
value of an `XORGame` object (thanks to juliusw352)

1.0.3

- Version bump to fix Python package versioning issue.

1.0.2

- Enhancement: Update to Python 3.9 from 3.7.

- Feature: Added `dual_channel.py` under `channel_ops`. This feature
allows one to calculate the dual channel of a given input provided as either a
list of Kraus operators, or, a Choi matrix that represents a valid quantum
channel.

- Fix: Thanks to Jake Xuereb for a fix in the `concurrence.py` function that was
incorrectly not taking the transpose.

- Feature: Thanks to Joseph Li (jli0108) for the ability to calculate the Schmidt
decomposition.

- Feature: Added `diamond_norm.py` under `channel_metrics/`. This
feature allows the user to calculate the diamond norm between the Choi
representations of two quantum channels.

- Feature: Added `is_npt.py` under `state_props/`. This
feature allows the user to determine whether a given state is has negative
partial transpose (is NPT).

- Fix: Thanks to iftachyakar for the state distinguishability docs update

- Fix: Thanks to georgios-ts for the fix to `symmetric_extension_hierarchy`.

- Feature: Thanks to georgios-ts for the feature of the `sk_vector_norm`.

- Feature: Thanks to georgios-ts for the extended nonlocal game version of the
NPA hierarchy in `extended_nonlocal_games`.

- Fix: Thanks to georgios-ts for a fix in the `partial_transpose.py` function.

- Feature: Thanks to georgios-ts for the `block_positive.py` feature that
allows the user to detect if a matrix is block positive.

- Feature: Thanks to meandmytram for the `is_separable.py` feature that allows
the user to test whether a quantum state represented as a density operator is
entangled or separable.

- Feature: Added `standard_basis.py` under `matrices/` that allows one to
construct the standard basis of dimension "d".

- Feature: Added `is_orthonormal.py` under `matrix_props/` that allows one to
determine if a collection of vectors or matrices are orthonormal.

- Feature: Thanks to AdithyaSireesh for `hilbert_schmidt_inner_product.py`
under `state_metrics/` that allows one to calculate the Hilbert-Schmidt inner
product between two linear operators.

- Enhancement: Updating `Union` syntax using the `|` operator instead of `Union`
from `typing`.

- Enhancement: Linting and stylistic improvements.

1.0.1

- Feature: Added `bures_distance.py` under `state_metrics/`. This feature
allows the user to determine whether a given matrix is idempotent.

- Feature: Added `singlet.py` under `states/`. This feature allows one to yield
a singlet state of dimension `dim`.

- Feature: Added `is_quantum_channel` under `channel_props`. This feature
allows one to check whether a given input provided as either a list of Kraus
operators, or, a Choi matrix constitutes a valid quantum channel.

- Fix: Permute systems had a bug where if the `inv_perm` option in
`permute_systems.py` was selected, the standard permutation was calculated
(not the inverse permutation). Further unit tests are included to catch
similar failures.

- Fix: The `partial_transpose.py` function did not accurately calculate the
partial transpose on matrices of certain dimension. The fix for
`permute_systems.py` fixes the issue with `partial_transpose.py`. Further unit
tests are included to catch similar failures.

- Fix: The `partial_trace.py` function was not accurately calculating the
partial trace when the argument was specified as a list of dimensions for
certain cases. This has been fixed and further test cases have been included
to prevent this from occurring.

- Fix: The `swap.py` function was not accurately swapping on all sub-systems.
Further unit tests are included to catch similar failures.

- Fix: The `hadamard.py` function was not yielding Hadamard matrices of proper
size and value. Fixed and added tests to cover this case.

- Fix: The `schmidt_decomposition.py` function was taking an incorrect argument
into the SVD function. Fixed and added further tests cases to cover.

- Fix: The `is_product_vector.py` was making use of the
`schmidt_decomposition.py` function incorrectly. Fixed and added further
test cases.

- Enhancement: Adding ability for `schmidt_rank.py` function to process not
just vectors, but also matrices. Adding in unit tests to cover this case.

- Enhancement: Adding the ability for `is_product.py` function to process not
just vectors, but also matrices. Adding in unit tests to cover this case.

- Enhancement: Simplified code for `nonlocal_game.py` and
`extended_nonlocal_game.py`

- Enhancement: Some general documentation clean-up.

1.0.0

- Fix: Various documentation fixes and updates.

- Fix: Index error for unambiguous quantum state distinguishability.

0.0.7

- Feature: Added `is_unital.py` under `channel_props/`. This feature allows
the user to determine whether a given channel (specified by either its Choi
matrix or by its Kraus operators) is unital.

- Feature: Added `is_trace_preserving.py` under `channel_props/`. This feature
allows the user to determine whether a given channel (specified by either its
Choi matrix or by its Kraus operators) is trace-preserving.

- Feature: Added `log_negativity.py` under `state_props`. This feature
allows the user to calculate the log negativty of a quantum state.

- Feature: Added `channel_fidelity.py` under `channel_metrics/`. This
feature allows the user to calculate the channel fidelity between the Choi
representations of two quantum channels.

- Feature: Added `is_idempotent.py` under `matrix_props/`. This feature
allows the user to determine whether a given matrix is idempotent.

- Enhancement: Adding `rtol` and `atol` tolerance parameters for
`is_herm_preserving.py`.

- Enhancement: Improving speed of calculating the classical value of nonlocal
game. This enhancement is taken from QETLAB which was inspired by pre-print
arxiv:2005.13418.

- Enhancement: Parallel repetitions for the classical value of a nonlocal game
is now supported.

- Fix: The `partial_channel.py` function has been enhanced to deal with
completely positive maps specified by Kraus operators as input.

- Fix: The GHZ state now supports either dimension or parameter `1` instead
of it previously being `2`

Page 2 of 3

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.