+ This function solves the following quadratic program:
+
+ Minimize: f(alpha) == 0.5*trans(alpha)*Q*alpha + trans(b)*alpha
+ subject to the following box constraints on alpha:
+ 0 <= min(alpha-lower)
+ 0 <= max(upper-alpha)
+ Where f is convex. This means that Q should be positive-semidefinite.
+
+
+ So it does the same thing as solve_qp_box_constrained,
+ except it is optimized for large Q matrices with a special block
+ structure. In particular, Q must be grouped into identically sized
+ blocks where all blocks are diagonal matrices, except those on the
+ main diagonal which can be dense.
+
+
+