```
cvx_begin
variables alphas(noRelays) ;
X12_Bast = square_abs(alphas' * F1 *g2 )
%
%
cvx_end
```

where

```
Alphas=[a1 a2 a3] % variable to be optimized
```

And f1,g2 are complex column vectors of 3 elements and F1 is diagonal matrix

```
F1=diag(f1);
```

# I got the error:

Error using cvx/reshape (line 50)

To RESHAPE the number of elements must not change.

Error in geo_mean_cone (line 339)

xt( map(1,:), : ) == reshape( cone(1,1,:,:), [nm,nv] ); %#ok

Error in cvx/pow_cvx (line 208)

{ cat( nd, yt, ones(sz) ), cvx_accept_convex(xt) } == geo_mean_cone(

sw, nd, [1/pt,1-1/pt], ‘cabs’ ); %#ok

Error in cvx/pow_abs (line 13)

y = pow_cvx( x, p, ‘pow_abs’ );

Error in cvx/square_abs (line 6)

cvx_optval = pow_abs( x, 2 );

Error in Max_Min_optimize_Alphas_02 (line 50)

X12_Bast = square_abs(alphas’ * F1 *g2 )

mcg
(Michael C. Grant)
2
Looks like a bug. I would recommend filing a support request at http://support.cvxr.com …

I have contacted the CVX support and the reply is to use an alternative way as:

Michael C. Grant

said 17 minutes ago

I think you can rewrite your problem as follows, and it will work:

`X12_Bast = square_pos(abs(alphas' * F1 *g2 ))`

And it worked fine with me

mcg
(Michael C. Grant)
5
Indeed, I have found a bug in `square_abs`

, but this workaround will work until it is fixed. Thanks for reporting it!

it is interesting for me

square_pos(abs(3+4*i))---->ans =-1*

but abs(3+4i)---->ans =5

what is wrong?

But

square_abs(3+4*i)—>ans =25

so square_abs is better than square_pos.

I get your same results in CVX 2.1 Build 1116.

In CVX3.0beta build 1177, square_pos produced correct results, but square_abs produced this error message:

`>> square_abs(3+4*i)`

Error using cvx_linearize (line 42)

Invalid mode: cabs

Error in square_abs (line 13)

y = square( cvx_linearize( x, ‘cabs’ ) );