A quantum state is a density operator

\[\rho \in \text{D}(\mathcal{X})\]

where \(\mathcal{X}\) is a complex Euclidean space and where \(\text{D}(\cdot)\) represents the set of density matrices.

Distance Metrics for Quantum States

toqito.state_metrics.bures_angle(rho_1, …) Compute the Bures angle of two density matrices [WikBures].
toqito.state_metrics.bures_distance(rho_1, …) Compute the Bures distance of two density matrices [WikBures].
toqito.state_metrics.fidelity_of_separability(…) Define the first benchmark introduced in Appendix H of [Phil23]., sigma) Compute the fidelity of two density matrices [WikFid].
toqito.state_metrics.helstrom_holevo(rho, sigma) Compute the Helstrom-Holevo distance between density matrices [WikHeHo].
toqito.state_metrics.hilbert_schmidt_inner_product(…) Compute the Hilbert-Schmidt inner product between two matrices [WikHSO].
toqito.state_metrics.hilbert_schmidt(rho, sigma) Compute the Hilbert-Schmidt distance between two states [WikHS].
toqito.state_metrics.matsumoto_fidelity(rho, …) Compute the Matsumoto fidelity of two density matrices [Mat10].
toqito.state_metrics.sub_fidelity(rho, sigma) Compute the sub fidelity of two density matrices [MPHUZSub08].
toqito.state_metrics.trace_distance(rho, sigma) Compute the trace distance between density operators rho and sigma.

Optimizations over Quantum States

toqito.state_opt.optimal_clone(states, …) Compute probability of counterfeiting quantum money [MVW12].
toqito.state_opt.ppt_distinguishability(…) Compute probability of optimally distinguishing a state via PPT measurements [COS13].
toqito.state_opt.state_distinguishability(…) Compute probability of state distinguishability [ELD03].
toqito.state_opt.state_exclusion(vectors, …) Compute probability of single state exclusion.
toqito.state_opt.state_helper Helper functions for checking validity of states and probability vectors.
toqito.state_opt.symmetric_extension_hierarchy(…) Compute optimal value of the symmetric extension hierarchy SDP [Nav08].

Operations on Quantum States

toqito.state_ops.pure_to_mixed(phi) Convert a state vector or density matrix to a density matrix.
toqito.state_ops.schmidt_decomposition(rho, …) Compute the Schmidt decomposition of a bipartite vector [WikSD].

Properties of Quantum States

toqito.state_props.concurrence(rho) Calculate the concurrence of a bipartite state [WikCon].
toqito.state_props.entanglement_of_formation(…) Compute entanglement-of-formation of a bipartite quantum state [WikEOF].
toqito.state_props.has_symmetric_extension(…) Determine whether there exists a symmetric extension for a given quantum state.
toqito.state_props.in_separable_ball(mat) Check whether an operator is contained in ball of separability [GB02].
toqito.state_props.is_ensemble(states) Determine if a set of states constitute an ensemble [WatEns18].
toqito.state_props.is_mixed(state) Determine if a given quantum state is mixed [WikMix].
toqito.state_props.is_mutually_orthogonal(…) Check if list of vectors are mutually orthogonal [WikOrthog].
toqito.state_props.is_mutually_unbiased_basis(…) Check if list of vectors constitute a mutually unbiased basis [WikMUB].
toqito.state_props.is_npt(mat, sys, dim, tol) Determine whether or not a matrix has negative partial transpose [WikPPT].
toqito.state_props.is_ppt(mat, sys, dim, tol) Determine whether or not a matrix has positive partial transpose [WikPPT].
toqito.state_props.is_product(rho, dim) Determine if a given vector is a product state [WikProdState].
toqito.state_props.is_pure(state) Determine if a given state is pure or list of states are pure [WikIsPure].
toqito.state_props.is_separable(state, dim, …) Determine if a given state (given as a density matrix) is a separable state [WikSepState].
toqito.state_props.l1_norm_coherence(rho) Compute the l1-norm of coherence of a quantum state [RPWL17].
toqito.state_props.log_negativity(rho, dim) Compute the log-negativity of a bipartite quantum state [WikLogNeg].
toqito.state_props.negativity(rho, dim) Compute the negativity of a bipartite quantum state [WikNeg].
toqito.state_props.purity(rho) Compute the purity of a quantum state [WikPurity].
toqito.state_props.schmidt_rank(rho, dim) Compute the Schmidt rank [WikSR].
toqito.state_props.sk_vector_norm(rho, k, dim) Compute the S(k)-norm of a vector [NJDK09].
toqito.state_props.von_neumann_entropy(rho) Compute the von Neumann entropy of a density matrix [WikVent].

Quantum States

toqito.states.basis(dim, pos) Obtain the ket of dimension dim [WikKet].
toqito.states.bell(idx) Produce a Bell state [WikBell].
toqito.states.brauer(dim, p_val) Produce all Brauer states [WikBrauer].
toqito.states.breuer(dim, lam) Produce a Breuer state [HPBreuer].
toqito.states.chessboard(mat_params, …) Produce a chessboard state [BP00].
toqito.states.domino(idx) Produce a domino state [CBDOM99], [UPB99].
toqito.states.gen_bell(k_1, k_2, dim) Produce a generalized Bell state [DL09].
toqito.states.ghz(dim, num_qubits, coeff) Generate a (generalized) GHZ state [GHZ07].
toqito.states.gisin(lambda_var, theta) Produce a Gisin state [GIS96].
toqito.states.horodecki(a_param, dim) Produce a Horodecki state [HOR], [CHR].
toqito.states.isotropic(dim, alpha) Produce a isotropic state [HH99].
toqito.states.max_entangled(dim, is_sparse, …) Produce a maximally entangled bipartite pure state [WikEnt].
toqito.states.max_mixed(dim, is_sparse) Produce the maximally mixed state [AAR6].
toqito.states.singlet(dim) Produce a generalized singlet state acting on two n-dimensional systems [Gsinglet].
toqito.states.tile(idx) Produce a Tile state [UPBTile99].
toqito.states.w_state(num_qubits, coeff) Produce a W-state [DVC00].
toqito.states.werner(dim, alpha) Produce a Werner state [Wer89].