KpNormDual
| kpNormDual | |
| Computes the dual of the (k,p)-norm of an operator | |
| Other toolboxes required | kpNorm |
|---|---|
| Related functions | KyFanNorm SchattenNorm TraceNorm |
kpNormDual is a function that computes the dual of the (k,p)-norm[1]. It works with both full and sparse matrices.
Syntax
- NRM = kpNormDual(X,K,P)
Argument descriptions
- X: An operator to have its norm computed.
- K: A positive integer.
- P: A real number ≥ 1, or Inf.
Examples
A simple 4-by-4 example
The (k,p)-norm when k = 1 is simply the operator norm. The dual of the operator norm is the trace norm, so when k = 1 this function just returns the trace norm (regardless of p):
>> X = [1 1 1 1;1 2 3 4;1 4 9 16;1 8 27 64]; >> [kpNormDual(X,1,1), TraceNorm(X)] ans = 77.0015 77.0015
Similarly, if K = min(size(X)) and P = 2 then kpNorm(X,K,P) is the Frobenius norm, which is its own dual. Thus kpNormDual(X,K,2) decreases from the trace norm of X to its Frobenius norm as K increases:
>> [kpNormDual(X,1,2), TraceNorm(X)] ans = 77.0015 77.0015 >> kpNormDual(X,2,2) ans = 72.6903 >> kpNormDual(X,3,2) ans = 72.6505 >> [kpNormDual(X,4,2), norm(X,'fro')] ans = 72.6498 72.6498
References
- ↑ G.S. Mudholkar and M. Freimer. A structure theorem for the polars of unitarily invariant norms. Proc. Amer. Math. Soc., 95:331–337, 1985.