Difference between revisions of "SchmidtRank"
Jump to navigation
Jump to search
m |
(Uploaded v1.02 and a simple example) |
||
| Line 4: | Line 4: | ||
|req=[[opt_args]]<br />[[sporth]] | |req=[[opt_args]]<br />[[sporth]] | ||
|rel=[[OperatorSchmidtRank]]<br />[[SchmidtDecomposition]]<br />[[SchmidtNumber]] | |rel=[[OperatorSchmidtRank]]<br />[[SchmidtDecomposition]]<br />[[SchmidtNumber]] | ||
| − | |upd= | + | |upd=December 19, 2012 |
| − | |v=1. | + | |v=1.02}} |
<tt>'''SchmidtRank'''</tt> is a [[List of functions|function]] that computes the Schmidt Rank of a [[bipartite]] vector. If the vector is full, the Schmidt rank is computed using MATLAB's <tt>[http://www.mathworks.com/help/matlab/ref/rank.html rank]</tt> function. If the vector is sparse, the Schmidt rank is computed using the [http://en.wikipedia.org/wiki/QR_decomposition QR decomposition]. | <tt>'''SchmidtRank'''</tt> is a [[List of functions|function]] that computes the Schmidt Rank of a [[bipartite]] vector. If the vector is full, the Schmidt rank is computed using MATLAB's <tt>[http://www.mathworks.com/help/matlab/ref/rank.html rank]</tt> function. If the vector is sparse, the Schmidt rank is computed using the [http://en.wikipedia.org/wiki/QR_decomposition QR decomposition]. | ||
| Line 11: | Line 11: | ||
* <tt>RNK = SchmidtRank(VEC)</tt> | * <tt>RNK = SchmidtRank(VEC)</tt> | ||
* <tt>RNK = SchmidtRank(VEC,DIM)</tt> | * <tt>RNK = SchmidtRank(VEC,DIM)</tt> | ||
| + | * <tt>RNK = SchmidtRank(VEC,DIM,TOL)</tt> | ||
==Argument descriptions== | ==Argument descriptions== | ||
* <tt>VEC</tt>: A [[bipartite]] vector (e.g., a [[pure quantum state]]) to have its [[Schmidt rank]] computed. | * <tt>VEC</tt>: A [[bipartite]] vector (e.g., a [[pure quantum state]]) to have its [[Schmidt rank]] computed. | ||
* <tt>DIM</tt> (optional, by default has both subsystems of equal dimension): A 1-by-2 vector containing the dimensions of the subsystems that <tt>VEC</tt> lives on. | * <tt>DIM</tt> (optional, by default has both subsystems of equal dimension): A 1-by-2 vector containing the dimensions of the subsystems that <tt>VEC</tt> lives on. | ||
| + | * <tt>TOL</tt> (optional, default <tt>sqrt(length(VEC))*eps(norm(VEC))</tt>): The numerical tolerance used when determining if a Schmidt coefficient equals zero or not. | ||
==Examples== | ==Examples== | ||
| − | + | The following code computes a random state vector in $\mathbb{C}^4 \otimes \mathbb{C}^6$ with Schmidt rank three, and then verifies that its Schmidt rank is indeed 3: | |
| + | <pre<noinclude></noinclude>> | ||
| + | >> SchmidtRank([[RandomStateVector|RandomStateVector([4,6],0,3)]],[4,6]) | ||
| + | |||
| + | ans = | ||
| + | |||
| + | 3 | ||
| + | </pre<noinclude></noinclude>> | ||
Revision as of 21:02, 19 December 2012
| SchmidtRank | |
| Computes the Schmidt rank of a bipartite vector | |
| Other toolboxes required | opt_args sporth |
|---|---|
| Related functions | OperatorSchmidtRank SchmidtDecomposition SchmidtNumber |
SchmidtRank is a function that computes the Schmidt Rank of a bipartite vector. If the vector is full, the Schmidt rank is computed using MATLAB's rank function. If the vector is sparse, the Schmidt rank is computed using the QR decomposition.
Syntax
- RNK = SchmidtRank(VEC)
- RNK = SchmidtRank(VEC,DIM)
- RNK = SchmidtRank(VEC,DIM,TOL)
Argument descriptions
- VEC: A bipartite vector (e.g., a pure quantum state) to have its Schmidt rank computed.
- DIM (optional, by default has both subsystems of equal dimension): A 1-by-2 vector containing the dimensions of the subsystems that VEC lives on.
- TOL (optional, default sqrt(length(VEC))*eps(norm(VEC))): The numerical tolerance used when determining if a Schmidt coefficient equals zero or not.
Examples
The following code computes a random state vector in $\mathbb{C}^4 \otimes \mathbb{C}^6$ with Schmidt rank three, and then verifies that its Schmidt rank is indeed 3:
>> SchmidtRank(RandomStateVector([4,6],0,3),[4,6]) ans = 3