TraceNorm

From QETLAB
Jump to navigation Jump to search
TraceNorm
Computes the trace norm of an operator

Other toolboxes required none
Related functions kpNorm
KyFanNorm
SchattenNorm
Function category Norms
Usable within CVX? yes (convex)

TraceNorm is a function that computes the trace norm of an operator (i.e., the sum of its singular values). It works with both full and sparse matrices.

Syntax

  • NRM = TraceNorm(X)

Argument descriptions

  • X: An operator to have its trace norm computed.

Examples

Trace norm of a density matrix

Density matrices all have trace norm equal to 1:

>> rho = RandomDensityMatrix(100);
>> TraceNorm(rho)

ans =

    1.0000

Can be used with CVX

This function can be used in the objective function or constraints of a CVX optimization problem. For example, the following code computes the minimum value of $\mathrm{Tr}(S\rho)$ over all density matrices $\rho$ with the property that the trace norm of their realignment is no larger than 1 (this set of state approximates the set of separable states), where $S$ is the swap operator:

>> cvx_begin sdp quiet
   variable rho(9,9) hermitian;
   minimize trace(rho*SwapOperator(3));
   subject to
       trace(rho) == 1;
       rho >= 0;
       TraceNorm(Realignment(rho)) <= 1;
   cvx_end
   cvx_optval

cvx_optval =

   -0.3333

Source code

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