I’ve run an optimization using the norm function in the constraints. I set the dimension of my unknown variables to be 1632, and it returns a vector of 1632 in the end. But in the command window, it shows “Calling SDPT3 4.0: 1650 variables, 119 equality constraints”. I’ve tried different solvers and they all give unmatched dimensions, though with different numbers. And when the norm function is removed, the problem is gone. Why is that?

My code looks like:

cvx_clear

cvx_begin

variable theta(1632)

dual variables lambdaEq lambdaEq2 lambdaIneq

maximize( A * theta )

subject to

lambdaEq: norm(B * theta - p)<=0.001;

lambdaEq2: one * theta == ones(K*dim_x,1);

lambdaIneq: theta >= zer;

cvx_end

## Calling SDPT3 4.0: 1650 variables, 119 equality constraints

num. of constraints = 119

dim. of socp var = 17, num. of socp blk = 1

dim. of linear var = 1633

…

Thanks for your help!