10#include <kernel/solver/base.hpp> 
   11#include <kernel/lafem/saddle_point_matrix.hpp> 
   12#include <kernel/lafem/sparse_matrix_bcsr.hpp> 
   13#include <kernel/lafem/sparse_matrix_csr.hpp> 
   14#include <kernel/lafem/mean_filter.hpp> 
   15#include <kernel/lafem/tuple_vector.hpp> 
   16#include <kernel/lafem/dense_vector.hpp> 
   17#include <kernel/lafem/dense_vector_blocked.hpp> 
   23#if defined(FEAT_HAVE_MKL) || defined(DOXYGEN) 
   48      public SolverBase<LAFEM::DenseVector<double, Index>>
 
  112      return std::make_shared<MKLDSS>(matrix);
 
Dense data vector class template.
Intel MKL Direct Sparse Solver wrapper.
virtual void init_symbolic() override
Symbolic initialization method.
virtual void done_symbolic() override
Symbolic finalization method.
virtual String name() const override
Returns the name of the solver.
LAFEM::DenseVector< double, Index > VectorType
compatible vector type
MKLDSS(const MatrixType &system_matrix)
Constructor.
SolverBase< VectorType > BaseClass
our base class
void * _mkl_dss_handle
Intel MKL DSS handle;.
virtual Status apply(VectorType &vec_sol, const VectorType &vec_rhs) override
Solves a linear system with the factorized system matrix.
virtual ~MKLDSS()
virtual destructor
LAFEM::SparseMatrixCSR< double, Index > MatrixType
compatible matrix type
virtual void init_numeric() override
Numeric initialization method.
virtual void done_numeric() override
Numeric finalization method.
const MatrixType & _system_matrix
system matrix
Polymorphic solver interface.
String class implementation.
std::shared_ptr< MKLDSS > new_mkl_dss(const LAFEM::SparseMatrixCSR< double, Index > &matrix)
Creates a new MKLDSS solver object.
double mkldss_native_data_type
native data type of MKLDSS solver
Status
Solver status return codes enumeration.
std::uint32_t mkldss_native_index_type
native index type of MKLDSS solver