# Error using .* (line 173) Disciplined convex programming error: Cannot perform the operation: {real affine} .* {convex}

Hello,

I am trying to solve the following optimization problem, but I get an error which I cannot understand!
Any help is appreciated!

``````clear; close all;
Q=6;
c1=0.6;
si1=0.1;
si2=0.3;
Td=1;
v1=0.4;
v2=0.5;
l1=0.4;
% f=((v1)./(l1.*(1-a)))+((a.*si1)./((1-a).*(1-l1)))+((c1.*a.*v2)./((1-a).*(c1-Q)))

cvx_begin

variables a
f=((v1).*inv_pos(l1.*(1-a)))+((a.*si1).*inv_pos((1-a).*(1-l1)))+((c1.*a.*v2).*inv_pos((1-a).*(c1-Q)));
minimize (f)
subject to
(1-a).*inv_pos(a) +((si1)).*inv_pos(1-l1)+(si2.*inv_pos(a.*l1))<=(1.*inv_pos(2^(2.*Td)-1));
a>0;
a<1;

cvx_end
``````

The error:
Error using .* (line 173)
Disciplined convex programming error:
Cannot perform the operation: {real affine} .* {convex}

Thank you so much.

You have violated CVX’s rules. Why isn't CVX accepting my model? READ THIS FIRST!

`a/(1-a)` is a linear fractional form.

See section 4.3.2 “Linear-fractional programming” of https://web.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdf .for how to handle it.

Perhaps you can multiply both sides of the constraint by `a` to make that into a linear (affine) constraint.

Hello Sir,