Active_constraints::status() const
{
String s ("Active|Inactive [");
- for (int i=0; i< active.size(); i++)
+ for (int i=0; i< active.size(); i++)
{
s += String (active[i]) + " ";
}
s+="| ";
- for (int i=0; i< inactive.size(); i++)
+ for (int i=0; i< inactive.size(); i++)
{
s += String (inactive[i]) + " ";
}
for (int i=0; i < opt->cons.size(); i++)
allcons.push (0);
- for (int i=0; i < active.size(); i++)
+ for (int i=0; i < active.size(); i++)
{
int j = active[i];
allcons[j]++;
}
- for (int i=0; i < inactive.size(); i++)
+ for (int i=0; i < inactive.size(); i++)
{
int j = inactive[i];
allcons[j]++;
Vector Ha = H*a;
Real aHa = a*Ha;
Vector addrow (Ha.dim());
- if (abs (aHa) > EPS)
+ if (abs (aHa) > EPS)
{
/*
a != 0, so if Ha = O(EPS), then
if H*a == 0, the constraints are dependent.
*/
H -= Matrix (Ha/aHa , Ha);
-
+
/*
sorry, don't know how to justify this. ..
A -= Matrix (A*a, addrow);
A.insert_row (addrow,A.rows());
}else
- WARN << "degenerate constraints";
+ WARN << _("degenerate constraints");
}
void
active.pop();
Vector a (A.row (q));
- if (a.norm() > EPS)
+ if (a.norm() > EPS)
{
/*
-
+
*/
Real q = a*opt->quad*a;
Matrix aaq (a,a/q);
H += aaq;
A -= A*opt->quad*aaq;
}else
- WARN << "degenerate constraints";
+ WARN << _("degenerate constraints");
#ifndef NDEBUG
Vector rem_row (A.row (q));
assert (rem_row.norm() < EPS);
#endif
-
+
A.delete_row (q);
}
}
/** Find the optimum which is in the planes generated by the active
- constraints.
+ constraints.
*/
Vector
Active_constraints::find_active_optimum (Vector g)
{
return H*g;
}
-