  We present an algorithm for the minimization of a nonconvex quadratic
function subject to linear inequality constraints and a two-sided bound on the
2-norm of its solution. The algorithm minimizes the objective using an
active-set method by solving a series of Trust-Region Subproblems (TRS).
Underpinning the efficiency of this approach is that the global solution of the
TRS has been widely studied in the literature, resulting in remarkably
efficient algorithms and software. We extend these results by proving that
nonglobal minimizers of the TRS, or a certificate of their absence, can also be
calculated efficiently by computing the two rightmost eigenpairs of an
eigenproblem. We demonstrate the usefulness and scalability of the algorithm in
a series of experiments that often outperform state-of-the-art approaches;
these include calculation of high-quality search directions arising in
Sequential Quadratic Programming on problems of the CUTEst collection, and
Sparse Principal Component Analysis on a large text corpus problem (70 million
nonzeros) that can help organize documents in a user interpretable way.
