FilterNormalForm
| FilterNormalForm | |
| Computes the filter normal form of an operator | |
| Other toolboxes required | none |
|---|---|
| Related functions | IsSeparable OperatorSchmidtDecomposition OperatorSinkhorn |
| Function category | Entanglement and separability |
FilterNormalForm is a function that computes the filter normal form of a bipartite operator RHO (see Section IV.D of [1] for an introductory discussion of the filter normal form). Note that if RHO is not full rank, it may not have a filter normal form and hence an error may be produced by this function.
Syntax
- XI = FilterNormalForm(RHO)
- [XI,GA,GB] = FilterNormalForm(RHO)
- [XI,GA,GB,FA,FB] = FilterNormalForm(RHO,DIM)
- [XI,GA,GB,FA,FB] = FilterNormalForm(RHO,DIM,TOL)
Argument descriptions
Input arguments
- RHO: An positive semidefinite operator (typically a density matrix) that acts on a bipartite Hilbert space. This operator will have its filter normal form computed.
- DIM (optional, default has RHO acting on two subsystems of equal size): A vector containing the dimensions of the two subsystems on which RHO acts.
- TOL (optional, default sqrt(eps)): The numerical tolerance used when computing the filter normal form.
Output arguments
- XI: A vector containing the coefficients of the filter normal form of RHO, as defined in [1].
- GA,GB (optional): Cells of mutually orthonormal matrices in the filter normal form of RHO.
- FA,FB (optional): The local filtering operations used to convert RHO into its filter normal form.
To be explicit, the relationship between RHO and the output arguments is that kron(FA,FB)*RHO*kron(FA,FB)' == (eye(length(RHO)) + TensorSum(XI,GA,GB))/length(RHO). In usual math notation, this means that
\((F_A \otimes F_B)\rho(F_A \otimes F_B)^\dagger = \frac{1}{d_A d_B}\big(I + \displaystyle\sum_{k} \xi_k G_k^A \otimes G_k^B\big).\)
Examples
Finding and verifying the filter normal form
The following code computes the filter normal form of a random density matrix. The fact that FA and FB implement a local filter to this form is then verified (within reasonable numerical error).
>> rho = RandomDensityMatrix(9);
>> [xi,GA,GB,FA,FB] = FilterNormalForm(rho);
>> norm((eye(9) + TensorSum(xi,GA,GB))/9 - kron(FA,FB)*rho*kron(FA,FB)')
ans =
6.8088e-016Using the filter normal form to detect entanglement
As noted in [1], the coefficients XI of the filter normal form provide useful information about the entanglement of RHO. For example, if both subsystems have the same dimension D then we can conclude that RHO is entangled if sum(XI) > D^2 - D. Thus the following code generates a random two-qutrit density matrix and then determines that it is entangled:
>> d = 3;
>> rho = RandomDensityMatrix(d^2);
>> xi = FilterNormalForm(rho);
>> [sum(xi), d^2-d]
ans =
6.3611 6.0000Low-rank states may not have a filter normal form
It is known[2] that all full-rank density matrices have a filter normal form. However, low-rank density matrices may not have a filter normal form (although they usually do) – an error will be produced by this script when low-rank problems occur. The following code generates a random rank-2 density matrix in \(M_3 \otimes M_3\) just fine, but is unable to compute the filter normal form of a low-rank state that is constructed specifically so that it does not have a filter normal form:
>> xi = FilterNormalForm(RandomDensityMatrix(9,0,2)); % no errors will come from this
>> rho = kron(diag([1/2,1/2,0]),eye(3)/3);
>> xi = FilterNormalForm(rho);
Error using FilterNormalForm (line 68)
The state RHO can not be transformed into a filter normal form. This is often the case if RHO is not of full rank.Source code
Click here to view this function's source code on github.
References
- ↑ 1.0 1.1 1.2 O. Gittsovich, O. Gühne, P. Hyllus, and J. Eisert. Unifying several separability conditions using the covariance matrix criterion. Phys. Rev. A, 78:052319, 2008. E-print: arXiv:0803.0757 [quant-ph]
- ↑ J. M. Leinaas, J. Myrheim, and E. Ovrum. Geometrical aspects of entanglement. Phys. Rev. A, 74:012313, 2006. E-print: arXiv:quant-ph/0605079