Code for constructing a state whose partial transpose has the maximum number of negative eigenvalues
This page contains MATLAB code that can be used to construct a density matrix in Mm ⊗ Mn whose partial transpose has (m-1)(n-1) negative eigenvalues, which is maximal.
Download and Install
Step 1: Download and install CVX. You do not need to know how to use CVX – you just need to install it.
Step 2: Download the PTNegEvals.zip file (file size: 5 kB).
Step 3: Unzip the file.
Step 4: Place all four of the unzipped files in your MATLAB scripts directory.
Usage
The function PTNegEvals creates a density matrix in Mm ⊗ Mn such that its partial transpose has (m-1)(n-1) negative eigenvalues, using the method of [1]. The function takes two arguments: m and n.
Example
The following code produces a density matrix in M3 ⊗ M4 whose partial transpose has 6 negative eigenvalues:
>> rho = PTNegEvals(3,4);
We can then verify that rho is positive semidefinite and its partial transpose has 6 negative eigenvalues by using the PartialTranspose function (which is included in the PTNegEvals.zip file):
>> eig(rho) ans = 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0810 0.0810 0.1000 0.1000 0.3191 0.3191 >> eig(PartialTranspose(rho,2,[3,4])) ans = -0.0219 -0.0219 -0.0164 -0.0164 -0.0140 -0.0140 0.1155 0.1155 0.1526 0.1526 0.2842 0.2842
References
- N. Johnston. Non-positive partial transpose subspaces can be as large as any entangled subspace. Physical Review A, 87:064302, 2013.