Difference between revisions of "DualMap"
Jump to navigation
Jump to search
(Created page with "{{Function |name=DualMap |desc=Computes the dual of a superoperator in the Hilbert-Schmidt inner product |rel=ComplementaryMap |upd=January 21, 2013 |v=1....") |
m |
||
| (3 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
{{Function | {{Function | ||
|name=DualMap | |name=DualMap | ||
| − | |desc=Computes the | + | |desc=Computes the dual of a superoperator in the Hilbert-Schmidt inner product |
|rel=[[ComplementaryMap]] | |rel=[[ComplementaryMap]] | ||
| − | | | + | |cat=[[List of functions#Superoperators|Superoperators]] |
| − | | | + | |upd=November 24, 2014}} |
| − | <tt>'''DualMap'''</tt> is a [[List of functions|function]] that computes the | + | <tt>'''DualMap'''</tt> is a [[List of functions|function]] that computes the dual of a superoperator in the Hilbert-Schmidt inner product. If $\Phi(X) = \sum_j A_j X B_j^\dagger$ for all matrices $X$, then the dual map is defined by $\Phi^\dagger(Y) = \sum_j A_j^\dagger Y B_j$. |
==Syntax== | ==Syntax== | ||
| Line 16: | Line 16: | ||
==Examples== | ==Examples== | ||
| − | + | ===The dual of the dual map=== | |
| + | As its name implies, the dual of the dual of a map $\Phi$ is $\Phi$ itself, which we see in a special case in the following code: | ||
| + | <syntaxhighlight> | ||
| + | >> Phi = RandomSuperoperator(3); | ||
| + | >> norm(ChoiMatrix(DualMap(DualMap(Phi))) - ChoiMatrix(Phi)) | ||
| + | |||
| + | ans = | ||
| + | |||
| + | 0 | ||
| + | </syntaxhighlight> | ||
| + | |||
| + | {{SourceCode|name=DualMap}} | ||
Latest revision as of 02:26, 28 November 2014
| DualMap | |
| Computes the dual of a superoperator in the Hilbert-Schmidt inner product | |
| Other toolboxes required | none |
|---|---|
| Related functions | ComplementaryMap |
| Function category | Superoperators |
DualMap is a function that computes the dual of a superoperator in the Hilbert-Schmidt inner product. If $\Phi(X) = \sum_j A_j X B_j^\dagger$ for all matrices $X$, then the dual map is defined by $\Phi^\dagger(Y) = \sum_j A_j^\dagger Y B_j$.
Syntax
- PHID = DualMap(PHI)
- PHID = DualMap(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). PHID will be a cell of Kraus operators if PHI is a cell of Kraus operators, and similarly PHID 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
The dual of the dual map
As its name implies, the dual of the dual of a map $\Phi$ is $\Phi$ itself, which we see in a special case in the following code:
>> Phi = RandomSuperoperator(3);
>> norm(ChoiMatrix(DualMap(DualMap(Phi))) - ChoiMatrix(Phi))
ans =
0Source code
Click here to view this function's source code on github.