5 #ifndef FML_MPI_LINALG_SOLVE_H
6 #define FML_MPI_LINALG_SOLVE_H
12 #include "../../_internals/linalgutils.hh"
13 #include "../../cpu/cpuvec.hh"
15 #include "../internals/bcutils.hh"
16 #include "../internals/mpi_utils.hh"
19 #include "../mpimat.hh"
21 #include "internals/err.hh"
22 #include "internals/scalapack.hh"
51 template <
typename REAL>
54 err::check_grid(x, y);
56 const len_t n = x.
nrows();
58 throw std::runtime_error(
"'x' must be a square matrix");
60 throw std::runtime_error(
"rhs 'y' must be compatible with data matrix 'x'");
65 fml::linalgutils::check_info(info,
"gesv");