DualMap

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</tt> (optional, default has input and output spaces of equal dimension): A 1-by-2 vector containing the input and output dimensions of PHI</tt>, in that order (equivalently, these are the dimensions of the first and second subsystems of the Choi matrix PHI</tt>, in that order). If the input or output space is not square, then DIM</tt>'s first row should contain the input and output row dimensions, and its second row should contain its input and output column dimensions. DIM</tt> is required if and only if PHI</tt> has unequal input and output dimensions and is provided as a Choi matrix.

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: