16 #ifndef dealii_sparse_decomposition_h 17 #define dealii_sparse_decomposition_h 19 #include <deal.II/base/config.h> 20 #include <deal.II/lac/sparse_matrix.h> 24 DEAL_II_NAMESPACE_OPEN
108 template <
typename number>
137 virtual void clear();
211 template <
typename somenumber>
242 template <
class OutVector,
class InVector>
244 const InVector &src)
const;
253 template <
class OutVector,
class InVector>
255 const InVector &src)
const;
273 <<
"The strengthening parameter " << arg1
274 <<
" is not greater or equal than zero!");
281 template <
typename somenumber>
339 template <
typename number>
343 const size_type )
const 345 return strengthen_diagonal;
350 template <
typename number>
358 template <
typename number>
366 template <
typename number>
377 template <
typename number>
378 template <
class OutVector,
class InVector>
381 const InVector &src)
const 385 this->vmult(tmp, src);
393 template <
typename number>
394 template <
class OutVector,
class InVector>
397 const InVector &src)
const 401 this->Tvmult(tmp, src);
408 template <
typename number>
411 const unsigned int extra_off_diag,
412 const bool use_prev_sparsity,
415 strengthen_diagonal(strengthen_diag),
416 extra_off_diagonals(extra_off_diag),
417 use_previous_sparsity(use_prev_sparsity),
418 use_this_sparsity(use_this_spars)
424 DEAL_II_NAMESPACE_CLOSE
426 #endif // dealii_sparse_decomposition_h SparseMatrix< number >::size_type size_type
AdditionalData(const double strengthen_diagonal=0, const unsigned int extra_off_diagonals=0, const bool use_previous_sparsity=false, const SparsityPattern *use_this_sparsity=nullptr)
void vmult_add(OutVector &dst, const InVector &src) const
static ::ExceptionBase & ExcInvalidStrengthening(double arg1)
void copy_from(const SparseMatrix< somenumber > &matrix)
SparsityPattern * own_sparsity
bool use_previous_sparsity
double strengthen_diagonal
const SparsityPattern * use_this_sparsity
#define DeclException1(Exception1, type1, outsequence)
virtual ~SparseLUDecomposition()=0
std::vector< const size_type * > prebuilt_lower_bound
void Tvmult_add(OutVector &dst, const InVector &src) const
unsigned int extra_off_diagonals
types::global_dof_index size_type
virtual std::size_t memory_consumption() const
virtual void strengthen_diagonal_impl()
virtual number get_strengthen_diagonal(const number rowsum, const size_type row) const
double strengthen_diagonal
void initialize(const SparseMatrix< somenumber > &matrix, const AdditionalData parameters)
void prebuild_lower_bound()