second quarter of Moperator done, smallest difference in Moperator element is 1e-13 (something about roundoff error difference in C and C++ versions of Petsc)