KASKADE 7 development version
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Kaskade::DenseInverseLocalMatrixStorage< m, Scalar > Class Template Reference

An inverse local matrix representation that simply stores the dense inverse. More...

#include <domainDecompositionPreconditioner.hh>

Detailed Description

template<int m, class Scalar = float>
class Kaskade::DenseInverseLocalMatrixStorage< m, Scalar >

An inverse local matrix representation that simply stores the dense inverse.

Definition at line 122 of file domainDecompositionPreconditioner.hh.

Inheritance diagram for Kaskade::DenseInverseLocalMatrixStorage< m, Scalar >:
Kaskade::InverseLocalMatrixStorageBase

Public Types

using field_type = Scalar
 

Public Member Functions

template<class T , class Index >
 DenseInverseLocalMatrixStorage (std::vector< size_t > const &ap, NumaBCRSMatrix< Dune::FieldMatrix< T, m, m >, Index > const &A, field_type regularizeForCondition, DenseInverseStorageTag< Scalar >)
 
template<class Vector >
void mv (Vector const &x, Vector &y) const
 
std::vector< size_t > const & indices () const
 Returns the global degrees of freedom defining the submatrix treated as a block here. More...
 
size_t storage () const
 Reports the storage size (in bytes) of the inverse block matrix. More...
 
size_t flops () const
 Reports the number of floating point operations per preconditioner application. More...
 

Protected Member Functions

template<int m, class LocalMatrix , class Real >
void regularize (LocalMatrix &aloc, Real r) const
 

Protected Attributes

size_t storageSize
 
size_t computeFlops
 

Member Typedef Documentation

◆ field_type

template<int m, class Scalar = float>
using Kaskade::DenseInverseLocalMatrixStorage< m, Scalar >::field_type = Scalar

Definition at line 128 of file domainDecompositionPreconditioner.hh.

Constructor & Destructor Documentation

◆ DenseInverseLocalMatrixStorage()

template<int m, class Scalar = float>
template<class T , class Index >
Kaskade::DenseInverseLocalMatrixStorage< m, Scalar >::DenseInverseLocalMatrixStorage ( std::vector< size_t > const &  ap,
NumaBCRSMatrix< Dune::FieldMatrix< T, m, m >, Index > const &  A,
field_type  regularizeForCondition,
DenseInverseStorageTag< Scalar >   
)
inline

Definition at line 131 of file domainDecompositionPreconditioner.hh.

Member Function Documentation

◆ flops()

size_t Kaskade::InverseLocalMatrixStorageBase::flops ( ) const
inlineinherited

Reports the number of floating point operations per preconditioner application.

This is a (rather accurate) estimate. Depending on BLAS implementation, lower order contributions may be inaccurate.

Definition at line 80 of file domainDecompositionPreconditioner.hh.

◆ indices()

std::vector< size_t > const & Kaskade::InverseLocalMatrixStorageBase::indices ( ) const
inlineinherited

◆ mv()

template<int m, class Scalar = float>
template<class Vector >
void Kaskade::DenseInverseLocalMatrixStorage< m, Scalar >::mv ( Vector const &  x,
Vector &  y 
) const
inline

Definition at line 172 of file domainDecompositionPreconditioner.hh.

◆ regularize()

template<int m, class LocalMatrix , class Real >
void Kaskade::InverseLocalMatrixStorageBase::regularize ( LocalMatrix aloc,
Real  r 
) const
inlineprotectedinherited

Definition at line 90 of file domainDecompositionPreconditioner.hh.

◆ storage()

size_t Kaskade::InverseLocalMatrixStorageBase::storage ( ) const
inlineinherited

Reports the storage size (in bytes) of the inverse block matrix.

Minor metadata that does not scale with the matrix size is neglected.

Definition at line 69 of file domainDecompositionPreconditioner.hh.

Member Data Documentation

◆ computeFlops

size_t Kaskade::InverseLocalMatrixStorageBase::computeFlops
protectedinherited

◆ storageSize

size_t Kaskade::InverseLocalMatrixStorageBase::storageSize
protectedinherited

The documentation for this class was generated from the following file: