Hi,
I’m fairly new to CVX, and I’ve encountered some behavior of CVX that is unintuitive to me.
The expression: a’ * a, causes an error in “cvx/reshape”, when the dimension is 1x1 (scalar).
Case 1: 1x1 (does not work)
clear all;
close all;
clc;
cvx_begin
variable p(1,1) complex
minimize(p' * p)
cvx_end
Case 2: 2x1 (does work)
clear all;
close all;
clc;
cvx_begin
variable p(2,1) complex
minimize(p' * p)
cvx_end
Error occurring in CVX:
Error using cvx/reshape
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] );
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' );
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 .* (line 257)
cvx_optval = alpha .* square_abs( y );
Error in * (line 36)
z = feval( oper, x, y );
Error in Testscrpt3 (line 7)
minimize(p' * p)
Maybe I’m missing something in the User Guide (or about convex optimization in general) , but I couldn’t find any reason why the scalar case wouldn’t work.
Best Regards
BL