# States¶

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]. toqito.state_metrics.fidelity(rho, 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].