KpNorm: Difference between revisions
Jump to navigation
Jump to search
Updated to v1.02 |
No edit summary |
||
| Line 3: | Line 3: | ||
|desc=Computes the [[(k,p)-norm]] of a vector or matrix | |desc=Computes the [[(k,p)-norm]] of a vector or matrix | ||
|rel=[[kpNormDual]]<br />[[KyFanNorm]]<br />[[SchattenNorm]]<br />[[TraceNorm]] | |rel=[[kpNormDual]]<br />[[KyFanNorm]]<br />[[SchattenNorm]]<br />[[TraceNorm]] | ||
|cat=[[List of functions#Norms|Norms]] | |||
|upd=March 9, 2013 | |upd=March 9, 2013 | ||
|v= | |v=0.50}} | ||
<tt>'''kpNorm'''</tt> is a [[List of functions|function]] that computes the [[(k,p)-norm]] of a vector or matrix. In the case of a vector, this is the p-norm of the vector's k largest (in magnitude) entries. In the case of a matrix, this is the p-norm of the vector of its k largest singular values. It works with both full and sparse vectors and matrices. | <tt>'''kpNorm'''</tt> is a [[List of functions|function]] that computes the [[(k,p)-norm]] of a vector or matrix. In the case of a vector, this is the p-norm of the vector's k largest (in magnitude) entries. In the case of a matrix, this is the p-norm of the vector of its k largest singular values. It works with both full and sparse vectors and matrices. | ||
| Line 18: | Line 19: | ||
===Generalizes the operator, trace, Ky Fan, and Schatten norms=== | ===Generalizes the operator, trace, Ky Fan, and Schatten norms=== | ||
The (<tt>K</tt>,<tt>P</tt>)-norm of a matrix is simply the usual [[operator norm]] when <tt>K = 1</tt> or <tt>P = Inf</tt>: | The (<tt>K</tt>,<tt>P</tt>)-norm of a matrix is simply the usual [[operator norm]] when <tt>K = 1</tt> or <tt>P = Inf</tt>: | ||
< | <syntaxhighlight> | ||
>> X = rand(3); | >> X = rand(3); | ||
>> [norm(X), kpNorm(X,1,Inf), kpNorm(X,2,Inf), kpNorm(X,3,Inf), kpNorm(X,1,5)] | >> [norm(X), kpNorm(X,1,Inf), kpNorm(X,2,Inf), kpNorm(X,3,Inf), kpNorm(X,1,5)] | ||
| Line 25: | Line 26: | ||
1.0673 1.0673 1.0673 1.0673 1.0673 | 1.0673 1.0673 1.0673 1.0673 1.0673 | ||
</ | </syntaxhighlight> | ||
When <tt>P = 1</tt> and <tt>K</tt> is the size of <tt>X</tt>, this norm reduces to the [[trace norm]]: | When <tt>P = 1</tt> and <tt>K</tt> is the size of <tt>X</tt>, this norm reduces to the [[trace norm]]: | ||
< | <syntaxhighlight> | ||
>> [kpNorm(X,3,1), | >> [kpNorm(X,3,1), TraceNorm(X)] | ||
ans = | ans = | ||
1.6482 1.6482 | 1.6482 1.6482 | ||
</ | </syntaxhighlight> | ||
More generally, when <tt>P = 1</tt> this norm reduces to the [[Ky Fan norm|Ky Fan <tt>K</tt>-norm]]: | More generally, when <tt>P = 1</tt> this norm reduces to the [[Ky Fan norm|Ky Fan <tt>K</tt>-norm]]: | ||
< | <syntaxhighlight> | ||
>> [kpNorm(X,2,1), | >> [kpNorm(X,2,1), KyFanNorm(X,2)] | ||
ans = | ans = | ||
1.5816 1.5816 | 1.5816 1.5816 | ||
</ | </syntaxhighlight> | ||
Similarly, when <tt>K = min(size(X))</tt> this norm reduces to the [[Schatten norm|Schatten <tt>P</tt>-norm]]: | Similarly, when <tt>K = min(size(X))</tt> this norm reduces to the [[Schatten norm|Schatten <tt>P</tt>-norm]]: | ||
< | <syntaxhighlight> | ||
>> [kpNorm(X,3,4), | >> [kpNorm(X,3,4), SchattenNorm(X,4)] | ||
ans = | ans = | ||
1.0814 1.0814 | 1.0814 1.0814 | ||
</ | </syntaxhighlight> | ||
{{SourceCode|name=kpNorm}} | |||
Revision as of 16:33, 22 September 2014
| kpNorm | |
| Computes the (k,p)-norm of a vector or matrix | |
| Other toolboxes required | none |
|---|---|
| Related functions | kpNormDual KyFanNorm SchattenNorm TraceNorm |
| Function category | Norms |
kpNorm is a function that computes the (k,p)-norm of a vector or matrix. In the case of a vector, this is the p-norm of the vector's k largest (in magnitude) entries. In the case of a matrix, this is the p-norm of the vector of its k largest singular values. It works with both full and sparse vectors and matrices.
Syntax
- NRM = kpNorm(X,K,P)
Argument descriptions
- X: A vector or matrix to have its (K,P)-norm computed.
- K: A positive integer.
- P: A real number ≥ 1, or Inf.
Examples
Generalizes the operator, trace, Ky Fan, and Schatten norms
The (K,P)-norm of a matrix is simply the usual operator norm when K = 1 or P = Inf:
>> X = rand(3);
>> [norm(X), kpNorm(X,1,Inf), kpNorm(X,2,Inf), kpNorm(X,3,Inf), kpNorm(X,1,5)]
ans =
1.0673 1.0673 1.0673 1.0673 1.0673When P = 1 and K is the size of X, this norm reduces to the trace norm:
>> [kpNorm(X,3,1), TraceNorm(X)]
ans =
1.6482 1.6482More generally, when P = 1 this norm reduces to the Ky Fan K-norm:
>> [kpNorm(X,2,1), KyFanNorm(X,2)]
ans =
1.5816 1.5816Similarly, when K = min(size(X)) this norm reduces to the Schatten P-norm:
>> [kpNorm(X,3,4), SchattenNorm(X,4)]
ans =
1.0814 1.0814Source code
Click here to view this function's source code on github.