CVX Diciplined errot


(Siva Sankar) #1
cvx_begin 
variable S(LEN_ANG,K);
SSV     = S*V1*Dk;
minimize( norm(YSV - Aa*SSV) ); 
subject to
sqrt(diag(SSV*SSV')) <= 0.1
cvx_end

It throws an error saying “Disciplined convex programming error:
Only scalar quadratic forms can be specified in CVX”…

My idea Here is minimize( norm(YSV - AaSSV) ) w.r.t SSV and I was using this **sqrt(diag(SSVSSV’))** to ensure sparsity only in columns.

Here YSV ,Aa and SSV all are Matrices.

Pls help anybody…Thanks in advance


(Mark L. Stone) #2

I don;t know what the dimensions of your MATLAB variables are. Is SSV a column vector? If so, will this do what you want?
norm(SSV,inf) <= 0.1

Anyhow, read Why isn't CVX accepting my model? READ THIS FIRST! . Then you would know that what you did will not be accepted by CVX, because it violates the DCP rules as documented in http://cvxr.com/cvx/doc/ .


(Siva Sankar) #3

Thanks…for your reply…

I need to do

minimize( norm(YSV - AaSSV)+ repar(norm(norms(SSV,2,2),1) ));

Here SSV is a Matrix…
norms(SSV,2,2) …is a Vector but function of SSV. Since I want to find the sparsity only in the columns of SSV.

norm1 of norms(SSV,2,2) is written as norm(norms(SSV,2,2),1) )…

Now the error is “Disciplined convex programming error:
Cannot perform the operation norm( {convex}, 1 )”…

Can you Pls suggest me.


(Mark L. Stone) #4

I don;t understand what you are trying to do. Does sum(norms(SSV,2,2)) do what you want?


(Siva Sankar) #5

norms(SSV,2,2)…does second norm on the rows of matrix “SSV”


(Mark L. Stone) #6

sum of norms then adds the norms of the rows, which of course are nonnegative.


(Siva Sankar) #7

Mark…There is a correction in your reply…No summation there …

norms(SSV,2,2) results in to a vector.

1.I need to find norm1 of the vector “norms(SSV,2,2)”


(Mark L. Stone) #8

Have you proved it is convex, and if so, how? That is your responsibility per the forum rules. Why isn’t CVX accepting my model? READ THIS FIRST! i’m not saying it is or isn’t.


(Siva Sankar) #9

Mark…I have verified…with plotting…

Let me verify…mathematically…

Thanks for your guidance.


(Mark L. Stone) #10

Plotting is not a verification. Plot the function on the domain 0 to 1 which is zero on the rationals and 1 on the irrationals.