Artificial intelligent assistant

How to linearize this IF-THEN Constraint? I have a nonlinear constraint as below If $x_k=0$, Then $||{\bf w}_k||==0$ If $x_k=1$, Then $||{\bf w}_k||>0$ Here, $x_k\in\\{0,1\\}$ is a binary variable and $||\bf x||$ is the norm of vector $\bf x$. ${\bf w}_k\in\mathbb{C}^{N\times 1}$ is also an optimization variable. It is a vector of complex elements. How can I linearize this?

The generic big-M model would be

$$ -Mx_k \leq w_k \leq Mx_k, ~||w_k||\geq \epsilon -M(1-x_k) $$

However, this is a nasty model as you have a non-convex constraint on the norm. Hence, you will have to work on an elementwise level to force at least one element to be non-zero. To do that, introduce a binary vector $y_k$ to indicate that corresponding element in $w_k$ is positive, and a binary vector $z_k$ to indicate negative, and you could use

$$ -Mx_k \leq w_k \leq Mx_k,~w_k \geq \epsilon - M(1-y_k), ~w_k \leq -\epsilon + M(1-z_k), ~\sum_i y^i_k + \sum_i z^i_k = x_k $$

...and now I saw you have a complex-valued vector. Simply repeat the same elementwise model for both the real and imaginary part, i.e. effectively define a new vector $w_k$ by stacking the real and imaginary part in a vector twice as large.

xcX3v84RxoQ-4GxG32940ukFUIEgYdPy 65f65532c24cff181b05f7226d997b92