# DualMap

Jump to navigation
Jump to search

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 =
0
```

## Source code

Click here to view this function's source code on github.