Difference between revisions of "DiamondNorm"
Jump to navigation
Jump to search
m |
|||
| Line 2: | Line 2: | ||
|name=DiamondNorm | |name=DiamondNorm | ||
|desc=Computes the [[diamond norm]] of a superoperator | |desc=Computes the [[diamond norm]] of a superoperator | ||
| + | |req=[http://cvxr.com/cvx/ cvx] | ||
|rel=[[CBNorm]] | |rel=[[CBNorm]] | ||
| + | |cat=[[List of functions#Norms|Norms]] | ||
|upd=January 22, 2013 | |upd=January 22, 2013 | ||
| − | |v= | + | |v=0.50}} |
<tt>'''DiamondNorm'''</tt> is a [[List of functions|function]] that computes the [[diamond norm]] $\|\Phi\|_\diamond$ of a superoperator $\Phi$. | <tt>'''DiamondNorm'''</tt> is a [[List of functions|function]] that computes the [[diamond norm]] $\|\Phi\|_\diamond$ of a superoperator $\Phi$. | ||
| Line 18: | Line 20: | ||
===A completely positive map=== | ===A completely positive map=== | ||
If $\Phi$ is completely positive then $\|\Phi\|_{\diamond} = \|\Phi^\dagger(I)\|$, where $I$ is the identity matrix, $\Phi^\dagger$ is the [[dual map]] of $\Phi$, and $\|\cdot\|$ is the usual operator norm, which we can verify in a special case via the following code: | If $\Phi$ is completely positive then $\|\Phi\|_{\diamond} = \|\Phi^\dagger(I)\|$, where $I$ is the identity matrix, $\Phi^\dagger$ is the [[dual map]] of $\Phi$, and $\|\cdot\|$ is the usual operator norm, which we can verify in a special case via the following code: | ||
| − | < | + | <syntaxhighlight> |
>> Phi = {[1 2;3 4] ; [0 1;2 0] ; [1 1;-1 3]}; | >> Phi = {[1 2;3 4] ; [0 1;2 0] ; [1 1;-1 3]}; | ||
>> DiamondNorm(Phi) | >> DiamondNorm(Phi) | ||
| Line 26: | Line 28: | ||
37.6510 | 37.6510 | ||
| − | >> norm( | + | >> norm(ApplyMap(eye(2),DualMap(Phi))) |
ans = | ans = | ||
37.6510 | 37.6510 | ||
| − | </ | + | </syntaxhighlight> |
===A difference of unitaries channel=== | ===A difference of unitaries channel=== | ||
If $\Phi(X) = X - UXU^\dagger$, then the diamond norm of $\Phi$ is the diameter of the smallest circle that contains the eigenvalues of $U$, which we can verify in a special case via the following code: | If $\Phi(X) = X - UXU^\dagger$, then the diamond norm of $\Phi$ is the diameter of the smallest circle that contains the eigenvalues of $U$, which we can verify in a special case via the following code: | ||
| − | < | + | <syntaxhighlight> |
>> U = [1 1;-1 1]/sqrt(2); | >> U = [1 1;-1 1]/sqrt(2); | ||
>> Phi = {eye(2),eye(2); U,-U}; | >> Phi = {eye(2),eye(2); U,-U}; | ||
| Line 56: | Line 58: | ||
1.4142 | 1.4142 | ||
| − | </ | + | </syntaxhighlight> |
| + | |||
| + | {{SourceCode|name=DiamondNorm}} | ||
Revision as of 16:29, 22 September 2014
| DiamondNorm | |
| Computes the diamond norm of a superoperator | |
| Other toolboxes required | cvx |
|---|---|
| Related functions | CBNorm |
| Function category | Norms |
DiamondNorm is a function that computes the diamond norm $\|\Phi\|_\diamond$ of a superoperator $\Phi$.
Syntax
- DN = DiamondNorm(PHI)
- DN = DiamondNorm(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). PHIC will be a cell of Kraus operators if PHI is a cell of Kraus operators, and similarly PHIC will be a Choi matrix if PHI is a Choi matrix.
- 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
A completely positive map
If $\Phi$ is completely positive then $\|\Phi\|_{\diamond} = \|\Phi^\dagger(I)\|$, where $I$ is the identity matrix, $\Phi^\dagger$ is the dual map of $\Phi$, and $\|\cdot\|$ is the usual operator norm, which we can verify in a special case via the following code:
>> Phi = {[1 2;3 4] ; [0 1;2 0] ; [1 1;-1 3]};
>> DiamondNorm(Phi)
ans =
37.6510
>> norm(ApplyMap(eye(2),DualMap(Phi)))
ans =
37.6510A difference of unitaries channel
If $\Phi(X) = X - UXU^\dagger$, then the diamond norm of $\Phi$ is the diameter of the smallest circle that contains the eigenvalues of $U$, which we can verify in a special case via the following code:
>> U = [1 1;-1 1]/sqrt(2);
>> Phi = {eye(2),eye(2); U,-U};
>> DiamondNorm(Phi)
ans =
1.4142
>> lam = eig(U)
lam =
0.7071 + 0.7071i
0.7071 - 0.7071i
>> abs(lam(1) - lam(2))
ans =
1.4142Source code
Click here to view this function's source code on github.