Difference between revisions of "UPB"

From QETLAB
Jump to navigation Jump to search
m
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
{{Function
 
{{Function
 
|name=UPB
 
|name=UPB
|desc=Generates an [[unextendible product basis]]
+
|desc=Generates an unextendible product basis
|rel=[[IsUPB]]<br />[[MinUPBSize]]
+
|rel=[[IsUPB]]<br />[[MinUPBSize]]<br />[[UPBSepDistinguishable]]
|req=[[FourierMatrix]]<br />[[IsTotallyNonsingular]]<br />[[MinUPBSize]]<br />[[normalize_cols]]<br />[[opt_args]]<br />[[opt_disp]]<br />[[perm_inv]]<br />[[PermuteSystems]]<br />[[sporth]]<br />[[Swap]]
+
|cat=[[List of functions#Unextendible_product_bases|Unextendible product bases]]
|upd=June 26, 2013
+
|upd=November 12, 2014
|v=1.00}}
+
|v=0.50}}
<tt>'''UPB'''</tt> is a [[List of functions|function]] that generates an [[unextendible product basis]] (UPB). The user may either request a specific UPB from the literature such as <tt>'Tiles'</tt> or <tt>'Pyramid'</tt><ref name="BDM99">C.H. Bennett, D.P. DiVincenzo, T. Mor, P.W. Shor, J.A. Smolin, and B.M. Terhal. Unextendible product bases and bound entanglement. ''Phys. Rev. Lett.'' 82, 5385&ndash;5388, 1999. E-print: [http://arxiv.org/abs/quant-ph/9808030 arXiv:quant-ph/9808030]</ref>, or they may request a minimal UPB of specified dimensions.
+
<tt>'''UPB'''</tt> is a [[List of functions|function]] that generates an unextendible product basis (UPB). The user may either request a specific UPB from the literature such as <tt>'Tiles'</tt> or <tt>'Pyramid'</tt><ref name="BDM99">C.H. Bennett, D.P. DiVincenzo, T. Mor, P.W. Shor, J.A. Smolin, and B.M. Terhal. Unextendible product bases and bound entanglement. ''Phys. Rev. Lett.'' 82, 5385&ndash;5388, 1999. E-print: [http://arxiv.org/abs/quant-ph/9808030 arXiv:quant-ph/9808030]</ref>, or they may request a minimal UPB of specified dimensions.
  
 
==Syntax==
 
==Syntax==
Line 38: Line 38:
 
===Generating the "Shifts" UPB===
 
===Generating the "Shifts" UPB===
 
The following code returns the "Shifts" UPB <ref name="BDM99"></ref>, which is a UPB of 4 states on $\mathbb{C}^2 \otimes \mathbb{C}^2 \otimes \mathbb{C}^2$:
 
The following code returns the "Shifts" UPB <ref name="BDM99"></ref>, which is a UPB of 4 states on $\mathbb{C}^2 \otimes \mathbb{C}^2 \otimes \mathbb{C}^2$:
<pre>
+
<syntaxhighlight>
 
>> v = UPB('Shifts')
 
>> v = UPB('Shifts')
  
Line 51: Line 51:
 
         0    0.5000  -0.5000    0.0000
 
         0    0.5000  -0.5000    0.0000
 
         0    0.5000    0.5000    0.5000
 
         0    0.5000    0.5000    0.5000
</pre>
+
</syntaxhighlight>
  
 
Alternatively, we can request that the local vectors on each copy of $\mathbb{C}^2$ are returned, rather than the total product vectors on $\mathbb{C}^2 \otimes \mathbb{C}^2 \otimes \mathbb{C}^2$:
 
Alternatively, we can request that the local vectors on each copy of $\mathbb{C}^2$ are returned, rather than the total product vectors on $\mathbb{C}^2 \otimes \mathbb{C}^2 \otimes \mathbb{C}^2$:
<pre>
+
<syntaxhighlight>
 
>> [u,v,w] = UPB('Shifts')
 
>> [u,v,w] = UPB('Shifts')
  
Line 73: Line 73:
 
     1.0000    0.7071  -0.7071    0.0000
 
     1.0000    0.7071  -0.7071    0.0000
 
         0    0.7071    0.7071    1.0000
 
         0    0.7071    0.7071    1.0000
</pre>
+
</syntaxhighlight>
  
 
===Generating [[bound entangled]] states===
 
===Generating [[bound entangled]] states===
 
As noted in <ref name="BDM99"></ref>, if <math>\big\{|v_i\rangle\big\}</math> is an unextendible product basis, then $I - \sum_i |v_i\rangle\langle v_i|$ is (up to scaling) a [[bound entangled]] state. The following code illustrates this fact in $\mathbb{C}^3 \otimes \mathbb{C}^5$ by first constructing a UPB in this space, then constructing the corresponding state, and then verifying that this state is bound entangled.
 
As noted in <ref name="BDM99"></ref>, if <math>\big\{|v_i\rangle\big\}</math> is an unextendible product basis, then $I - \sum_i |v_i\rangle\langle v_i|$ is (up to scaling) a [[bound entangled]] state. The following code illustrates this fact in $\mathbb{C}^3 \otimes \mathbb{C}^5$ by first constructing a UPB in this space, then constructing the corresponding state, and then verifying that this state is bound entangled.
<pre<noinclude></noinclude>>
+
<syntaxhighlight>
 
>> v = UPB([3,5]);
 
>> v = UPB([3,5]);
 
Generated a minimal 7-state UPB from:
 
Generated a minimal 7-state UPB from:
Line 89: Line 89:
 
   rho = rho/7; % we are now done constructing the bound entangled state
 
   rho = rho/7; % we are now done constructing the bound entangled state
  
>> [[IsSeparable|IsSeparable(rho,[3,5])]] % show that the state is indeed entangled
+
>> IsSeparable(rho,[3,5]) % show that the state is indeed entangled
 
Determined to be entangled by not having a 2-copy symmetric extension. Reference:
 
Determined to be entangled by not having a 2-copy symmetric extension. Reference:
 
A. C. Doherty, P. A. Parrilo, and F. M. Spedalieri. A complete family of separability criteria.
 
A. C. Doherty, P. A. Parrilo, and F. M. Spedalieri. A complete family of separability criteria.
Line 97: Line 97:
  
 
     0
 
     0
>> [[IsPPT|IsPPT(rho,2,[3,5])]] % verify that this state has positive partial transpose and is thus bound entangled
+
>> IsPPT(rho,2,[3,5]) % verify that this state has positive partial transpose and is thus bound entangled
  
 
ans =
 
ans =
  
 
     1
 
     1
</pre<noinclude></noinclude>>
+
</syntaxhighlight>
  
 
===Generating multipartite UPBs===
 
===Generating multipartite UPBs===
 
Many multipartite minimal UPBs can be constructed via this script. For example, the following code generates a minimal UPB (of 6 states) in <math>\mathbb{C}^2 \otimes \mathbb{C}^2 \otimes \mathbb{C}^3</math>:
 
Many multipartite minimal UPBs can be constructed via this script. For example, the following code generates a minimal UPB (of 6 states) in <math>\mathbb{C}^2 \otimes \mathbb{C}^2 \otimes \mathbb{C}^3</math>:
<pre>
+
<syntaxhighlight>
 
>> [u,v,w] = UPB([2,2,3])
 
>> [u,v,w] = UPB([2,2,3])
 
Generated a minimal 6-state UPB from:
 
Generated a minimal 6-state UPB from:
Line 129: Line 129:
 
         0        0  -0.8018    0.5774    0.3162    1.0000
 
         0        0  -0.8018    0.5774    0.3162    1.0000
 
         0    0.7071  -0.2673  -0.5774  -0.9487        0
 
         0    0.7071  -0.2673  -0.5774  -0.9487        0
</pre>
+
</syntaxhighlight>
  
 
However, the minimum size of UPBs is still unknown in many multipartite cases &ndash; an error is returned in these cases:
 
However, the minimum size of UPBs is still unknown in many multipartite cases &ndash; an error is returned in these cases:
<pre>
+
<syntaxhighlight>
 
>> [u,v,w,x] = UPB([2,2,3,7])
 
>> [u,v,w,x] = UPB([2,2,3,7])
 
??? Error using ==> UPB at 132
 
??? Error using ==> UPB at 132
 
No minimal UPB is currently known in the specified dimensions.
 
No minimal UPB is currently known in the specified dimensions.
</pre>
+
</syntaxhighlight>
 +
 
 +
{{SourceCode|name=UPB}}
  
 
==References==
 
==References==
 
<references />
 
<references />

Revision as of 18:10, 12 November 2014

UPB
Generates an unextendible product basis

Other toolboxes required none
Related functions IsUPB
MinUPBSize
UPBSepDistinguishable
Function category Unextendible product bases

UPB is a function that generates an unextendible product basis (UPB). The user may either request a specific UPB from the literature such as 'Tiles' or 'Pyramid'[1], or they may request a minimal UPB of specified dimensions.

Syntax

  • U = UPB(NAME)
  • U = UPB(NAME,OPT_PAR)
  • [U,V,W,...] = UPB(NAME,OPT_PAR)
  • U = UPB(DIM)
  • U = UPB(DIM,VERBOSE)
  • [U,V,W,...] = UPB(DIM,VERBOSE)

Argument descriptions

Input arguments

Important: Do not specify both NAME and DIM: just one or the other!

  • NAME: The name of a UPB that is found in the literature. Accepted values are:
    • 'GenShifts': A minimal UPB in $(\mathbb{C}^2)^{\otimes p}$ (only valid when p ≥ 3 is odd) constructed in [2]. Note that OPT_PAR must be the number of parties (i.e., the integer p) in this case.
    • 'Min4x4': A minimal UPB in $\mathbb{C}^4 \otimes \mathbb{C}^4$ constructed in [3].
    • 'Pyramid': A minimal UPB in $\mathbb{C}^3 \otimes \mathbb{C}^3$ constructed in [1].
    • 'QuadRes': A minimal UPB in $\mathbb{C}^d \otimes \mathbb{C}^d$ (only valid when 2d-1 is prime and d is odd) constructed in [2]. Note that you must set OPT_PAR equal to d (the local dimension) in this case.
    • 'Shifts': A minimal UPB in $\mathbb{C}^2 \otimes \mathbb{C}^2 \otimes \mathbb{C}^2$ introduced in [1].
    • 'SixParam': The six-parameter UPB in $\mathbb{C}^3 \otimes \mathbb{C}^3$ introduced in Section IV.A of [2]. Note that OPT_PAR must be a vector containing the six parameters in this case.
    • 'Tiles': A minimal UPB in $\mathbb{C}^3 \otimes \mathbb{C}^3$ constructed in [1].
  • DIM: A vector containing the local dimensions of the desired UPB. In all cases, the smallest known UPB of the desired dimensionality is returned. If no unextendible product basis is known for the specified dimensions, an error is produced.
  • VERBOSE (optional, default 1): A flag (either 1 or 0) indicating whether or not a reference to a journal article that contains the UPB (or a description of how to construct the UPB) returned by this script will be displayed.

Output arguments

If only one output argument is specified (e.g., U = UPB(DIM)) then U is a matrix whose columns are the product states in the desired UPB.

If multiple output arguments are specified (e.g., [U,V,W,...] = UPB(DIM)) then the unextendible product basis is obtained by tensoring the columns of U, V, W, ... together. That is, U, V, W, ... are the local vectors in the unextendible product basis.

Examples

Generating the "Shifts" UPB

The following code returns the "Shifts" UPB [1], which is a UPB of 4 states on $\mathbb{C}^2 \otimes \mathbb{C}^2 \otimes \mathbb{C}^2$:

>> v = UPB('Shifts')

v =

    1.0000   -0.0000   -0.0000   -0.0000
         0   -0.0000    0.0000   -0.5000
         0    0.0000   -0.5000   -0.0000
         0    0.0000    0.5000   -0.5000
         0   -0.5000   -0.0000    0.0000
         0   -0.5000    0.0000    0.5000
         0    0.5000   -0.5000    0.0000
         0    0.5000    0.5000    0.5000

Alternatively, we can request that the local vectors on each copy of $\mathbb{C}^2$ are returned, rather than the total product vectors on $\mathbb{C}^2 \otimes \mathbb{C}^2 \otimes \mathbb{C}^2$:

>> [u,v,w] = UPB('Shifts')

u =

    1.0000    0.0000    0.7071   -0.7071
         0    1.0000    0.7071    0.7071


v =

    1.0000   -0.7071    0.0000    0.7071
         0    0.7071    1.0000    0.7071


w =

    1.0000    0.7071   -0.7071    0.0000
         0    0.7071    0.7071    1.0000

Generating bound entangled states

As noted in [1], if \(\big\{|v_i\rangle\big\}\) is an unextendible product basis, then $I - \sum_i |v_i\rangle\langle v_i|$ is (up to scaling) a bound entangled state. The following code illustrates this fact in $\mathbb{C}^3 \otimes \mathbb{C}^5$ by first constructing a UPB in this space, then constructing the corresponding state, and then verifying that this state is bound entangled.

>> v = UPB([3,5]);
Generated a minimal 7-state UPB from:
N. Alon and L. Lovasz. Unextendible product bases. J. Combinatorial Theory, Ser. A, 95:169-179, 2001.
See also: http://www.njohnston.ca/2013/03/how-to-construct-minimal-upbs/

>> rho = eye(3*5);
>> for j = 1:7
       rho = rho - v(:,j)*v(:,j)';
   end
   rho = rho/7; % we are now done constructing the bound entangled state

>> IsSeparable(rho,[3,5]) % show that the state is indeed entangled
Determined to be entangled by not having a 2-copy symmetric extension. Reference:
A. C. Doherty, P. A. Parrilo, and F. M. Spedalieri. A complete family of separability criteria.
Phys. Rev. A, 69:022308, 2004.

ans =

     0
>> IsPPT(rho,2,[3,5]) % verify that this state has positive partial transpose and is thus bound entangled

ans =

     1

Generating multipartite UPBs

Many multipartite minimal UPBs can be constructed via this script. For example, the following code generates a minimal UPB (of 6 states) in \(\mathbb{C}^2 \otimes \mathbb{C}^2 \otimes \mathbb{C}^3\):

>> [u,v,w] = UPB([2,2,3])
Generated a minimal 6-state UPB from:
K. Feng. Unextendible product bases and 1-factorization of complete graphs.
Discrete Applied Mathematics, 154:942–949, 2006.

u =

    1.0000         0    1.0000    0.7071    0.7071    0.7071
         0    1.0000         0    0.7071   -0.7071    0.7071


v =

    1.0000    0.7071         0         0    0.7071    1.0000
         0    0.7071    1.0000    1.0000   -0.7071         0


w =

    1.0000    0.7071    0.5345    0.5774         0         0
         0         0   -0.8018    0.5774    0.3162    1.0000
         0    0.7071   -0.2673   -0.5774   -0.9487         0

However, the minimum size of UPBs is still unknown in many multipartite cases – an error is returned in these cases:

>> [u,v,w,x] = UPB([2,2,3,7])
??? Error using ==> UPB at 132
No minimal UPB is currently known in the specified dimensions.

Source code

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

References

  1. 1.0 1.1 1.2 1.3 1.4 1.5 C.H. Bennett, D.P. DiVincenzo, T. Mor, P.W. Shor, J.A. Smolin, and B.M. Terhal. Unextendible product bases and bound entanglement. Phys. Rev. Lett. 82, 5385–5388, 1999. E-print: arXiv:quant-ph/9808030
  2. 2.0 2.1 2.2 D.P. DiVincenzo, T. Mor, P.W. Shor, J.A. Smolin, and B.M. Terhal. Unextendible product bases, uncompletable product bases and bound entanglement. Commun. Math. Phys. 238, 379–410, 2003. E-print: arXiv:quant-ph/9908070
  3. T.B. Pedersen. Characteristics of unextendible product bases. Master's Thesis, Aarhus Universitet, Datalogisk Institut, 2002.