CBNorm

 Other toolboxes required CBNorm Computes the completely bounded norm of a superoperator CVX DiamondNormInducedSchattenNorm Norms yes (convex)

CBNorm is a function that computes the completely bounded (CB) norm $\|\Phi\|_{cb}$ of a superoperator $\Phi$.

Syntax

• CB = CBNorm(PHI)
• CB = CBNorm(PHI,DIM)

Argument descriptions

• PHI: A superoperator. Should be provided as either a Choi matrix, or as a cell with either 1 or 2 columns (see the tutorial page for more details about specifying superoperators within QETLAB).
• DIM (optional, default has input and output spaces of equal dimension): A 1-by-2 vector containing the input and output dimensions of PHI, in that order (equivalently, these are the dimensions of the first and second subsystems of the Choi matrix PHI, in that order). If the input or output space is not square, then DIM's first row should contain the input and output row dimensions, and its second row should contain its input and output column dimensions. DIM is required if and only if PHI has unequal input and output dimensions and is provided as a Choi matrix.

Examples

Relationship with the diamond norm

The CB norm of a superoperator $\Phi$ is equal to the diamond norm of the dual map $\Phi^\dagger$:

>> Phi = {[1 2;3 4],[0 1;1 0] ; [0 1;2 0],[1 1;1 1] ; [1 1;-1 3],[1 4;0 0]};
>> CBNorm(Phi)

ans =

19.5928

>> DiamondNorm(DualMap(Phi))

ans =

19.5928

Can be used in CVX

Just like the DiamondNorm function, CBNorm is a convex function that can be used within CVX optimization problems. See the example on the DiamondNorm documentation page.

Source code

Click on "expand" to the right to view the MATLAB source code for this function.

1. %%  CBNORM    Computes the completely bounded norm of a superoperator
2. %   This function has one required input argument:
3. %     PHI: a superoperator
4. %
5. %   CB = CBNorm(PHI) is the completely bounded (CB) norm of the
6. %   superoperator PHI. PHI should be specified as either a cell with one or
7. %   two columns of Kraus operators, or as a Choi matrix (see online QETLAB
8. %   tutorial for details about specifying superoperators). If PHI is
9. %   provided as a Choi matrix with unequal input and output dimensions, a
10. %   second argument specifying the dimensions should also be provided (see
11. %   below).
12. %
13. %   This function has one optional input argument:
14. %     DIM (default has both subsystems of equal dimension)
15. %
16. %   CB = CBNorm(PHI,DIM) is the CB norm of PHI, as above, where DIM is a
17. %   1-by-2 vector containing the input and output dimensions of PHI, in
18. %   that order (equivalently, these are the dimensions of the first and
19. %   second subsystems of the Choi matrix PHI, in that order).
20. %
21. %   URL: http://www.qetlab.com/CBNorm
22. 
23. %   requires: ApplyMap.m, ComplementaryMap.m, ChoiMatrix.m, cvx
24. %             (http://cvxr.com/cvx/), DiamondNorm.m, DualMap.m, iden.m,
25. %             IsCP.m, IsHermPreserving.m, IsPSD.m, KrausOperators.m,
26. %             MaxEntangled.m, opt_args.m, PermuteSystems.m, Swap.m
27. %
28. %   author: Nathaniel Johnston (nathaniel@njohnston.ca), based on an
29. %           algorithm by John Watrous
30. %   package: QETLAB
31. %   last updated: November 21, 2014
32. 
33. function cb = CBNorm(Phi,varargin)
34. 
35. if(~iscell(Phi) && ~isa(Phi,'cvx'))
36.     Phi = KrausOperators(Phi,varargin{:});
37. end
38. cb = DiamondNorm(DualMap(Phi));