16 #ifndef dealii__shifted_matrix_h 17 #define dealii__shifted_matrix_h 20 #include <deal.II/base/config.h> 21 #include <deal.II/base/smartpointer.h> 23 DEAL_II_NAMESPACE_OPEN
42 template<
typename MatrixType>
59 double shift ()
const;
64 template <
typename VectorType>
65 void vmult (VectorType &dst,
const VectorType &src)
const;
70 template <
typename VectorType>
71 double residual (VectorType &dst,
const VectorType &src,
const VectorType &rhs)
const;
106 template<
typename MatrixType,
class MatrixType2,
class VectorType>
114 const MatrixType2 &
M,
125 double shift ()
const;
130 void vmult (VectorType &dst,
const VectorType &src)
const;
135 double residual (VectorType &dst,
const VectorType &src,
const VectorType &rhs)
const;
162 template <
typename MatrixType>
172 template <
typename MatrixType>
180 template <
typename MatrixType>
189 template <
typename MatrixType>
190 template <
class VectorType>
200 template <
typename MatrixType>
201 template <
class VectorType>
204 const VectorType &src,
205 const VectorType &rhs)
const 210 dst.sadd(-1.,1.,rhs);
211 return dst.l2_norm ();
216 template <
typename MatrixType,
class MatrixType2,
class VectorType>
220 const MatrixType2 &M,
223 A(&A), M(&M), sigma(sigma)
227 template <
typename MatrixType,
class MatrixType2,
class VectorType>
234 template <
typename MatrixType,
class MatrixType2,
class VectorType>
242 template <
typename MatrixType,
class MatrixType2,
class VectorType>
246 const VectorType &src)
const 258 template <
typename MatrixType,
class MatrixType2,
class VectorType>
262 const VectorType &src,
263 const VectorType &rhs)
const 272 dst.sadd(-1.,1.,rhs);
273 return dst.l2_norm ();
277 DEAL_II_NAMESPACE_CLOSE
SmartPointer< const MatrixType2, ShiftedMatrixGeneralized< MatrixType, MatrixType2, VectorType > > M
SmartPointer< const MatrixType, ShiftedMatrixGeneralized< MatrixType, MatrixType2, VectorType > > A
double residual(VectorType &dst, const VectorType &src, const VectorType &rhs) const
double residual(VectorType &dst, const VectorType &src, const VectorType &rhs) const
void vmult(VectorType &dst, const VectorType &src) const
ShiftedMatrixGeneralized(const MatrixType &A, const MatrixType2 &M, const double sigma)
ShiftedMatrix(const MatrixType &A, const double sigma)
SmartPointer< const MatrixType, ShiftedMatrix< MatrixType > > A
void vmult(VectorType &dst, const VectorType &src) const