[linalg] reduce the memory usage of checkpoints
Imported issue: Initially reported by @zimmerma in https://gforge.inria.fr/tracker/?group_id=2065&aid=21413
in linalg/bwc, checkpoints are issued every 1000 iterations. If the matrix has N rows, its size is O(N),
and the number of iterations is O(N), thus the memory usage is O(N^2). This will fill the disk for large factorizations. It would be better to have a fixed number of checkpoints, for example 1000 checkpoints by default.