32 #if (!defined(HEX_LU_SUPERLU_H) && defined(WITH_SUPERLU)) 33 #define HEX_LU_SUPERLU_H 37 #include "hex-csrmatrix.h" 46 #include <slu_cdefs.h> 48 #include <slu_zdefs.h> 60 class LUft_SUPERLU :
public LUft 71 virtual ~LUft_SUPERLU () {
drop(); }
74 LUft_SUPERLU
const & operator= (LUft_SUPERLU
const &) =
delete;
80 virtual bool valid ()
const;
83 virtual std::size_t
size ()
const {
return size_; }
86 virtual void solve (
const cArrayView b, cArrayView x,
int eqs)
const;
89 virtual void save (std::string name)
const;
92 virtual void load (std::string name,
bool throw_on_io_failure =
true);
100 NumberArray<int_t> P_;
101 NumberArray<int_t> I_;
138 #endif // WITH_SUPERLU virtual void factorize(CsrMatrix< LU_int_t, Complex > const &matrix, LUftData data=defaultLUftData)=0
Factorize.
virtual void solve(const cArrayView b, cArrayView x, int eqs) const =0
Solve equations.
virtual bool valid() const
Validity indicator.
Definition: luft.h:102
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