32 #if (!defined(HEX_LU_SCALAPACK_H) && defined(WITH_SCALAPACK)) 33 #define HEX_LU_SCALAPACK_H 37 #include "hex-csrmatrix.h" 52 class LUft_SCALAPACK :
public LUft 63 virtual ~LUft_SCALAPACK();
66 LUft_SCALAPACK const & operator= (LUft_SCALAPACK const &) = delete;
69 virtual
void factorize (
CsrMatrix<LU_int_t,Complex> const & matrix,
LUftData data);
72 virtual
bool valid ()
const {
return size() != 0; }
75 virtual std::size_t
size ()
const;
78 virtual void solve (
const cArrayView b, cArrayView x,
int eqs)
const;
81 virtual void save (std::string name)
const;
84 virtual void load (std::string name,
bool throw_on_io_failure =
true);
92 #endif // WITH_SCALAPACK virtual void solve(const cArrayView b, cArrayView x, int eqs) const =0
Solve equations.
virtual std::size_t size() const
Size of the numerical data.
Definition: luft.h:117
LU factorization object.
Definition: luft.h:74
#define factorizerRunTimeSelectionDefinitions(TYPE, NAME)
Definition: luft.h:198
virtual void drop()
Free memory.
Definition: luft.h:109
virtual void save() const
Definition: luft.h:181
virtual void load()
Definition: luft.h:187