# Invalid quadratic : not a square

Hi, everyone.I have problem to solve the following question.

clc
clear all

I = 50;
eps1 = 10^-6;
eps2 = 10^-6;
fmax = 20 * 10^9;
s = normrnd(1000, 100, I) * 8000 ;

cvx_begin
variable a(I) nonnegative
variable fs(I) nonnegative
variable b(I) nonnegative
%variable m(I)

``````maximize sum(a)
subject to
0 <= a <= 1;
beta = inv_pos(b+eps1);
%abs(a) .* beta;
expression mu(I)
mu = diag(a * beta.');
``````

cvx_end

Error using cvx_throw (line 22)
Disciplined convex programming error:
Invalid quadratic form(s): not a square.

Error in bsxfun (line 11)

Error in * (line 42)

Error in sim (line 25)
mu = diag(a * beta.’);

I need help

CVX doesn’t allow dividing CVX variables (except in gp mode). And `inv_pos` is not a way around that rule. In this case, specifically you are multiplying a CVX variable by a convex expression ( `inv_pos(....)` ), which is not allowed.

I don’t know how, if at all, CVX can be used for your problem, because I don’t know what you want to do with `mu`.