Fix for convergence, because sometimes the residue may increase (especially with

ALS update rules).
This commit is contained in:
Ryan Curtin
2014-06-23 21:38:42 +00:00
parent 452d68a70a
commit d559ce3d83
+1 -1
View File
@@ -63,7 +63,7 @@ double AMF<InitializationRule, UpdateRule>::Apply(
update.Initialize(V, r);
while (((oldResidue - residue) / oldResidue >= tolerance || iteration < 4) && iteration != maxIterations)
while ((std::abs(oldResidue - residue) / oldResidue >= tolerance || iteration < 4) && iteration != maxIterations)
{
// Update step.
// Update the value of W and H based on the Update Rules provided