Main Page

From QETLAB
Revision as of 21:08, 7 November 2014 by Nathaniel (talk | contribs)
Jump to navigation Jump to search

QETLAB: A MATLAB Toolbox for Quantum Entanglement

Download.gif Download and Install QETLAB
Step 1: Download QETLAB (current version: 0.50, last updated: November 6, 2014)
Step 2: Unzip the file in your MATLAB scripts directory
Step 3: Download and install CVX
If you need more detailed installation instructions, click here.

QETLAB (Quantum Entanglement Theory LABoratory) is a MATLAB toolbox for exploring quantum entanglement theory. While there are many quantum information theory toolboxes that allow the user to perform basic operations such as the partial transposition, new tests are constantly discovered. The goal of QETLAB is to remain up-to-date and contain an ever-growing catalogue of separability criteria, positive maps, and related functions of interest. Furthermore, QETLAB is designed to work well both with full matrices and with large sparse matrices, and makes use of many advanced techniques based on semidefinite programming.

Pure state entanglement and the Schmidt decomposition

I will fill this in shortly.

Mixed state entanglement: detecting bound entanglement

The heart of QETLAB is a suite of functions that make working with quantum entanglement quick and easy. To get a feel for what types of functions QETLAB provides, let's start by creating a bound entangled state and then detecting its entanglement.

One well-known way to create bound entangled states is via unextendible product bases (UPBs)[1][2]. Let's first generate the "Tiles" UPB in $\mathbb{C}^3 \otimes \mathbb{C}^3$ and construct a bound entangled state from it:

>> u = UPB('Tiles') % generate the "Tiles" unextendible product basis

u =

    0.7071         0         0         0    0.3333
   -0.7071         0         0         0    0.3333
         0    0.7071         0         0    0.3333
         0         0         0    0.7071    0.3333
         0         0         0         0    0.3333
         0   -0.7071         0         0    0.3333
         0         0         0   -0.7071    0.3333
         0         0    0.7071         0    0.3333
         0         0   -0.7071         0    0.3333

>> rho = eye(9) - u*u'; % rho is the projection onto the orthogonal complement of the UPB vectors
>> rho = rho/trace(rho); % scale rho to have trace 1

Now rho is a bound entangled state. We can verify this in QETLAB as follows:

>> IsPPT(rho) % this will show that rho has positive partial transpose

ans =

     1

>> IsSeparable(rho) % this will show that rho is entangled

Determined to be entangled via the realignment criterion. Reference:
K. Chen and L.-A. Wu. A matrix realignment method for recognizing entanglement. Quantum Inf. Comput., 3:193-202, 2003.

ans =

     0

QETLAB can also carry out many related functions, such as finding entanglement witnesses that detect entanglement in a given state, determining whether or not a given operator is an entanglement witness, and deciding whether or not a given set of vectors form an unextendible product basis. Furthermore, there are numerous examples scattered throughout the documentation that make learning how to carry out these operations a breeze.

References

  1. 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. 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