SkOperatorNorm

From QETLAB
Revision as of 21:00, 2 January 2013 by Nathaniel (talk | contribs) (Created page with "{{Function |name=SkOperatorNorm |desc=Computes the S(k)-norm of an operator |req=[http://cvxr.com/cvx/ cvx]<br />iden<br />IsPSD<br />kpNorm...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
SkOperatorNorm
Computes the S(k)-norm of an operator

Other toolboxes required cvx
iden
IsPSD
kpNorm
MaxEntangled
normalize_cols
opt_args
PartialMap
PartialTrace
PartialTranspose
PermuteSystems
Realignment
SchmidtDecomposition
SchmidtRank
SkVectorNorm
sporth
Swap
Related functions IsBlockPositive

SkOperatorNorm is a function that computes the S(k)-norm of an operator[1][2]: $$ \|X\|_{S(k)} := \sup_{|v\rangle , |w\rangle } \Big\{ \big| \langle w| X |v \rangle \big| : \big\||v \rangle\big\| = \big\||w \rangle\big\| = 1 \Big\} $$

Syntax

  • LB = SkOperatorNorm(X)
  • LB = SkOperatorNorm(X,K)
  • LB = SkOperatorNorm(X,K,DIM)
  • LB = SkOperatorNorm(X,K,DIM,ITS)
  • LB = SkOperatorNorm(X,K,DIM,ITS,POS_MAP)
  • [LB,~,UB] = SkOperatorNorm(X,K,DIM,ITS,POS_MAP)
  • [LB,LWIT,UB,UWIT] = SkOperatorNorm(X,K,DIM,ITS,POS_MAP)

Argument descriptions

Input arguments

  • X: A square matrix acting on bipartite space. Generally, X should be positive semidefinite – the bounds produced otherwise are quite poor.
  • K (optional, default 1): A positive integer.
  • DIM (optional, by default has both subsystems of equal dimension): A 1-by-2 vector containing the dimensions of the subsystems that X acts on.
  • ITS (optional, default 10): The number of iterations used in an algorithm that computes the lower bound LB. Higher values of ITS result in better lower bounds but slower computations. ITS should be set to 0 if the user is only interested in UB.
  • ITS (optional, default is the transpose map if K = 1 and the K-positive map $\Phi(X) = K{\rm Tr}(X)I - X$ if K > 1): A K-positive (but not completely positive) map used in the computation of the upper bound UB. Different K-positive maps lead to different upper bounds. Maps that are not K-positive will not result in error messages, but may result in nonsensical or incorrect calculations, so it is the user's responsibility to ensure that POS_MAP really is K-positive. PHI should be provided either as a Choi matrix, or as a cell with 2 columns whose entries are its Kraus operators (see the tutorial to learn how to deal with superoperators in QETLAB).

Output arguments

  • LB: A lower bound of the S(k)-operator norm of X.
  • LWIT: A witness that verifies that LB is indeed a lower bound of the S(k)-operator norm of X. More specifically, LWIT is a unit vector such that SchmidtRank(LWIT,DIM) <= K and LWIT'*X*LWIT = LB.
  • UB: An upper bound of the S(k)-operator norm of X.
  • UWIT: A witness that verifies that UB is indeed an upper bound of the S(k)-operator norm of X. More specifically, UWIT is a positive semidefinite operator satisfying $\big\| X + (id \otimes \Phi^\dagger)(Y) \big\| = UB$, where $\Phi^\dagger$ is the dual map (in the sense of the Hilbert–Schmidt inner product) of POS_MAP.

To see why this implies that $\|X\|_{S(k)} \leq UB$, see Section 5.2.1 of [3].

Examples

Exact computation in small dimensions

When X lives in $M_2 \otimes M_2$, $M_2 \otimes M_3$, or $M_3 \otimes M_2$ (i.e., when prod(DIM) <= 6), the script is guaranteed to compute the exact value of $\|X\|_{S(1)}$:

>> X = [5 1 1 1;1 1 1 1;1 1 1 1;1 1 1 1]/8;
>> SkOperatorNorm(X)

ans =

    0.7286

The fact that this computation is correct is illustrated in Example 5.2.11 of [3], where it was shown that the S(1)-norm is exactly $(3 + 2\sqrt(2))/8 \approx 0.7286$. However, if we were still unconvinced, we could request witnesses that verify that 0.7286 is both a lower bound and an upper bound of the S(1)-norm:

>> [lb,lwit,ub,uwit] = SkOperatorNorm(X)

lb =

    0.7286


lwit =

   0.8536 + 0.0000i
   0.3536 - 0.0000i
   0.3536 + 0.0000i
   0.1464          


ub =

    0.7286


uwit =

   0.0516            -0.0624 - 0.0000i  -0.0624 - 0.0000i   0.0004 + 0.0000i
  -0.0624 + 0.0000i   0.3013            -0.1246 + 0.0000i  -0.0631 - 0.0000i
  -0.0624 + 0.0000i  -0.1246 - 0.0000i   0.3013            -0.0631 - 0.0000i
   0.0004 - 0.0000i  -0.0631 + 0.0000i  -0.0631 + 0.0000i   0.3026          

>> lwit'*X*lwit

ans =

   0.7286 + 0.0000i

>> norm(X + PartialTranspose(uwit,2))

ans =

    0.7286

Only interested in the lower and upper bounds; not the witnesses

If all you want are the lower and upper bounds, but don't require the witnesses LWIT and UWIT, you can use code like the following. Note that in this case, $\|X\|_{S(1)}$ is computed exactly, as the lower and upper bound are equal. However, all we know about $\|X\|_{S(2)}$ is that it lies in the interval [0.3522, 0.3546]. It is unsurprising that $\|X\|_{S(3)}$ is the usual operator norm of X, since this is always the case when K >= min(DIM).

>> X = RandomDensityMatrix(9);
>> [lb,~,ub] = SkOperatorNorm(X,1)

lb =

    0.2955


ub =

    0.2955

>> [lb,~,ub] = SkOperatorNorm(X,2)

lb =

    0.3522


ub =

    0.3546

>> [lb,~,ub] = SkOperatorNorm(X,3)

lb =

    0.3770


ub =

    0.3770

>> norm(X)

ans =

    0.3770

References

  1. N. Johnston and D. W. Kribs. A Family of Norms With Applications in Quantum Information Theory. J. Math. Phys., 51:082202, 2010. E-print: arXiv:0909.3907 [quant-ph]
  2. N. Johnston and D. W. Kribs. A Family of Norms With Applications in Quantum Information Theory II. Quantum Information & Computation, 11(1 & 2):104–123, 2011. E-print: arXiv:1006.0898 [quant-ph]
  3. 3.0 3.1 N. Johnston. Norms and Cones in the Theory of Quantum Entanglement. PhD thesis, University of Guelph, 2012. E-print: arXiv:1207.1479 [quant-ph]