For scalapack, distribution_matrix class can have a templated grid<solver, GRID_MAJOR> class instance as a memeber variable by inheriting grid_base