Assume that you are solving the quadratic optimization problem
The solution speed is of course dependent on the number constraints variables but an even more important factor is the sparsity structure in
and to some extent in
. Therefore, if you are not satsified with the solution speed then the first step is to investigate
. If
is a block diagonal matrix with small blocks, it is as good as it gets.
However, if
is a dense matrix then a reformulation might be worthwhile. Now assume a matrix
is known such that
then the above problem can be rewritten as follows
The last problem has more constraints and variables than original one but if
is of low rank then
has few columns and hence
is short. This implies that the second problem require much less storage to store and will solve much faster than the original problem.
One obvious question is how to obtain the
matrix. From the convexity assumption we know that
is positive semi-definite, and for a positive semi-definite matrix
there exist an
such that
. One one way to compute
is to use Cholesky factorization or an eigenvalue decomposition. However, in practice the origin of
is often an
expression, i.e. the original factors used for computing
can be used in the formulation. Note that this is in particular the case if
is covariance matrix estimated from historical data.
Many variants of this idea are described in the modelling sections of the MOSEK manuals.