Reference documentation for deal.II version 8.5.1
Public Member Functions | Private Attributes | List of all members
ShiftedMatrixGeneralized< MatrixType, MatrixType2, VectorType > Class Template Reference

#include <deal.II/lac/shifted_matrix.h>

Public Member Functions

 ShiftedMatrixGeneralized (const MatrixType &A, const MatrixType2 &M, const double sigma)
 
void shift (const double sigma)
 
double shift () const
 
void vmult (VectorType &dst, const VectorType &src) const
 
double residual (VectorType &dst, const VectorType &src, const VectorType &rhs) const
 

Private Attributes

SmartPointer< const MatrixType, ShiftedMatrixGeneralized< MatrixType, MatrixType2, VectorType > > A
 
SmartPointer< const MatrixType2, ShiftedMatrixGeneralized< MatrixType, MatrixType2, VectorType > > M
 
VectorType aux
 
double sigma
 

Detailed Description

template<typename MatrixType, class MatrixType2, class VectorType>
class ShiftedMatrixGeneralized< MatrixType, MatrixType2, VectorType >

Matrix with shifted diagonal values with respect to a certain scalar product.

Given a matrix A, this class implements a matrix-vector product with A+s M, where s is a provided shift parameter and M is the matrix representing the identity

Deprecated:
If deal.II was configured with C++11 support, use the LinearOperator class instead, see the module on linear operators for further details.
Author
Guido Kanschat, 2001

Definition at line 107 of file shifted_matrix.h.

Constructor & Destructor Documentation

◆ ShiftedMatrixGeneralized()

template<typename MatrixType , class MatrixType2 , class VectorType >
ShiftedMatrixGeneralized< MatrixType, MatrixType2, VectorType >::ShiftedMatrixGeneralized ( const MatrixType &  A,
const MatrixType2 &  M,
const double  sigma 
)
inline

Constructor. Provide the base matrix and a shift parameter.

Definition at line 219 of file shifted_matrix.h.

Member Function Documentation

◆ shift() [1/2]

template<typename MatrixType , class MatrixType2 , class VectorType >
void ShiftedMatrixGeneralized< MatrixType, MatrixType2, VectorType >::shift ( const double  sigma)
inline

Set the shift parameter.

Definition at line 229 of file shifted_matrix.h.

◆ shift() [2/2]

template<typename MatrixType , class MatrixType2 , class VectorType >
double ShiftedMatrixGeneralized< MatrixType, MatrixType2, VectorType >::shift ( ) const
inline

Access to the shift parameter.

Definition at line 236 of file shifted_matrix.h.

◆ vmult()

template<typename MatrixType , class MatrixType2 , class VectorType >
void ShiftedMatrixGeneralized< MatrixType, MatrixType2, VectorType >::vmult ( VectorType &  dst,
const VectorType &  src 
) const
inline

Matrix-vector-product.

Definition at line 245 of file shifted_matrix.h.

◆ residual()

template<typename MatrixType , class MatrixType2 , class VectorType >
double ShiftedMatrixGeneralized< MatrixType, MatrixType2, VectorType >::residual ( VectorType &  dst,
const VectorType &  src,
const VectorType &  rhs 
) const
inline

Residual.

Definition at line 261 of file shifted_matrix.h.

Member Data Documentation

◆ A

template<typename MatrixType , class MatrixType2 , class VectorType >
SmartPointer<const MatrixType,ShiftedMatrixGeneralized<MatrixType,MatrixType2,VectorType> > ShiftedMatrixGeneralized< MatrixType, MatrixType2, VectorType >::A
private

Storage for base matrix.

Definition at line 141 of file shifted_matrix.h.

◆ M

template<typename MatrixType , class MatrixType2 , class VectorType >
SmartPointer<const MatrixType2,ShiftedMatrixGeneralized<MatrixType,MatrixType2,VectorType> > ShiftedMatrixGeneralized< MatrixType, MatrixType2, VectorType >::M
private

Storage for mass matrix.

Definition at line 145 of file shifted_matrix.h.

◆ aux

template<typename MatrixType , class MatrixType2 , class VectorType >
VectorType ShiftedMatrixGeneralized< MatrixType, MatrixType2, VectorType >::aux
mutableprivate

Auxiliary vector.

Definition at line 150 of file shifted_matrix.h.

◆ sigma

template<typename MatrixType , class MatrixType2 , class VectorType >
double ShiftedMatrixGeneralized< MatrixType, MatrixType2, VectorType >::sigma
private

Shift parameter.

Definition at line 155 of file shifted_matrix.h.


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