## My optimization problem is a Max-Min problem :

```
maximize min (w' * Gi * fj * fj' * Gi' * w)/(w' * Gi * K * Gi' * w + c)
s.t
some_power_constrain
```

where the denominator and numerator are +ve real numbers after the multiplication

I converted the problem to:

```
maximize min (w' * Ri * w)/ ( w' * Mi * w + c)
s.t
some_power_constrain
```

where :

```
Ri = Gi * fj * fj'
Mi = Gi * K * Gi'
```

And then i expressed it by the trace function as:

```
maximize min Tr{X*Ri}/(Tr{X*Mi}+c)
s.t.
Tr{XZ} <= Psum %% power constraint
X >= 0
rank(X) = 1
```

where X is a semi-Definite matrix

```
X = w *w' ; %
```

for every i ( where i =1,2 ) —> Ri, Mi are 3X3 matrices

z is a 3X3 matrix

I dropped the rank-1 constraint for SDP Relaxation

And used Bisection to solve the problem as follow:

```
ubound=exp(3); Lbound=0; % initial upper and lower bounds
bisection_tol=1e-4; % bisection tolerance
while ubound-Lbound >= bisection_tol
gamma=(Lbound+ubound)/2;
% solve the feasibility problem
cvx_begin
variable X(3,3); %symmetric;
q1 = trace(X*R1); q2 = trace(X*R2);
g1 = trace(X*M1)+1; g2 = trace(X*M2)+1;
%% Combining
qi = [q1;q2]; gi = [g1;g2];
minimize 0
subject to
qi <= gamma*gi
trace(X*Z)<= Psum
% X == semidefinite(3);
X == hermitian_semidefinite(3);
cvx_end
%% testing feasibility
if strcmp(cvx_status,'Solved')
ubound=gamma
X_opt = X
objval_opt=gamma
else
Lbound=gamma
end
end
```

# Now the problem worked and it provides me with X value when Z,Ri, Mi are real-valued

## My Problems:

1- when i use complex values for Z,Ri, Mi ----> it give me the following error

```
Error using cvxprob/newcnstr (line 181)
Disciplined convex programming error:
Invalid constraint: {complex affine} <= {complex affine}
Error in cvx/le (line 21)
b = newcnstr( evalin( 'caller', 'cvx_problem', '[]' ), x, y, '<=' );
Error in Max_Min_optimize_Alphas_07_SDR (line 72)
qi <= gamma*gi
```

## How i modify the code to get me the result in case of complex values

2- my original optimization variable is (w) where X = w*w’

i could get it easily in case of real values from X

## How to get it in case if complex values [if the problem is modified and worked ]

Thanks