# TraceNorm

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.