# Entanglement

# Benchmarking Separability-Entanglement Classifier

## Datasets

The dataset of our paper is available here. Both qubit and qutrit cases are included. You may test it, or even try to further improve our result with any other machine learning method you want.

## Program

We provide program in MATLAB for you to generate data and test for youself. You may download it here. Explanations are available below.

### List of Functions

#### RandomState

**RandomState** is a function that generates a random density matrix.

##### Syntax

`state = RandomState(dim, lambda)`

##### Argument Descriptions

`dim`

: the number of rows (columns) the density matrix will have.`lambda`

: The parameter . When generating an density matrix, we first pick on the simplex under the Dirichlet distribution where is the normalization constant.

#### DMtoVector

**DMtoVector** is a function that transform a density matrix to a generalized bloch vector.

##### Syntax

`vector = DMToVector(rho)`

##### Argument Descriptions

`rho`

: the density matrix that we wish to transform.

#### Alpha

Given a point and a set of extreme points of a convex hull such that , **Alpha** computes the maximum such that .

##### Syntax

`alpha = Alpha(p, extreme)`

##### Argument Descriptions

`p`

: the point , which is a -by- matrix.`extreme`

: the points , which is an matrix.