Skip to content

Fix numerical issues with BiCGSTAB.

To make more consistent with the literature, initialize alpha = 0 for the first iteration so that p0 = r.

Modified the restart condition for r ⟂ r0 to check the angle,

dot(r/|r|, r0/|r0|) < eps

Added a second restart condition for checking r0 ⟂ v, where we randomly generate a new start r0 (Fixes #2856 (closed), #2899 (closed)).

Merge request reports

Loading