state_props.is_npt

Checks if the quantum state has NPT (negative partial transpose) criterion.

Functions

is_npt(mat[, sys, dim, tol])

Determine whether or not a matrix has negative partial transpose [1].

Module Contents

state_props.is_npt.is_npt(mat, sys=2, dim=None, tol=None)

Determine whether or not a matrix has negative partial transpose [1].

Yields either True or False, indicating that mat does or does not have negative partial transpose (within numerical error). The variable mat is assumed to act on bipartite space. [2]

A state has negative partial transpose if it does not have positive partial transpose.

Examples

To check if a matrix has negative partial transpose

import numpy as np
from toqito.state_props import is_npt
from toqito.states import bell
is_npt(bell(2) @ bell(2).conj().T, 2)
True

References

Parameters:
  • mat (numpy.ndarray) – A square matrix.

  • sys (int) – Scalar or vector indicating which subsystems the transpose should be applied on. Default value is 2.

  • dim (int | list[int]) – The dimension is a vector containing the dimensions of the subsystems on which mat acts.

  • tol (float) – Tolerance with which to check whether mat is PPT.

Returns:

Returns True if mat is NPT and False if not.

Return type:

bool