Difference between revisions of "List of functions"
Jump to navigation
Jump to search
(Updated description of Entropy function) |
m (Removing red links) |
||
| Line 1: | Line 1: | ||
| − | This is a '''list of functions''' provided by | + | This is a '''list of functions''' provided by QETLAB, arranged by category. If you would prefer an alphabetical list of all functions please see [[:Category:Functions|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== | ==Basic operations== | ||
| − | * <tt>[[IsPSD]]</tt>: Determines whether or not a matrix is | + | * <tt>[[IsPSD]]</tt>: Determines whether or not a matrix is positive semidefinite |
| − | * <tt>[[Tensor]]</tt>: | + | * <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 | ||
| Line 13: | Line 13: | ||
==Entanglement and separability== | ==Entanglement and separability== | ||
===Pure states=== | ===Pure states=== | ||
| − | * <tt>[[IsProductVector]]</tt>: Determines if a | + | * <tt>[[IsProductVector]]</tt>: Determines if a pure state is a product vector |
* <tt>[[SchmidtDecomposition]]</tt>: Computes the Schmidt decomposition of a bipartite vector | * <tt>[[SchmidtDecomposition]]</tt>: Computes the Schmidt decomposition of a bipartite vector | ||
* <tt>[[SchmidtRank]]</tt>: Computes the Schmidt rank of a bipartite vector | * <tt>[[SchmidtRank]]</tt>: Computes the Schmidt rank of a bipartite vector | ||
| Line 20: | Line 20: | ||
* <tt>[[FilterNormalForm]]</tt>: Computes the filter normal form of an operator | * <tt>[[FilterNormalForm]]</tt>: Computes the filter normal form of an operator | ||
* <tt>[[IsBlockPositive]]</tt>: Determines whether or not an operator is block positive | * <tt>[[IsBlockPositive]]</tt>: Determines whether or not an operator is block positive | ||
| − | * <tt>[[IsEntanglingGate]]</tt>: Determines if a | + | * <tt>[[IsEntanglingGate]]</tt>: Determines if a unitary is an entangling gate |
| − | * <tt>[[IsPPT]]</tt>: Determines whether or not a matrix has | + | * <tt>[[IsPPT]]</tt>: Determines whether or not a matrix has positive partial transpose |
| − | * <tt>[[IsProductOperator]]</tt>: Determines if an operator is an | + | * <tt>[[IsProductOperator]]</tt>: Determines if an operator is an elementary tensor |
| − | * <tt>[[IsSeparable]]</tt>: Determines whether or not a bipartite operator is | + | * <tt>[[IsSeparable]]</tt>: Determines whether or not a bipartite operator is separable |
| − | * <tt>[[OperatorSchmidtDecomposition]]</tt>: Computes the | + | * <tt>[[OperatorSchmidtDecomposition]]</tt>: Computes the operator Schmidt decomposition of a bipartite operator |
| − | * <tt>[[OperatorSchmidtRank]]</tt>: Computes the | + | * <tt>[[OperatorSchmidtRank]]</tt>: Computes the operator Schmidt rank of a bipartite operator |
* <tt>[[SymmetricExtension]]</tt>: Determines whether or not an operator has a symmetric extension | * <tt>[[SymmetricExtension]]</tt>: Determines whether or not an operator has a symmetric extension | ||
* <tt>[[SymmetricInnerExtension]]</tt>: Determines whether or not an operator has a symmetric inner extension | * <tt>[[SymmetricInnerExtension]]</tt>: Determines whether or not an operator has a symmetric inner extension | ||
| Line 63: | Line 63: | ||
==Permutations and symmetry of subsystems== | ==Permutations and symmetry of subsystems== | ||
| − | * <tt>[[AntisymmetricProjection]]</tt>: Produces the | + | * <tt>[[AntisymmetricProjection]]</tt>: Produces the projection onto the antisymmetric subspace |
| − | * <tt>[[PermutationOperator]]</tt>: Produces a | + | * <tt>[[PermutationOperator]]</tt>: Produces a unitary operator that permutes subsystems |
| − | * <tt>[[PermuteSystems]]</tt>: Permutes subsystems within a | + | * <tt>[[PermuteSystems]]</tt>: Permutes subsystems within a state or operator |
* <tt>[[Swap]]</tt>: Swaps two subsystems within a state or operator | * <tt>[[Swap]]</tt>: Swaps two subsystems within a state or operator | ||
* <tt>[[SwapOperator]]</tt>: Produces a unitary operator that swaps two subsystems | * <tt>[[SwapOperator]]</tt>: Produces a unitary operator that swaps two subsystems | ||
| Line 71: | Line 71: | ||
==Random things== | ==Random things== | ||
| − | * <tt>[[RandomDensityMatrix]]</tt>: Generates a random | + | * <tt>[[RandomDensityMatrix]]</tt>: Generates a random density matrix |
* <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) | ||
| − | * <tt>[[RandomUnitary]]</tt>: Generates a random | + | * <tt>[[RandomUnitary]]</tt>: Generates a random unitary or orthogonal matrix |
==Special states, vectors, and operators== | ==Special states, vectors, and operators== | ||
| Line 80: | Line 80: | ||
* <tt>[[BrauerStates]]</tt>: Produces all Brauer states | * <tt>[[BrauerStates]]</tt>: Produces all Brauer states | ||
* <tt>[[ChessboardState]]</tt>: Produces a chessboard state | * <tt>[[ChessboardState]]</tt>: Produces a chessboard state | ||
| − | * <tt>[[FourierMatrix]]</tt>: Generates the | + | * <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 | ||
| − | * <tt>[[IsotropicState]]</tt>: Produces an | + | * <tt>[[IsotropicState]]</tt>: Produces an isotropic state |
| − | * <tt>[[MaxEntangled]]</tt>: Produces a | + | * <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 | + | * <tt>[[WernerState]]</tt>: Produces a Werner state |
==Superoperators== | ==Superoperators== | ||
| − | * <tt>[[ApplyMap]]</tt>: Applies a | + | * <tt>[[ApplyMap]]</tt>: Applies a superoperator to an operator |
| − | * <tt>[[ChoiMatrix]]</tt>: Computes the | + | * <tt>[[ChoiMatrix]]</tt>: Computes the Choi matrix of a superoperator |
* <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 | + | * <tt>[[ComplementaryMap]]</tt>: Computes the complementary map of a superoperator |
* <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 | + | * <tt>[[DualMap]]</tt>: Computes the [[dual map|dual]] of a superoperator in the Hilbert-Schmidt inner product |
| − | * <tt>[[IsCP]]</tt>: Determines whether or not a superoperator is | + | * <tt>[[IsCP]]</tt>: Determines whether or not a superoperator is completely positive |
| − | * <tt>[[IsHermPreserving]]</tt>: Determines whether or not a superoperator is | + | * <tt>[[IsHermPreserving]]</tt>: Determines whether or not a superoperator is Hermiticity preserving |
| − | * <tt>[[KrausOperators]]</tt>: Computes a set of | + | * <tt>[[KrausOperators]]</tt>: Computes a set of Kraus operators for a superoperator |
* <tt>[[PartialMap]]</tt>: Applies a superoperator to a subsystem of an operator | * <tt>[[PartialMap]]</tt>: Applies a superoperator to a subsystem of an operator | ||
| − | * <tt>[[PartialTrace]]</tt>: Computes the | + | * <tt>[[PartialTrace]]</tt>: Computes the partial trace of a matrix |
| − | * <tt>[[PartialTranspose]]</tt>: Computes the | + | * <tt>[[PartialTranspose]]</tt>: Computes the partial transpose of a matrix |
| − | * <tt>[[Realignment]]</tt>: Computes the | + | * <tt>[[Realignment]]</tt>: Computes the realignment of a bipartite operator |
* <tt>[[ReductionMap]]</tt>: Produces the reduction map | * <tt>[[ReductionMap]]</tt>: Produces the reduction map | ||
* <tt>[[Twirl]]</tt>: Twirls a bipartite or multipartite operator | * <tt>[[Twirl]]</tt>: Twirls a bipartite or multipartite operator | ||
| Line 129: | Line 129: | ||
* <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>[[sk_iterate]]</tt>: Computes a lower bound of the | + | * <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>[[vec_partitions]]</tt>: Produces all possible partitions of a vector | * <tt>[[vec_partitions]]</tt>: Produces all possible partitions of a vector | ||
Revision as of 02:25, 28 November 2014
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
Distinguishing objects
- ChannelDistinguishability: Computes the maximum probability of distinguishing two quantum channels
- Distinguishability: Computes the maximum probability of distinguishing quantum states
- UPBSepDistinguishable: Determines whether or not a UPB is distinguishable by separable measurements
Entanglement and separability
Pure states
- IsProductVector: Determines if a pure state is a product vector
- SchmidtDecomposition: Computes the Schmidt decomposition of a bipartite vector
- SchmidtRank: Computes the Schmidt rank of a bipartite vector
Mixed states
- FilterNormalForm: Computes the filter normal form of an operator
- IsBlockPositive: Determines whether or not an operator is block positive
- IsEntanglingGate: Determines if a unitary is an entangling gate
- IsPPT: Determines whether or not a matrix has positive partial transpose
- IsProductOperator: Determines if an operator is an elementary tensor
- IsSeparable: Determines whether or not a bipartite operator is separable
- OperatorSchmidtDecomposition: Computes the operator Schmidt decomposition of a bipartite operator
- OperatorSchmidtRank: Computes the operator Schmidt rank of a bipartite operator
- SymmetricExtension: Determines whether or not an operator has a symmetric extension
- SymmetricInnerExtension: Determines whether or not an operator has a symmetric inner extension
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
Nonlocal games
- XORClassicalValue: Computes the classical value of a nonlocal binary XOR game
- XORQuantumValue: Computes the quantum value of a nonlocal binary XOR game
Norms and distance measures
Vectors and pure states
- SkVectorNorm: Computes the s(k)-norm of a vector
Operators and mixed states
- Fidelity: Computes the fidelity of two density matrices
- 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
- MaximumOutputFidelity: Computes the maximum output fidelity of two quantum channels
Permutations and symmetry of subsystems
- AntisymmetricProjection: Produces the projection onto the antisymmetric subspace
- PermutationOperator: Produces a unitary operator that permutes subsystems
- PermuteSystems: Permutes subsystems within a state or operator
- Swap: Swaps two subsystems within a state or operator
- SwapOperator: Produces a unitary operator that swaps two subsystems
- SymmetricProjection: Produces the projection onto the symmetric subspace
Random things
- RandomDensityMatrix: Generates a random density matrix
- RandomStateVector: Generates a random pure state vector
- RandomSuperoperator: Generates a random superoperator (completely positive map)
- RandomUnitary: Generates a random unitary or orthogonal matrix
Special states, vectors, and operators
- Bell: Produces a Bell state
- BrauerStates: Produces all Brauer states
- ChessboardState: Produces a chessboard state
- 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
- IsotropicState: Produces an isotropic state
- MaxEntangled: Produces a maximally entangled bipartite pure state
- Pauli: Produces a Pauli operator
- WernerState: Produces a Werner state
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
- 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
- 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
- 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
- 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
- vec_partitions: Produces all possible partitions of a vector