diff --git a/src/myblockproblem.hh b/src/myblockproblem.hh index ceed350d18cafa30dbf5d86c060feda619b51eb8..601652f8531d883c6d914d75f446d91c8b37bc77 100644 --- a/src/myblockproblem.hh +++ b/src/myblockproblem.hh @@ -109,9 +109,9 @@ class MyBlockProblem<ConvexProblemTypeTEMPLATE>::IterateObject { if (j == m) localA = &(*it); // localA = &A[m][m] - it->umv(u[j], localb); // localb += A[m][j] * u[j] + it->mmv(u[j], localb); // localb += A[m][j] * u[j] } - localb -= problem.f[m]; // localb -= b[m] + localb += problem.f[m]; // localb -= b[m] assert(localA != NULL); // FIXME: Hardcoding a fixed function here for now @@ -126,8 +126,7 @@ class MyBlockProblem<ConvexProblemTypeTEMPLATE>::IterateObject { Dune::minimise(localJ, ui_copy, correction); ui_copy += correction; } - // FIXME: this makes no sense. Why does it work this way?! - ui -= ui_copy; + ui += ui_copy; return; }