FilterNormalForm: Difference between revisions

From QETLAB
Jump to navigation Jump to search
Updated to v1.02 (bug fix when dimensions are unequal)
Updated using GeSHi
Line 32: Line 32:
===Finding and verifying the filter normal form===
===Finding and verifying the filter normal form===
The following code computes the filter normal form of a random density matrix. The fact that <tt>FA</tt> and <tt>FB</tt> implement a local filter to this form is then verified (within reasonable numerical error).
The following code computes the filter normal form of a random density matrix. The fact that <tt>FA</tt> and <tt>FB</tt> implement a local filter to this form is then verified (within reasonable numerical error).
<pre<noinclude></noinclude>>
<syntaxhighlight>
>> rho = [[RandomDensityMatrix|RandomDensityMatrix(9)]];
>> rho = RandomDensityMatrix(9);
>> [xi,GA,GB,FA,FB] = FilterNormalForm(rho);
>> [xi,GA,GB,FA,FB] = FilterNormalForm(rho);
>> norm((eye(9) + [[TensorSum|TensorSum(xi,GA,GB)]])/9 - kron(FA,FB)*rho*kron(FA,FB)')
>> norm((eye(9) + TensorSum(xi,GA,GB))/9 - kron(FA,FB)*rho*kron(FA,FB)')


ans =
ans =


   1.8807e-008
   1.8807e-008
</pre<noinclude></noinclude>>
</syntaxhighlight>


===Using the filter normal form to detect entanglement===
===Using the filter normal form to detect entanglement===
As noted in <ref name="GGHE08"></ref>, the coefficients <tt>XI</tt> of the filter normal form provide useful information about the entanglement of <tt>RHO</tt>. For example, if both subsystems have the same dimension <tt>D</tt> then we can conclude that <tt>RHO</tt> is entangled if <tt>sum(XI) > D^2 - D</tt>. Thus the following code generates a random two-qutrit density matrix and then determines that it is entangled:
As noted in <ref name="GGHE08"></ref>, the coefficients <tt>XI</tt> of the filter normal form provide useful information about the entanglement of <tt>RHO</tt>. For example, if both subsystems have the same dimension <tt>D</tt> then we can conclude that <tt>RHO</tt> is entangled if <tt>sum(XI) > D^2 - D</tt>. Thus the following code generates a random two-qutrit density matrix and then determines that it is entangled:
<pre<noinclude></noinclude>>
<syntaxhighlight>
>> d = 3;
>> d = 3;
>> rho = [[RandomDensityMatrix|RandomDensityMatrix(d^2)]];
>> rho = RandomDensityMatrix(d^2);
>> xi = FilterNormalForm(rho);
>> xi = FilterNormalForm(rho);
>> [sum(xi), d^2-d]
>> [sum(xi), d^2-d]
Line 53: Line 53:


     6.3611    6.0000
     6.3611    6.0000
</pre<noinclude></noinclude>>
</syntaxhighlight>


===Low-rank states may not have a filter normal form===
===Low-rank states may not have a filter normal form===
It is known<ref>J. M. Leinaas, J. Myrheim, and E. Ovrum. Geometrical aspects of entanglement. <em>Phys. Rev. A</em>, 74:012313, 2006. E-print: [http://arxiv.org/abs/quant-ph/0605079 arXiv:quant-ph/0605079]</ref> that all full-rank density matrices have a filter normal form. However, low-rank density matrices may not have a filter normal form &ndash; an error will be produced by this script in these cases. The following code generates a random rank-2 density matrix in <math>M_4 \otimes M_4</math> and then tries to compute its filter normal form.
It is known<ref>J. M. Leinaas, J. Myrheim, and E. Ovrum. Geometrical aspects of entanglement. <em>Phys. Rev. A</em>, 74:012313, 2006. E-print: [http://arxiv.org/abs/quant-ph/0605079 arXiv:quant-ph/0605079]</ref> that all full-rank density matrices have a filter normal form. However, low-rank density matrices may not have a filter normal form &ndash; an error will be produced by this script in these cases. The following code generates a random rank-2 density matrix in <math>M_4 \otimes M_4</math> and then tries to compute its filter normal form.
<pre<noinclude></noinclude>>
<syntaxhighlight>
>> rho = [[RandomDensityMatrix|RandomDensityMatrix(16,0,2)]];
>> rho = RandomDensityMatrix(16,0,2);
>> xi = FilterNormalForm(rho);
>> xi = FilterNormalForm(rho);
??? Error using ==> FilterNormalForm at 153
Error using ==> FilterNormalForm at 153
The state RHO can not be transformed into a filter normal form. This is often the
The state RHO can not be transformed into a filter normal form. This is often the
case if RHO is not of full rank.
case if RHO is not of full rank.
</pre<noinclude></noinclude>>
</syntaxhighlight>


==References==
==References==
<references />
<references />
{{SourceCode|name=FilterNormalForm}}

Revision as of 20:39, 20 September 2014

FilterNormalForm
Computes the filter normal form of an operator

Other toolboxes required OperatorSchmidtDecomposition
opt_args
PartialTrace
PermuteSystems
SchmidtDecomposition
Swap
Related functions IsSeparable
OperatorSchmidtDecomposition

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

<math>(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).</math>

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 =

  1.8807e-008

Using 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.0000

Low-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 – an error will be produced by this script in these cases. The following code generates a random rank-2 density matrix in <math>M_4 \otimes M_4</math> and then tries to compute its filter normal form.

>> rho = RandomDensityMatrix(16,0,2);
>> xi = FilterNormalForm(rho);
Error using ==> FilterNormalForm at 153
The state RHO can not be transformed into a filter normal form. This is often the
case if RHO is not of full rank.

References

  1. ↑ 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]
  2. ↑ J. M. Leinaas, J. Myrheim, and E. Ovrum. Geometrical aspects of entanglement. Phys. Rev. A, 74:012313, 2006. E-print: arXiv:quant-ph/0605079

Source code

Click here to view this function's source code on github.