  Non-convex quadratically constrained quadratic programming (QCQP) problems
have numerous applications in signal processing, machine learning, and wireless
communications, albeit the general QCQP is NP-hard, and several interesting
special cases are NP-hard as well. This paper proposes a new algorithm for
general QCQP. The problem is first reformulated in consensus optimization form,
to which the alternating direction method of multipliers (ADMM) can be applied.
The reformulation is done in such a way that each of the sub-problems is a QCQP
with only one constraint (QCQP-1), which is efficiently solvable irrespective
of (non-)convexity. The core components are carefully designed to make the
overall algorithm more scalable, including efficient methods for solving
QCQP-1, memory efficient implementation, parallel/distributed implementation,
and smart initialization. The proposed algorithm is then tested in two
applications: multicast beamforming and phase retrieval. The results indicate
superior performance over prior state-of-the-art methods.
