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?
 A: 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.
A: What about $\langle\exists r :: r \gt 0 \land ||{\bf w}_k|| = x_k \cdot r\rangle$?
For $x_k = 0$:
$\langle\exists r :: r \gt 0 \land ||{\bf w}_k|| = 0 \cdot r\rangle$
$\equiv \langle\exists r :: r \gt 0 \land ||{\bf w}_k|| = 0 \rangle$
$\equiv \langle\exists r :: r \gt 0 \rangle \land ||{\bf w}_k|| = 0$
$\implies ||{\bf w}_k|| = 0$
For $x_k = 1$:
$\langle\exists r :: r \gt 0 \land ||{\bf w}_k|| = 1 \cdot r\rangle$
$\equiv \langle\exists r :: r \gt 0 \land ||{\bf w}_k|| = r \rangle$
$\implies \langle\exists r :: ||{\bf w}_k|| \gt 0 \rangle$
$\equiv ||{\bf w}_k|| \gt 0$ 
