Difference between revisions of "List of functions"

From QETLAB
Jump to navigation Jump to search
m (Removing red links)
m
(17 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
* <tt>[[Tensor]]</tt>: Kronecker tensor product of two or more matrices
 
* <tt>[[Tensor]]</tt>: Kronecker tensor product of two or more matrices
 
* <tt>[[TensorSum]]</tt>: Computes a vector or operator from its tensor decomposition
 
* <tt>[[TensorSum]]</tt>: Computes a vector or operator from its tensor decomposition
 +
 +
==Coherence and incoherence==
 +
* <tt>[[L1NormCoherence]]</tt>: Computes the ℓ<sub>1</sub>-norm of coherence of a quantum state
 +
* <tt>[[RelEntCoherence]]</tt>: Computes the relative entropy of coherence of a quantum state
 +
* <tt>[[RobustnessCoherence]]</tt>: Computes the robustness of coherence of a quantum state
 +
* <tt>[[TraceDistanceCoherence]]</tt>: Computes the trace distance of coherence of a quantum state
  
 
==Distinguishing objects==
 
==Distinguishing objects==
 
* <tt>[[ChannelDistinguishability]]</tt>: Computes the maximum probability of distinguishing two quantum channels
 
* <tt>[[ChannelDistinguishability]]</tt>: Computes the maximum probability of distinguishing two quantum channels
 
* <tt>[[Distinguishability]]</tt>: Computes the maximum probability of distinguishing quantum states
 
* <tt>[[Distinguishability]]</tt>: Computes the maximum probability of distinguishing quantum states
* <tt>[[UPBSepDistinguishable]]</tt>: Determines whether or not a UPB is distinguishable by separable measurements
+
* <tt>[[LocalDistinguishability]]</tt>: Computes the maximum probability of distinguishing quantum states by symmetric-extendible and/or PPT measurements
 +
* <tt>[[UPBSepDistinguishable]]</tt>: Determines whether or not an unextendible product basis is distinguishable by separable measurements
  
 
==Entanglement and separability==
 
==Entanglement and separability==
Line 40: Line 47:
 
* <tt>[[Entropy]]</tt>: Computes the von Neumann or Rényi entropy of a density matrix
 
* <tt>[[Entropy]]</tt>: Computes the von Neumann or Rényi entropy of a density matrix
  
==Nonlocal games==
+
==Nonlocality and Bell inequalities==
* <tt>[[XORClassicalValue]]</tt>: Computes the classical value of a nonlocal binary XOR game
+
* <tt>[[BCSGameValue]]</tt>: Computes the maximum value of a binary constraint system (BCS) game
* <tt>[[XORQuantumValue]]</tt>: Computes the quantum value of a nonlocal binary XOR game
+
* <tt>[[BellInequalityMax]]</tt>: Computes the maximum value of a Bell inequality
 +
* <tt>[[BellInequalityMaxQubits]]</tt>: Approximates the optimal value of a Bell inequality in qubit (i.e., 2-dimensional quantum) settings
 +
* <tt>[[NonlocalGameValue]]</tt>: Computes the value of a two-player non-local game
 +
* <tt>[[NPAHierarchy]]</tt>: Determines whether or not a set of probabilities satisfy the conditions of the NPA hierarchy
 +
* <tt>[[XORGameValue]]</tt>: Computes the classical or quantum value of a non-local binary XOR game
  
 
==Norms and distance measures==
 
==Norms and distance measures==
Line 50: Line 61:
 
===Operators and mixed states===
 
===Operators and mixed states===
 
* <tt>[[Fidelity]]</tt>: Computes the fidelity of two density matrices
 
* <tt>[[Fidelity]]</tt>: Computes the fidelity of two density matrices
 +
* <tt>[[InducedMatrixNorm]]</tt>: Computes a lower bound of the induced p&rarr;q norm of a matrix
 
* <tt>[[kpNorm]]</tt>: Computes the (k,p)-norm of a vector or matrix
 
* <tt>[[kpNorm]]</tt>: Computes the (k,p)-norm of a vector or matrix
 
* <tt>[[kpNormDual]]</tt>: Computes the dual of the (k,p)-norm of a vector or matrix
 
* <tt>[[kpNormDual]]</tt>: Computes the dual of the (k,p)-norm of a vector or matrix
Line 60: Line 72:
 
* <tt>[[CBNorm]]</tt>: Computes the completely bounded norm of a superoperator
 
* <tt>[[CBNorm]]</tt>: Computes the completely bounded norm of a superoperator
 
* <tt>[[DiamondNorm]]</tt>: Computes the diamond norm of a superoperator
 
* <tt>[[DiamondNorm]]</tt>: Computes the diamond norm of a superoperator
 +
* <tt>[[InducedSchattenNorm]]</tt>: Computes a lower bound of the induced Schatten p&rarr;q norm of a superoperator
 
* <tt>[[MaximumOutputFidelity]]</tt>: Computes the maximum output fidelity of two quantum channels
 
* <tt>[[MaximumOutputFidelity]]</tt>: Computes the maximum output fidelity of two quantum channels
  
Line 72: Line 85:
 
==Random things==
 
==Random things==
 
* <tt>[[RandomDensityMatrix]]</tt>: Generates a random density matrix
 
* <tt>[[RandomDensityMatrix]]</tt>: Generates a random density matrix
 +
* <tt>[[RandomPOVM]]</tt>: Generates a random POVM (positive-operator valued measure)
 +
* <tt>[[RandomProbabilities]]</tt>: Computes a random probability vector, distributed uniformly on the unit simplex
 
* <tt>[[RandomStateVector]]</tt>: Generates a random pure state vector
 
* <tt>[[RandomStateVector]]</tt>: Generates a random pure state vector
 
* <tt>[[RandomSuperoperator]]</tt>: Generates a random superoperator (completely positive map)
 
* <tt>[[RandomSuperoperator]]</tt>: Generates a random superoperator (completely positive map)
Line 77: Line 92:
  
 
==Special states, vectors, and operators==
 
==Special states, vectors, and operators==
 +
===Pure states===
 
* <tt>[[Bell]]</tt>: Produces a Bell state
 
* <tt>[[Bell]]</tt>: Produces a Bell state
 
* <tt>[[BrauerStates]]</tt>: Produces all Brauer states
 
* <tt>[[BrauerStates]]</tt>: Produces all Brauer states
 +
* <tt>[[DickeState]]</tt>: Generates a Dicke state
 +
* <tt>[[GHZState]]</tt>: Generates a (generalized) GHZ state
 +
* <tt>[[MaxEntangled]]</tt>: Produces a maximally entangled bipartite pure state
 +
* <tt>[[WState]]</tt>: Generates a (generalized) W-state
 +
 +
===Mixed states===
 +
* <tt>[[BreuerState]]</tt>: Generates a Breuer state, which is a specific family of bound entangled states on even local dimensions
 
* <tt>[[ChessboardState]]</tt>: Produces a chessboard state
 
* <tt>[[ChessboardState]]</tt>: Produces a chessboard state
 +
* <tt>[[GisinState]]</tt>: Generates a 2-qubit Gisin state
 +
* <tt>[[HorodeckiState]]</tt>: Generates a bound entangled "Horodecki" state
 +
* <tt>[[IsotropicState]]</tt>: Produces an isotropic state
 +
* <tt>[[WernerState]]</tt>: Produces a Werner state
 +
 +
===Other operators===
 
* <tt>[[FourierMatrix]]</tt>: Generates the unitary matrix that implements the quantum Fourier transform
 
* <tt>[[FourierMatrix]]</tt>: Generates the unitary matrix that implements the quantum Fourier transform
 
* <tt>[[GellMann]]</tt>: Produces a Gell-Mann operator
 
* <tt>[[GellMann]]</tt>: Produces a Gell-Mann operator
 
* <tt>[[GenGellMann]]</tt>: Produces a generalized Gell-Mann operator
 
* <tt>[[GenGellMann]]</tt>: Produces a generalized Gell-Mann operator
* <tt>[[GenPauli]]</tt>: Produces a generalized Pauli operator
+
* <tt>[[GenPauli]]</tt>: Produces a generalized Pauli operator (sometimes called a Weyl operator)
* <tt>[[IsotropicState]]</tt>: Produces an isotropic state
 
* <tt>[[MaxEntangled]]</tt>: Produces a maximally entangled bipartite pure state
 
 
* <tt>[[Pauli]]</tt>: Produces a Pauli operator
 
* <tt>[[Pauli]]</tt>: Produces a Pauli operator
* <tt>[[WernerState]]</tt>: Produces a Werner state
 
  
 
==Superoperators==
 
==Superoperators==
Line 94: Line 120:
 
* <tt>[[ChoiMap]]</tt>: Produces the Choi map or one of its generalizations
 
* <tt>[[ChoiMap]]</tt>: Produces the Choi map or one of its generalizations
 
* <tt>[[ComplementaryMap]]</tt>: Computes the complementary map of a superoperator
 
* <tt>[[ComplementaryMap]]</tt>: Computes the complementary map of a superoperator
 +
* <tt>[[DephasingChannel]]</tt>: Produces a dephasing channel
 
* <tt>[[DepolarizingChannel]]</tt>: Produces a depolarizing channel
 
* <tt>[[DepolarizingChannel]]</tt>: Produces a depolarizing channel
* <tt>[[DualMap]]</tt>: Computes the [[dual map|dual]] of a superoperator in the Hilbert-Schmidt inner product
+
* <tt>[[DualMap]]</tt>: Computes the dual of a superoperator in the Hilbert-Schmidt inner product
 
* <tt>[[IsCP]]</tt>: Determines whether or not a superoperator is completely positive
 
* <tt>[[IsCP]]</tt>: Determines whether or not a superoperator is completely positive
 
* <tt>[[IsHermPreserving]]</tt>: Determines whether or not a superoperator is Hermiticity preserving
 
* <tt>[[IsHermPreserving]]</tt>: Determines whether or not a superoperator is Hermiticity preserving
Line 102: Line 129:
 
* <tt>[[PartialTrace]]</tt>: Computes the partial trace of a matrix
 
* <tt>[[PartialTrace]]</tt>: Computes the partial trace of a matrix
 
* <tt>[[PartialTranspose]]</tt>: Computes the partial transpose of a matrix
 
* <tt>[[PartialTranspose]]</tt>: Computes the partial transpose of a matrix
 +
* <tt>[[PauliChannel]]</tt>: Generates a Pauli channel (i.e., a quantum channel with Pauli Kraus operators)
 
* <tt>[[Realignment]]</tt>: Computes the realignment of a bipartite operator
 
* <tt>[[Realignment]]</tt>: Computes the realignment of a bipartite operator
 
* <tt>[[ReductionMap]]</tt>: Produces the reduction map
 
* <tt>[[ReductionMap]]</tt>: Produces the reduction map
Line 120: Line 148:
  
 
==Helper functions==
 
==Helper functions==
 +
These are functions that only serve auxiliary roles within other functions of QETLAB. As an end-user of QETLAB, you likely won't have any use for these functions, but they are listed here anyway just in case.
 
* <tt>[[iden]]</tt>: Computes a sparse or full identity matrix
 
* <tt>[[iden]]</tt>: Computes a sparse or full identity matrix
 
* <tt>[[jacobi_poly]]</tt>: Computes the coefficients of Jacobi polynomials
 
* <tt>[[jacobi_poly]]</tt>: Computes the coefficients of Jacobi polynomials
Line 129: Line 158:
 
* <tt>[[perm_inv]]</tt>: Computes the inverse of a permutation
 
* <tt>[[perm_inv]]</tt>: Computes the inverse of a permutation
 
* <tt>[[perm_sign]]</tt>: Computes the sign of a permutation
 
* <tt>[[perm_sign]]</tt>: Computes the sign of a permutation
 +
* <tt>[[pure_to_mixed]]</tt>: Converts a state vector or density matrix representation of a state to a density matrix
 
* <tt>[[sk_iterate]]</tt>: Computes a lower bound of the S(k)-norm of an operator
 
* <tt>[[sk_iterate]]</tt>: Computes a lower bound of the S(k)-norm of an operator
 
* <tt>[[spnull]]</tt>: Returns a sparse orthonormal basis for the null space
 
* <tt>[[spnull]]</tt>: Returns a sparse orthonormal basis for the null space
 
* <tt>[[sporth]]</tt>: Returns a sparse orthonormal basis for the range
 
* <tt>[[sporth]]</tt>: Returns a sparse orthonormal basis for the range
 
* <tt>[[superoperator_dims]]</tt>: Computes the input, output, and environment dimensions of a superoperator
 
* <tt>[[superoperator_dims]]</tt>: Computes the input, output, and environment dimensions of a superoperator
 +
* <tt>[[unique_perms]]</tt>: Computes all distinct permutations of a given vector
 +
* <tt>[[update_odometer]]</tt>: Increases the entries of a vector subject to constraints on how large the entries of that vector can be
 
* <tt>[[vec_partitions]]</tt>: Produces all possible partitions of a vector
 
* <tt>[[vec_partitions]]</tt>: Produces all possible partitions of a vector

Revision as of 13:53, 12 January 2016

This is a list of functions provided by QETLAB, arranged by category. If you would prefer an alphabetical list of all functions please see this page. Brief descriptions of these functions are provided here, as well as links to their documentation pages, where full details and numerous examples can be found.

Basic operations

  • IsPSD: Determines whether or not a matrix is positive semidefinite
  • Tensor: Kronecker tensor product of two or more matrices
  • TensorSum: Computes a vector or operator from its tensor decomposition

Coherence and incoherence

Distinguishing objects

  • ChannelDistinguishability: Computes the maximum probability of distinguishing two quantum channels
  • Distinguishability: Computes the maximum probability of distinguishing quantum states
  • LocalDistinguishability: Computes the maximum probability of distinguishing quantum states by symmetric-extendible and/or PPT measurements
  • UPBSepDistinguishable: Determines whether or not an unextendible product basis is distinguishable by separable measurements

Entanglement and separability

Pure states

Mixed states

Ball of separability

  • AbsPPTConstraints: Builds the eigenvalue matrices that determine whether or not a state is absolutely PPT
  • InSeparableBall: Checks whether or not an operator is in the ball of separability centered at the maximally-mixed state
  • IsAbsPPT: Determines whether or not a density matrix is absolutely PPT

Entanglement measures

  • Negativity: Computes the negativity of a bipartite density matrix

Information theory

  • Entropy: Computes the von Neumann or Rényi entropy of a density matrix

Nonlocality and Bell inequalities

  • BCSGameValue: Computes the maximum value of a binary constraint system (BCS) game
  • BellInequalityMax: Computes the maximum value of a Bell inequality
  • BellInequalityMaxQubits: Approximates the optimal value of a Bell inequality in qubit (i.e., 2-dimensional quantum) settings
  • NonlocalGameValue: Computes the value of a two-player non-local game
  • NPAHierarchy: Determines whether or not a set of probabilities satisfy the conditions of the NPA hierarchy
  • XORGameValue: Computes the classical or quantum value of a non-local binary XOR game

Norms and distance measures

Vectors and pure states

Operators and mixed states

  • Fidelity: Computes the fidelity of two density matrices
  • InducedMatrixNorm: Computes a lower bound of the induced p→q norm of a matrix
  • kpNorm: Computes the (k,p)-norm of a vector or matrix
  • kpNormDual: Computes the dual of the (k,p)-norm of a vector or matrix
  • KyFanNorm: Computes the Ky Fan k-norm of an operator
  • SkOperatorNorm: Bounds the S(k)-norm of an operator
  • SchattenNorm: Computes the Schatten p-norm of an operator
  • TraceNorm: Computes the trace norm of an operator

Superoperators and channels

  • CBNorm: Computes the completely bounded norm of a superoperator
  • DiamondNorm: Computes the diamond norm of a superoperator
  • InducedSchattenNorm: Computes a lower bound of the induced Schatten p→q norm of a superoperator
  • MaximumOutputFidelity: Computes the maximum output fidelity of two quantum channels

Permutations and symmetry of subsystems

Random things

Special states, vectors, and operators

Pure states

Mixed states

Other operators

  • FourierMatrix: Generates the unitary matrix that implements the quantum Fourier transform
  • GellMann: Produces a Gell-Mann operator
  • GenGellMann: Produces a generalized Gell-Mann operator
  • GenPauli: Produces a generalized Pauli operator (sometimes called a Weyl operator)
  • Pauli: Produces a Pauli operator

Superoperators

  • ApplyMap: Applies a superoperator to an operator
  • ChoiMatrix: Computes the Choi matrix of a superoperator
  • ChoiMap: Produces the Choi map or one of its generalizations
  • ComplementaryMap: Computes the complementary map of a superoperator
  • DephasingChannel: Produces a dephasing channel
  • DepolarizingChannel: Produces a depolarizing channel
  • DualMap: Computes the dual of a superoperator in the Hilbert-Schmidt inner product
  • IsCP: Determines whether or not a superoperator is completely positive
  • IsHermPreserving: Determines whether or not a superoperator is Hermiticity preserving
  • KrausOperators: Computes a set of Kraus operators for a superoperator
  • PartialMap: Applies a superoperator to a subsystem of an operator
  • PartialTrace: Computes the partial trace of a matrix
  • PartialTranspose: Computes the partial transpose of a matrix
  • PauliChannel: Generates a Pauli channel (i.e., a quantum channel with Pauli Kraus operators)
  • Realignment: Computes the realignment of a bipartite operator
  • ReductionMap: Produces the reduction map
  • Twirl: Twirls a bipartite or multipartite operator

Unextendible product bases

  • IsUPB: Determines whether or not a set of product vectors form a UPB
  • MinUPBSize: Gives the minimum cardinality of an unextendible product basis in given dimensions
  • UPB: Generates an unextendible product basis

Miscellaneous

  • Commutant: Computes the commutant of a set of matrices
  • IsTotallyNonsingular: Determines whether or not a matrix is totally nonsingular
  • IsTotallyPositive: Determines whether or not a matrix is totally positive
  • Majorizes: Determines whether or not a vector or matrix majorizes another
  • OperatorSinkhorn: Performs the operator Sinkhorn iteration, making all single-party reduced states proportional to the identity
  • Purity: Computes the purity of a quantum state

Helper functions

These are functions that only serve auxiliary roles within other functions of QETLAB. As an end-user of QETLAB, you likely won't have any use for these functions, but they are listed here anyway just in case.

  • iden: Computes a sparse or full identity matrix
  • jacobi_poly: Computes the coefficients of Jacobi polynomials
  • normalize_cols: Scales the columns of a matrix to have norm 1
  • one_factorization: Computes a 1-factorization of a list of objects
  • opt_args: Handles optional input arguments for functions
  • opt_disp: Display a message to the user (sometimes)
  • perfect_matchings: Gives all perfect matchings of N objects
  • perm_inv: Computes the inverse of a permutation
  • perm_sign: Computes the sign of a permutation
  • pure_to_mixed: Converts a state vector or density matrix representation of a state to a density matrix
  • sk_iterate: Computes a lower bound of the S(k)-norm of an operator
  • spnull: Returns a sparse orthonormal basis for the null space
  • sporth: Returns a sparse orthonormal basis for the range
  • superoperator_dims: Computes the input, output, and environment dimensions of a superoperator
  • unique_perms: Computes all distinct permutations of a given vector
  • update_odometer: Increases the entries of a vector subject to constraints on how large the entries of that vector can be
  • vec_partitions: Produces all possible partitions of a vector