KpNormDual: Difference between revisions
Jump to navigation
Jump to search
Updated to v1.02 |
No edit summary |
||
| Line 2: | Line 2: | ||
|name=kpNormDual | |name=kpNormDual | ||
|desc=Computes the [[dual of the (k,p)-norm]] of a vector or matrix | |desc=Computes the [[dual of the (k,p)-norm]] of a vector or matrix | ||
| | |rel=[[kpNorm]]<br />[[KyFanNorm]]<br />[[SchattenNorm]]<br />[[TraceNorm]] | ||
|cat=[[List of functions#Norms|Norms]] | |||
|upd=April 3, 2013 | |upd=April 3, 2013 | ||
|v= | |v=0.50}} | ||
<tt>'''kpNormDual'''</tt> is a [[List of functions|function]] that computes the [[dual of the (k,p)-norm]]<ref>G.S. Mudholkar and M. Freimer. A structure theorem for the polars of unitarily invariant norms. ''Proc. Amer. Math. Soc.'', 95:331–337, 1985.</ref> of a vector or matrix. It works with both full and sparse vectors and matrices. | <tt>'''kpNormDual'''</tt> is a [[List of functions|function]] that computes the [[dual of the (k,p)-norm]]<ref>G.S. Mudholkar and M. Freimer. A structure theorem for the polars of unitarily invariant norms. ''Proc. Amer. Math. Soc.'', 95:331–337, 1985.</ref> of a vector or matrix. It works with both full and sparse vectors and matrices. | ||
| Line 19: | Line 19: | ||
===A simple 4-by-4 example=== | ===A simple 4-by-4 example=== | ||
The (k,p)-norm of a matrix 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): | The (k,p)-norm of a matrix 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): | ||
< | <syntaxhighlight> | ||
>> X = [1 1 1 1;1 2 3 4;1 4 9 16;1 8 27 64]; | >> X = [1 1 1 1;1 2 3 4;1 4 9 16;1 8 27 64]; | ||
>> [kpNormDual(X,1,1), | >> [kpNormDual(X,1,1), TraceNorm(X)] | ||
ans = | ans = | ||
77.0015 77.0015 | 77.0015 77.0015 | ||
</ | </syntaxhighlight> | ||
Similarly, if <tt>K = min(size(X))</tt> and <tt>P = 2</tt> then <tt>kpNorm(X,K,P)</tt> is the Frobenius norm, which is its own dual. Thus <tt>kpNormDual(X,K,2)</tt> decreases from the trace norm of <tt>X</tt> to its Frobenius norm as <tt>K</tt> increases: | Similarly, if <tt>K = min(size(X))</tt> and <tt>P = 2</tt> then <tt>kpNorm(X,K,P)</tt> is the Frobenius norm, which is its own dual. Thus <tt>kpNormDual(X,K,2)</tt> decreases from the trace norm of <tt>X</tt> to its Frobenius norm as <tt>K</tt> increases: | ||
< | <syntaxhighlight> | ||
>> [kpNormDual(X,1,2), TraceNorm(X)] | >> [kpNormDual(X,1,2), TraceNorm(X)] | ||
| Line 53: | Line 53: | ||
72.6498 72.6498 | 72.6498 72.6498 | ||
</ | </syntaxhighlight> | ||
{{SourceCode|name=kpNormDual}} | |||
==References== | ==References== | ||
<references /> | <references /> | ||
Revision as of 16:35, 22 September 2014
| kpNormDual | |
| Computes the dual of the (k,p)-norm of a vector or matrix | |
| Other toolboxes required | none |
|---|---|
| Related functions | kpNorm KyFanNorm SchattenNorm TraceNorm |
| Function category | Norms |
kpNormDual is a function that computes the dual of the (k,p)-norm[1] of a vector or matrix. It works with both full and sparse vectors and matrices.
Syntax
- NRM = kpNormDual(X,K,P)
Argument descriptions
- X: A vector or matrix 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 of a matrix 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.0015Similarly, 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.6498Source code
Click here to view this function's source code on github.
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.