- 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.