random_permutation did nothing but output the identity
Random permutations defaults to choosing its own number of iterations.
Added tests for linalg::solve
In cgs(), check whether the initial state is already a solution.
Added tests for cgs
Iterative methods are now implemented using a generic class 'Map' that transforms vectors into vectors.
We now implement all cgs() functions using maps.
cgs now properly works on closures