An automatic choice is proposed by default for dense QP constructors. It compares as an heuristic a typical complexity when using PrimalLdl or PrimalDualLdl backend and takes the cheaper choice.
Simplify as well Hessian vector computation when the Hessian appears to be diagonal.
As a benchmark one can get the following results on random problems:
Adds a new backend (named PrimalLdl) for solving quicker QPs with far more constraints than primal variables (the current one is named PrimalDualLdl).
As a benchmark I get on randomly generated problems on my machine (11th Gen Intel(R) Core(TM) i7-11850H @ 2.50GHz):
An automatic choice is proposed by default for dense QP constructors. It compares as an heuristic a typical complexity when using PrimalLdl or PrimalDualLdl backend and takes the cheaper choice.
Simplify as well Hessian vector computation when the Hessian appears to be diagonal.
As a benchmark one can get the following results on random problems:
The modifications are unit tested in c++ and python and documented as well.