From: fred Date: Sun, 24 Mar 2002 19:50:21 +0000 (+0000) Subject: lilypond-0.1.1 X-Git-Tag: release/1.5.59~4319 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=b7fef6cdc5783938d01670aaa1efb4686658babd;p=lilypond.git lilypond-0.1.1 --- diff --git a/lily/qlpsolve.cc b/lily/qlpsolve.cc index 31ec4a85b4..46f0ce64f4 100644 --- a/lily/qlpsolve.cc +++ b/lily/qlpsolve.cc @@ -11,11 +11,10 @@ #include "ineq-constrained-qp.hh" #include "qlpsolve.hh" -#include "const.hh" #include "debug.hh" #include "choleski.hh" -const Real TOL=1e-2; // roughly 1/10 mm +const Real TOL=1e-1; // roughly 1/30 mm String Active_constraints::status() const @@ -63,9 +62,7 @@ Active_constraints::OK() Vector Active_constraints::get_lagrange(Vector gradient) { - Vector l(A*gradient); - - return l; + return (A*gradient); } void @@ -121,8 +118,9 @@ Active_constraints::drop(int k) */ Real q = a*opt->quad*a; - H += Matrix(a,a/q); - A -= A*opt->quad*Matrix(a,a/q); + Matrix aaq(a,a/q); + H += aaq; + A -= A*opt->quad*aaq; }else WARN << "degenerate constraints"; #ifndef NDEBUG @@ -142,6 +140,10 @@ Active_constraints::Active_constraints(Ineq_constrained_qp const *op) for (int i=0; i < op->cons.size(); i++) inactive.push(i); Choleski_decomposition chol(op->quad); + + /* + ugh. + */ H=chol.inverse(); OK(); }