If a system's size is not a multiple of the number of register elements, the last register of each column contains unused values. These need to be set to zero. Otherwise, they might get picked as a pivot element, which leads to undefined behaviour.
Currently, this is done by the solver classes for performance reasons, but maybe it can be moved to the pivoting step itself without any performance hit. Only set the values in the active column to zero before the search for the pivot starts. This way the separation between solver and pivoting is much clearer.
If a system's size is not a multiple of the number of register elements, the last register of each column contains unused values. These need to be set to zero. Otherwise, they might get picked as a pivot element, which leads to undefined behaviour. Currently, this is done by the solver classes for performance reasons, but maybe it can be moved to the pivoting step itself without any performance hit. Only set the values in the active column to zero before the search for the pivot starts. This way the separation between solver and pivoting is much clearer.