How to solve "Cannot perform the operation: {convex} .* {real affine}"


#1

My MATLAB code is shown below:

The error is:
Disciplined convex programming error:
Cannot perform the operation: {convex} .* {real affine}
Error in ==>
norm_sum_col(j,i) = w(:,i)’ * h_k(:,j) * h_k(:,j)’ * w(:,i) * lambda(j);
Would anyone give me some idea about it?


(Mark L. Stone) #2

This doesn’t look convex to me. Consider a one dimensional version of this, and let h_k = 1. Then your right-hand-side is
w^2 * lambda
in which w and lambda are both CVX (optimization) variables. That is an indefinite form, i.e., neither convex nor concave, and therefore will not be accepted by CVX.