Difference between revisions of "SymmetricExtension"
m |
m (typo) |
||
(6 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
{{Function | {{Function | ||
|name=SymmetricExtension | |name=SymmetricExtension | ||
− | |desc=Determines whether or not an operator has a | + | |desc=Determines whether or not an operator has a symmetric extension |
− | |req=[http://cvxr.com/cvx/ cvx] | + | |req=[http://cvxr.com/cvx/ cvx] |
− | | | + | |rel=[[IsPPT]]<br />[[IsSeparable]]<br />[[SymmetricInnerExtension]]<br />[[SymmetricProjection]] |
− | |upd= | + | |cat=[[List of functions#Entanglement_and_separability|Entanglement and separability]] |
− | |v= | + | |upd=February 21, 2014 |
− | <tt>'''SymmetricExtension'''</tt> is a [[List of functions|function]] that determines whether or not a given | + | |v=0.50}} |
+ | <tt>'''SymmetricExtension'''</tt> is a [[List of functions|function]] that determines whether or not a given positive semidefinite operator has a symmetric extension. This function is extremely useful for showing that quantum states are entangled (see the [[#Examples|Examples]] section). Various types of symmetric extensions (such as Bosonic and/or PPT extensions) can be looked for by specifying optional arguments in the function. | ||
==Syntax== | ==Syntax== | ||
Line 22: | Line 23: | ||
* <tt>K</tt> (optional, default 2): The number of copies of the second subsystem in the desired symmetric extension. | * <tt>K</tt> (optional, default 2): The number of copies of the second subsystem in the desired symmetric extension. | ||
* <tt>DIM</tt> (optional, by default has both subsystems of equal dimension): A 1-by-2 vector containing the dimensions of the two subsystems that <tt>X</tt> acts on. | * <tt>DIM</tt> (optional, by default has both subsystems of equal dimension): A 1-by-2 vector containing the dimensions of the two subsystems that <tt>X</tt> acts on. | ||
− | * <tt>PPT</tt> (optional, default | + | * <tt>PPT</tt> (optional, default 0): A flag (either 1 or 0) that indicates whether or not the desired symmetric extension must have positive partial transpose. |
− | * <tt>BOS</tt> (optional, default | + | * <tt>BOS</tt> (optional, default 0): A flag (either 1 or 0) that indicates whether or not the desired symmetric extension must be Bosonic (i.e., have its range contained within the symmetric subspace). |
* <tt>TOL</tt> (optional, default <tt>eps^(1/4)</tt>): The numerical tolerance used throughout this script. It is recommended that this is left at the default value unless numerical problems arise and the script has difficulty determining whether or not <tt>X</tt> has a symmetric extension. | * <tt>TOL</tt> (optional, default <tt>eps^(1/4)</tt>): The numerical tolerance used throughout this script. It is recommended that this is left at the default value unless numerical problems arise and the script has difficulty determining whether or not <tt>X</tt> has a symmetric extension. | ||
===Output arguments=== | ===Output arguments=== | ||
* <tt>EX</tt>: A flag (either 1 or 0) indicating that <tt>X</tt> does or does not have a symmetric extension of the desired type. | * <tt>EX</tt>: A flag (either 1 or 0) indicating that <tt>X</tt> does or does not have a symmetric extension of the desired type. | ||
− | * <tt>WIT</tt> (optional): A witness that verifies that the answer provided by <tt>EX</tt> is correct. If <tt>EX = 1</tt> (i.e., <tt>X</tt> has a symmetric extension) then <tt>WIT</tt> is such a symmetric extension. If <tt>EX = 0</tt> (i.e., no symmetric extension exists) then WIT is an | + | * <tt>WIT</tt> (optional): A witness that verifies that the answer provided by <tt>EX</tt> is correct. If <tt>EX = 1</tt> (i.e., <tt>X</tt> has a symmetric extension) then <tt>WIT</tt> is such a symmetric extension. If <tt>EX = 0</tt> (i.e., no symmetric extension exists) then WIT is an entanglement witness with <tt>trace(WIT*X) = -1</tt> but <tt>trace(WIT*Y) >= 0</tt> for all symmetrically extendable <tt>Y</tt>. |
==Examples== | ==Examples== | ||
− | + | ===2-qubit symmetric extension=== | |
+ | It is known<ref>J. Chen, Z. Ji, D. Kribs, N. Lütkenhaus, and B. Zeng. ''Symmetric extension of two-qubit states''. E-print: [http://arxiv.org/abs/1310.3530 arXiv:1310.3530] [quant-ph]</ref> that a 2-qubit state $\rho_{AB}$ has a (not necessarily PPT) symmetric extension if and only if ${\rm Tr}(\rho_B^2) \geq {\rm Tr}(\rho_{AB}^2) - 4\sqrt{\det(\rho_{AB})}$. The following code verifies that one such state does indeed have a symmetric extension. | ||
+ | <syntaxhighlight> | ||
+ | >> rho = [1 0 0 -1;0 1 1/2 0;0 1/2 1 0;-1 0 0 1]; | ||
+ | >> [trace(PartialTrace(rho)^2), trace(rho^2) - 4*sqrt(det(rho))] % if the first number is >= the second number, rho has a symmetric extension | ||
+ | |||
+ | ans = | ||
+ | |||
+ | 8.0000 6.5000 | ||
+ | |||
+ | >> SymmetricExtension(rho) % verify that rho has a symmetric extension | ||
+ | |||
+ | ans = | ||
+ | |||
+ | 1 | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | ==Notes== | ||
+ | If your goal is to detect entanglement in an operator, then it is always in your best interest to set the optional arguments <tt>PPT</tt> and <tt>BOS</tt> to be <tt>1</tt>. Setting <tt>BOS = 1</tt> increases the effectiveness of the entanglement test without any computational overhead at all. Setting <tt>PPT = 1</tt> slows down the computation quite a bit, but increases the effectiveness as an entanglement test ''considerably''. | ||
+ | |||
+ | {{SourceCode|name=SymmetricExtension}} | ||
+ | |||
+ | ==References== | ||
+ | <references /> |
Revision as of 11:57, 11 May 2016
SymmetricExtension | |
Determines whether or not an operator has a symmetric extension | |
Other toolboxes required | cvx |
---|---|
Related functions | IsPPT IsSeparable SymmetricInnerExtension SymmetricProjection |
Function category | Entanglement and separability |
SymmetricExtension is a function that determines whether or not a given positive semidefinite operator has a symmetric extension. This function is extremely useful for showing that quantum states are entangled (see the Examples section). Various types of symmetric extensions (such as Bosonic and/or PPT extensions) can be looked for by specifying optional arguments in the function.
Syntax
- EX = SymmetricExtension(X)
- EX = SymmetricExtension(X,K)
- EX = SymmetricExtension(X,K,DIM)
- EX = SymmetricExtension(X,K,DIM,PPT)
- EX = SymmetricExtension(X,K,DIM,PPT,BOS)
- EX = SymmetricExtension(X,K,DIM,PPT,BOS,TOL)
- [EX,WIT] = SymmetricExtension(X,K,DIM,PPT,BOS,TOL)
Argument descriptions
Input arguments
- X: A positive semidefinite operator.
- K (optional, default 2): The number of copies of the second subsystem in the desired symmetric extension.
- DIM (optional, by default has both subsystems of equal dimension): A 1-by-2 vector containing the dimensions of the two subsystems that X acts on.
- PPT (optional, default 0): A flag (either 1 or 0) that indicates whether or not the desired symmetric extension must have positive partial transpose.
- BOS (optional, default 0): A flag (either 1 or 0) that indicates whether or not the desired symmetric extension must be Bosonic (i.e., have its range contained within the symmetric subspace).
- TOL (optional, default eps^(1/4)): The numerical tolerance used throughout this script. It is recommended that this is left at the default value unless numerical problems arise and the script has difficulty determining whether or not X has a symmetric extension.
Output arguments
- EX: A flag (either 1 or 0) indicating that X does or does not have a symmetric extension of the desired type.
- WIT (optional): A witness that verifies that the answer provided by EX is correct. If EX = 1 (i.e., X has a symmetric extension) then WIT is such a symmetric extension. If EX = 0 (i.e., no symmetric extension exists) then WIT is an entanglement witness with trace(WIT*X) = -1 but trace(WIT*Y) >= 0 for all symmetrically extendable Y.
Examples
2-qubit symmetric extension
It is known[1] that a 2-qubit state $\rho_{AB}$ has a (not necessarily PPT) symmetric extension if and only if ${\rm Tr}(\rho_B^2) \geq {\rm Tr}(\rho_{AB}^2) - 4\sqrt{\det(\rho_{AB})}$. The following code verifies that one such state does indeed have a symmetric extension.
>> rho = [1 0 0 -1;0 1 1/2 0;0 1/2 1 0;-1 0 0 1];
>> [trace(PartialTrace(rho)^2), trace(rho^2) - 4*sqrt(det(rho))] % if the first number is >= the second number, rho has a symmetric extension
ans =
8.0000 6.5000
>> SymmetricExtension(rho) % verify that rho has a symmetric extension
ans =
1
Notes
If your goal is to detect entanglement in an operator, then it is always in your best interest to set the optional arguments PPT and BOS to be 1. Setting BOS = 1 increases the effectiveness of the entanglement test without any computational overhead at all. Setting PPT = 1 slows down the computation quite a bit, but increases the effectiveness as an entanglement test considerably.
Source code
Click here to view this function's source code on github.
References
- ↑ J. Chen, Z. Ji, D. Kribs, N. Lütkenhaus, and B. Zeng. Symmetric extension of two-qubit states. E-print: arXiv:1310.3530 [quant-ph]