-- Not using Eigen permutation as it leads to std::bad_alloc, (muliplication with permutation leads to request of 450 GB of memory for large test problem)