The following problem has troubled me for a long time. Does anyone know how to solve it? Thanks
$ \begin{equation} \begin{split} & \max_{ {\bf q} \in {\mathbb C}^{N \times 1}}~~ \frac{\left(\left|{\bf a}^H {\bf q}\right|^{2}+\left|{\bf b}^H {\bf q}\right|^{2}+\sigma^{2}\right)^2}{\left(\left|{\bf a}^H {\bf q}\right|^{2}+\sigma^{2}\right)\left(\left|{\bf b}^H {\bf q}\right|^{2}+\sigma^{2}\right)}\\ &~~s.t.~~~~~~~|q_i| <=1, i=1,...N \end{split} \end{equation} $
where $q_i$ denotes the $i$th element of the vector ${\bf q}$, ${\bf a} \in {\mathbb C}^{N \times 1}$ and ${\bf b} \in {\mathbb C}^{N \times 1}$ are two complex vectors, $\sigma^{2}$ is a positive constant value.
If one writes $s=|\mathbf{a}^H{\mathbf{q}}|^2/\sigma^2$, $t=|\mathbf{b}^H{\mathbf{q}}|^2/\sigma^2$ then the expression becomes $$\frac{(s+t+1)^2}{(s+1)(t+1)}$$ This function has no local maximum in the range $s,t\ge0$, so the maximum on a bounded region must occur at the boundary. Therefore, for any fixed value of $s$, either $t=0$ or $t$ large, and for any fixed value of $t$, either $s=0$, or $s$ large; also for $s\le1$ then $t$ large, and vice versa. In any case, one of $s,t$ must be $0$.
Hence assume $|\mathbf{a}|\ge|\mathbf{b}|$. Pick $\mathbf{q}$ such that $\mathbf{b}^H{\mathbf{q}}=0=s$; with this constraint, the largest value of $t$ occurs when $\mathbf{q}$ is parallel to the projection of $\mathbf{a}$, that is, $\mathbf{a}-\lambda\mathbf{b}=\mathbf{a}-\frac{\mathbf{a}^H\mathbf{b}}{\mathbf{b}^H\mathbf{b}}\mathbf{b}$. So one must pick $\mathbf{q}$ as large as possible in this direction (until some $|q_i|=1$). Then the maximum value is $t+1$.