Dune Core Modules (2.9.0)

Class template which yields information related to a square matrix like its spectral (i.e. 2-norm) condition number. More...

#include <dune/istl/eigenvalue/test/matrixinfo.hh>

Public Types

typedef BCRSMatrix::field_type Real
 Type of the underlying field of the matrix.
 

Public Member Functions

 MatrixInfo (const BCRSMatrix &m, const bool verbose=false, const unsigned int arppp_a_verbosity_level=0, const unsigned int pia_verbosity_level=0)
 Construct from required parameters. More...
 
Real getCond2 (const bool assume_symmetric=true) const
 return spectral (i.e. 2-norm) condition number of the matrix
 

Protected Member Functions

Real computeSymCond2 () const
 
Real computeNonSymCond2 () const
 

Static Protected Attributes

static const int bvBlockSize = BCRSMatrix::block_type::rows
 

Detailed Description

template<typename BCRSMatrix>
class MatrixInfo< BCRSMatrix >

Class template which yields information related to a square matrix like its spectral (i.e. 2-norm) condition number.

Todo:
The current implementation is limited to DUNE-ISTL BCRSMatrix types with blocklevel 2. An extension to blocklevel >= 2 might be provided in a future version.
Template Parameters
BCRSMatrixType of a DUNE-ISTL BCRSMatrix whose properties shall be considered; is assumed to have blocklevel 2 with square blocks.
Author
Sebastian Westerheide.

Constructor & Destructor Documentation

◆ MatrixInfo()

template<typename BCRSMatrix >
MatrixInfo< BCRSMatrix >::MatrixInfo ( const BCRSMatrix &  m,
const bool  verbose = false,
const unsigned int  arppp_a_verbosity_level = 0,
const unsigned int  pia_verbosity_level = 0 
)
inline

Construct from required parameters.

Parameters
[in]mThe DUNE-ISTL BCRSMatrix whose properties shall be considered; is assumed to be square.
[in]verboseVerbosity setting.
[in]arppp_a_verbosity_levelVerbosity setting of the underlying ARPACK++ algorithms.
[in]pia_verbosity_levelVerbosity setting of the underlying power iteration based algorithms.

References DUNE_THROW.

Member Function Documentation

◆ computeNonSymCond2()

template<typename BCRSMatrix >
Real MatrixInfo< BCRSMatrix >::computeNonSymCond2 ( ) const
inlineprotected

compute spectral (i.e. 2-norm) condition number of the matrix, without assuming that it is symmetric

References Dune::transposeMatMultMat().

Referenced by MatrixInfo< BCRSMatrix >::getCond2().

◆ computeSymCond2()

template<typename BCRSMatrix >
Real MatrixInfo< BCRSMatrix >::computeSymCond2 ( ) const
inlineprotected

compute spectral (i.e. 2-norm) condition number of the matrix, while assuming that it is symmetric such that its largest/smallest magnitude eigenvalue can be used instead of its largest/smallest singular value to compute the spectral condition number

Referenced by MatrixInfo< BCRSMatrix >::getCond2().

Member Data Documentation

◆ bvBlockSize

template<typename BCRSMatrix >
const int MatrixInfo< BCRSMatrix >::bvBlockSize = BCRSMatrix::block_type::rows
staticprotected

Type of block vectors compatible with the rows of a BCRSMatrix object and its columns


The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (Mar 28, 23:30, 2024)