Public Member Functions | |
ShiftedMatrix (const MATRIX &A, const double sigma) | |
void | shift (const double sigma) |
double | shift () const |
template<class VECTOR > | |
void | vmult (VECTOR &dst, const VECTOR &src) const |
template<class VECTOR > | |
double | residual (VECTOR &dst, const VECTOR &src, const VECTOR &rhs) const |
Private Attributes | |
SmartPointer< const MATRIX > | A |
double | sigma |
Matrix with shifted diagonal values.
Given a matrix A
, this class implements a matrix-vector product with A+s I, where s is a provided shift parameter.
ShiftedMatrix< MATRIX >::ShiftedMatrix | ( | const MATRIX & | A, | |
const double | sigma | |||
) | [inline] |
Constructor. Provide the base matrix and a shift parameter.
void ShiftedMatrix< MATRIX >::shift | ( | const double | sigma | ) | [inline] |
Set the shift parameter.
References ShiftedMatrix< MATRIX >::sigma.
Referenced by EigenInverse< VECTOR >::solve().
double ShiftedMatrix< MATRIX >::shift | ( | ) | const [inline] |
Access to the shift parameter.
References ShiftedMatrix< MATRIX >::sigma.
void ShiftedMatrix< MATRIX >::vmult | ( | VECTOR & | dst, | |
const VECTOR & | src | |||
) | const [inline] |
Matrix-vector-product.
References ShiftedMatrix< MATRIX >::A, and ShiftedMatrix< MATRIX >::sigma.
double ShiftedMatrix< MATRIX >::residual | ( | VECTOR & | dst, | |
const VECTOR & | src, | |||
const VECTOR & | rhs | |||
) | const [inline] |
Residual.
References ShiftedMatrix< MATRIX >::A, and ShiftedMatrix< MATRIX >::sigma.
SmartPointer<const MATRIX> ShiftedMatrix< MATRIX >::A [private] |
Storage for base matrix.
Referenced by ShiftedMatrix< MATRIX >::residual(), and ShiftedMatrix< MATRIX >::vmult().
double ShiftedMatrix< MATRIX >::sigma [private] |
Auxiliary vector. Shift parameter.
Referenced by ShiftedMatrix< MATRIX >::residual(), ShiftedMatrix< MATRIX >::shift(), and ShiftedMatrix< MATRIX >::vmult().