Difference between revisions of "KpNorm"

From QETLAB
Jump to navigation Jump to search
(Added CVX functionality)
Line 1: Line 1:
 
{{Function
 
{{Function
 
|name=kpNorm
 
|name=kpNorm
|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]]
 
|cat=[[List of functions#Norms|Norms]]
|upd=March 9, 2013
+
|upd=October 22, 2014
 
|v=0.50}}
 
|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.

Revision as of 02:07, 23 October 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.0673

When 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.6482

More generally, when P = 1 this norm reduces to the Ky Fan K-norm:

>> [kpNorm(X,2,1), KyFanNorm(X,2)]

ans =

       1.5816       1.5816

Similarly, when K = min(size(X)) this norm reduces to the Schatten P-norm:

>> [kpNorm(X,3,4), SchattenNorm(X,4)]

ans =

       1.0814       1.0814

Source code

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