Public Member Functions | |
ShiftedMatrixGeneralized (const MATRIX &A, const MASSMATRIX &M, const double sigma) | |
void | shift (const double sigma) |
double | shift () const |
void | vmult (VECTOR &dst, const VECTOR &src) const |
double | residual (VECTOR &dst, const VECTOR &src, const VECTOR &rhs) const |
Private Attributes | |
SmartPointer< const MATRIX > | A |
SmartPointer< const MASSMATRIX > | M |
VECTOR | aux |
double | sigma |
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
ShiftedMatrixGeneralized< MATRIX, MASSMATRIX, VECTOR >::ShiftedMatrixGeneralized | ( | const MATRIX & | A, | |
const MASSMATRIX & | M, | |||
const double | sigma | |||
) | [inline] |
Constructor. Provide the base matrix and a shift parameter.
void ShiftedMatrixGeneralized< MATRIX, MASSMATRIX, VECTOR >::shift | ( | const double | sigma | ) | [inline] |
Set the shift parameter.
References ShiftedMatrixGeneralized< MATRIX, MASSMATRIX, VECTOR >::sigma.
double ShiftedMatrixGeneralized< MATRIX, MASSMATRIX, VECTOR >::shift | ( | ) | const [inline] |
Access to the shift parameter.
References ShiftedMatrixGeneralized< MATRIX, MASSMATRIX, VECTOR >::sigma.
void ShiftedMatrixGeneralized< MATRIX, MASSMATRIX, VECTOR >::vmult | ( | VECTOR & | dst, | |
const VECTOR & | src | |||
) | const [inline] |
double ShiftedMatrixGeneralized< MATRIX, MASSMATRIX, VECTOR >::residual | ( | VECTOR & | dst, | |
const VECTOR & | src, | |||
const VECTOR & | rhs | |||
) | const [inline] |
SmartPointer<const MATRIX> ShiftedMatrixGeneralized< MATRIX, MASSMATRIX, VECTOR >::A [private] |
Storage for base matrix.
Referenced by ShiftedMatrixGeneralized< MATRIX, MASSMATRIX, VECTOR >::residual(), and ShiftedMatrixGeneralized< MATRIX, MASSMATRIX, VECTOR >::vmult().
SmartPointer<const MASSMATRIX> ShiftedMatrixGeneralized< MATRIX, MASSMATRIX, VECTOR >::M [private] |
Storage for mass matrix.
Referenced by ShiftedMatrixGeneralized< MATRIX, MASSMATRIX, VECTOR >::residual(), and ShiftedMatrixGeneralized< MATRIX, MASSMATRIX, VECTOR >::vmult().
VECTOR ShiftedMatrixGeneralized< MATRIX, MASSMATRIX, VECTOR >::aux [private] |
Auxiliary vector.
Referenced by ShiftedMatrixGeneralized< MATRIX, MASSMATRIX, VECTOR >::residual(), and ShiftedMatrixGeneralized< MATRIX, MASSMATRIX, VECTOR >::vmult().
double ShiftedMatrixGeneralized< MATRIX, MASSMATRIX, VECTOR >::sigma [private] |