Could L21 norm be built in objective function?

Uncategorized
Aug 9, 2017
S

Hello Everyone!
At present I am working with a project using Sparse Subspace coding technique. And I’m new to CVX.
it is only the l21 norm which locates in the g() function i cannot write into the objective function. The l21 norm is defined as this image.

Could it be solved by cvx? Or other toolbox recommendations?
So any advice? Thanks ahead.

M

Presuming the sum is over all columns in C,
sum(norms(C))
should be what you want.

 help norms

 norms   Computation of multiple vector norms.
    norms( X ) provides a means to compute the norms of multiple vectors
    packed into a matrix or N-D array. This is useful for performing
    max-of-norms or sum-of-norms calculations.
 
    All of the vector norms, including the false "-inf" norm, supported
    by NORM() have been implemented in the norms() command.
      norms(X,P)           = sum(abs(X).^P).^(1/P)
      norms(X)             = norms(X,2).
      norms(X,inf)         = max(abs(X)).
      norms(X,-inf)        = min(abs(X)).
    If X is a vector, these computations are completely identical to
    their NORM equivalents. If X is a matrix, a row vector is returned
    of the norms of each column of X. If X is an N-D matrix, the norms
    are computed along the first non-singleton dimension.
 
    norms( X, [], DIM ) or norms( X, 2, DIM ) computes Euclidean norms
    along the dimension DIM. norms( X, P, DIM ) computes its norms
    along the dimension DIM.
 
    Disciplined convex programming information:
        norms is convex, except when P<1, so an error will result if these
        non-convex "norms" are used within CVX expressions. norms is
        nonmonotonic, so its input must be affine.
S
Replying to #2

Thanks a lot.
The example file uses a vector as variable. And from here I was taught that matrix could be variable and even as a parameter to a function used in the cvx sentence. Thank you for your help!