This has been implemented in 7ff7b05 and f472d28. Care had to be taken by swapping rows based on the diagonal element complexity: choosing certain rows to be swapped might lead to a left-over row with a zero diagonal element. Also, this technique does not necessarily lead to better (i.e., simpler) solutions, which was unexpected to me. I'll keep both pivoting mechanisms for now.
This has been implemented in 7ff7b05 and f472d28. Care had to be taken by swapping rows based on the diagonal element complexity: choosing certain rows to be swapped might lead to a left-over row with a zero diagonal element. Also, this technique does not necessarily lead to better (i.e., simpler) solutions, which was unexpected to me. I'll keep both pivoting mechanisms for now.