## 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 M_{m} ⊗ M_{n} 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 M_{m} ⊗ M_{n} 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 M_{3} ⊗ M_{4} 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.