Difference between revisions of "SchmidtDecomposition"

From QETLAB
Jump to navigation Jump to search
m
(remove red links)
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{Function
 
{{Function
 
|name=SchmidtDecomposition
 
|name=SchmidtDecomposition
|desc=Computes the [[Schmidt decomposition]] of a [[bipartite]] vector
+
|desc=Computes the Schmidt decomposition of a bipartite vector
|req=[[opt_args]]
+
|rel=[[IsProductVector]]<br />[[OperatorSchmidtDecomposition]]<br />[[SchmidtRank]]
|rel=[[IsProductVector]]<br />[[OperatorSchmidtDecomposition]]<br />[[SchmidtRank]]<br />[[SchmidtNumber]]
+
|cat=[[List of functions#Entanglement_and_separability|Entanglement&nbsp;and&nbsp;separability]]
|upd=November 23, 2012
+
|upd=December 1, 2012
|v=1.01}}
+
|v=0.50}}
<tt>'''SchmidtDecomposition'''</tt> is a [[List of functions|function]] that computes the [[Schmidt decomposition]] of a [[bipartite]] vector. The user may specify how many terms in the Schmidt decomposition they wish to be returned.
+
<tt>'''SchmidtDecomposition'''</tt> is a [[List of functions|function]] that computes the Schmidt decomposition of a bipartite vector. The user may specify how many terms in the Schmidt decomposition they wish to be returned.
  
 
==Syntax==
 
==Syntax==
Line 16: Line 16:
 
==Argument descriptions==
 
==Argument descriptions==
 
===Input arguments===
 
===Input arguments===
* <tt>VEC</tt>: A [[bipartite]] vector (e.g., a [[pure quantum state]]) to have its [[Schmidt decomposition]] computed.
+
* <tt>VEC</tt>: A bipartite vector (e.g., a pure quantum state) to have its Schmidt decomposition 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>K</tt> (optional, default 0): A flag that determines how many terms in the Schmidt decomposition should be computed. If <tt>K</tt>&nbsp;=&nbsp;0 then all terms with non-zero [[Schmidt coefficient]]s are computed. If <tt>K</tt>&nbsp;=&nbsp;-1 then all terms (including zero Schmidt coefficients) are computed. If <tt>K</tt>&nbsp;&gt;&nbsp;0 then the <tt>K</tt> terms with largest Schmidt coefficients are computed.
 
* <tt>K</tt> (optional, default 0): A flag that determines how many terms in the Schmidt decomposition should be computed. If <tt>K</tt>&nbsp;=&nbsp;0 then all terms with non-zero [[Schmidt coefficient]]s are computed. If <tt>K</tt>&nbsp;=&nbsp;-1 then all terms (including zero Schmidt coefficients) are computed. If <tt>K</tt>&nbsp;&gt;&nbsp;0 then the <tt>K</tt> terms with largest Schmidt coefficients are computed.
Line 22: Line 22:
 
===Output arguments===
 
===Output arguments===
 
* <tt>S</tt>: A vector containing the Schmidt coefficients of <tt>VEC</tt>.
 
* <tt>S</tt>: A vector containing the Schmidt coefficients of <tt>VEC</tt>.
* <tt>U</tt> (optional): The left Schmidt vectors of <tt>VEC</tt>.
+
* <tt>U</tt> (optional): A matrix whose columns are the left Schmidt vectors of <tt>VEC</tt>.
* <tt>V</tt> (optional): The right Schmidt vectors of <tt>VEC</tt>.
+
* <tt>V</tt> (optional): A matrix whose columns are the right Schmidt vectors of <tt>VEC</tt>.
  
 
==Examples==
 
==Examples==
Please add examples here.
+
The following code returns the Schmidt decomposition of the [[MaxEntangled|standard maximally-entangled pure state]] $\frac{1}{\sqrt{d}}\sum_j|j\rangle\otimes|j\rangle \in \mathbb{C}^d \otimes \mathbb{C}^d$ in the $d = 3$ case:
 +
<syntaxhighlight>
 +
>> [s,u,v] = SchmidtDecomposition(MaxEntangled(3))
 +
 
 +
s =
 +
 
 +
    0.5774
 +
    0.5774
 +
    0.5774
 +
 
 +
 
 +
u =
 +
 
 +
    1    0    0
 +
    0    1    0
 +
    0    0    1
 +
 
 +
 
 +
v =
 +
 
 +
    1    0    0
 +
    0    1    0
 +
    0    0    1
 +
</syntaxhighlight>
 +
 
 +
{{SourceCode|name=SchmidtDecomposition}}

Latest revision as of 19:16, 13 April 2015

SchmidtDecomposition
Computes the Schmidt decomposition of a bipartite vector

Other toolboxes required none
Related functions IsProductVector
OperatorSchmidtDecomposition
SchmidtRank
Function category Entanglement and separability

SchmidtDecomposition is a function that computes the Schmidt decomposition of a bipartite vector. The user may specify how many terms in the Schmidt decomposition they wish to be returned.

Syntax

  • S = SchmidtDecomposition(VEC)
  • S = SchmidtDecomposition(VEC,DIM)
  • S = SchmidtDecomposition(VEC,DIM,K)
  • [S,U,V] = SchmidtDecomposition(VEC,DIM,K)

Argument descriptions

Input arguments

  • VEC: A bipartite vector (e.g., a pure quantum state) to have its Schmidt decomposition 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.
  • K (optional, default 0): A flag that determines how many terms in the Schmidt decomposition should be computed. If K = 0 then all terms with non-zero Schmidt coefficients are computed. If K = -1 then all terms (including zero Schmidt coefficients) are computed. If K > 0 then the K terms with largest Schmidt coefficients are computed.

Output arguments

  • S: A vector containing the Schmidt coefficients of VEC.
  • U (optional): A matrix whose columns are the left Schmidt vectors of VEC.
  • V (optional): A matrix whose columns are the right Schmidt vectors of VEC.

Examples

The following code returns the Schmidt decomposition of the standard maximally-entangled pure state $\frac{1}{\sqrt{d}}\sum_j|j\rangle\otimes|j\rangle \in \mathbb{C}^d \otimes \mathbb{C}^d$ in the $d = 3$ case:

>> [s,u,v] = SchmidtDecomposition(MaxEntangled(3))

s =

    0.5774
    0.5774
    0.5774


u =

     1     0     0
     0     1     0
     0     0     1


v =

     1     0     0
     0     1     0
     0     0     1

Source code

Click here to view this function's source code on github.