-
Fix: Bug in
swap.py
. Added test to cover bug found. -
Fix: Bug in
ppt_distinguishability.py
that prevented checking for higher dimensions. Added test to cover bug found. -
Fix: Bug in
ppt_distinguishability.py
that prevented checking 2-dimensional cases. -
Fix: Bug in
state_distinguishability.py
. Value returned was being multiplied by an unnecessary factor. Added other tests that would have caught this. -
Fix: Bug in
partial_trace.py
. Added test to cover bug found. -
Fix: Bug in
partial_transpose.py
for non-square matrices. Adding test cases to cover this previously failing case. -
Fix: Bug in
purity.py
. Squaring matrix was using**2
instead ofnp.linalg.matrix_power
-
Fix: Bug in
random_state_vector.py
. Added tests to cover. -
Fix: Bug in
schmidt_rank.py
. Added tests to cover. -
Feature: Added in
symmetric_extension_hierarchy.py
. The function is a hierarchy of semidefinite programs that eventually converge to the separable value for distinguishing an ensemble of quantum states. The first level is just the standard PPT distinguishability probability. Computing higher levels of this hierarchy can become intractable quite quickly. -
Feature: Added in ability to perform both minimum-error and unambiguous state discrimination in
state_distinguishability.py
. Adding additional tests totest_state_distinguishability.py
to cover this extra feature. -
Feature: Added
majorizes.py
; a function to determine whether a vector or matrix majorizes another. This is used as a criterion to determine whether a quantum state can be converted to another via LOCC. Addedtest_majorizes.py
for unit testing. -
Feature: Added
perfect_matchings.py
; a function that calculates all the perfect matchings of a given list of objects. Addedtest_perfect_matchings.py
for unit testing. -
Feature: Added
breuer.py
understates/
; a specific bound-entangled state of interest. Added intest_breuer.py
for unit testing. -
Feature: Added
brauer.py
understates/
. Added intest_brauer.py
for unit testing. -
Feature: Added
entanglement_of_formation.py
understate_props/
. Added intest_entanglement_of_formation.py
for unit testing. -
Feature: Added
l1_norm_coherence.py
understate_props/
. Addedtest_l1_norm_coherence.py
for unit testing. -
Enhancement: Adding further tests for
symmetric_projection.py
. -
Enhancement: Adding further tests for
ppt_distinguishability.py
. -
Enhancement: Adding further tests for
reduction.py
-
Enhancement: Consolidating
conclusive_state_exclusion.py
andunambiguous_state_exclusion.py
to juststate_exclusion.py
. Adding in optional parameter to specify method of exclusion. Consolidated tests intest_state_exclusion.py
.
-
Feature: Added
in_separable_ball.py
understate_props/
. Knowing whether a density matrix (quantum state) is contained in the separable ball centered at the maximally-mixed state is useful for separability testing. Addedtest_in_separable_ball.py
for unit testing. -
Feature: Added in ability to perform both minimum-error and unambiguous state discrimination in
ppt_distinguishability.py
. Adding additional tests toppt_state_distinguishability.py
to cover this extra feature. -
Feature: Added in ability to compute both primal and dual optimization problems in
ppt_distinguishability.py
. This gives the user the capability to obtain the measurement operators and also to use the computationally efficiency of the dual problem to make quicker numeric calculations. -
Feature: Added
unvec.py
undermatrix_ops/
. This feature is the inverse of pre-existing "vec" operation found invec.py
. That is, it allows one to take a vector and transform it to a (possibly square) matrix. -
Feature: Added
choi_to_kraus.py
underchannel_ops/
. This feature allows the user to convert a Choi matrix to a list of Kraus operators. This is the inverse of the existingkraus_to_choi.py
functionality thattoqito
currently offers. -
Feature: Add
is_mutually_orthogonal.py
understate_props/
. This feature allows the user to determine whether a given set of states (vectors) are mutually orthogonal with each other. -
Feature: Add
has_symmetric_extension.py
understate_props/
. This feature is very useful for determining whether a given state is entangled by checking whether there exists a symmetric extension for that state. -
Feature: Add
cvx_kron.py
underhelper/
. This feature allows one to compute the Kronecker product between two entities, where either two may be of typenp.ndarray
or acvxpy
expression. -
Feature: Add
is_identity.py
tostate_props/
. This feature allows one to check if a given matrix is equal to the identity matrix. -
Enhancement: Previously ignore tests for
channel_props/
are now being run as part of the testing suite. -
Enhancement: More robust error checking and adding tolerance arguments for various matrix properties found in
matrix_props/
. -
Doc-Fix: Trailing
\`` removed in
li_norm_coherence.py`. -
Fix: Bug in
symmetric_extension_hierarchy.py
forlevel=1
case. Added test to cover this bug. -
Fix: Bug in
states/tile.py
produced 3-dimensional vectors when they should have in fact been 9-dimensional vectors. -
Fix: Warning in testing suite for
test_symmetric_projection.py
for previously using the deprecatednumpy.matrix
class has since been fixed and the warning hence resolved. -
Fix: The
states/isotropic.py
file no longer requires the use of the deprecatednumpy.matrix
class.
-
Feature: Added
is_unital.py
underchannel_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. -
Feautre: Added
sqrt_channel_fidelity.py
underchannel_metrics/
. This feature allows the user to calculate the root channel fidelity between the Choi representations of two quantum channels. -
Enhancement: Adding
rtol
andatol
tolerance parameters foris_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 being2