*/
-/**
- * A matrix that is the multiple of another matrix.
- *
- * Matrix-vector products of this matrix are composed of those of the original
- * matrix with the vector and then scaling of the result by a constant factor.
- *
- * @deprecated If deal.II was configured with C++11 support, use the
- * LinearOperator class instead, see the module on
- * @ref LAOperators "linear operators"
- * for further details.
- *
- * @author Guido Kanschat, 2007
- */
-template<typename VectorType>
-class ScaledMatrix : public Subscriptor
-{
-public:
- /**
- * Constructor leaving an uninitialized object.
- */
- ScaledMatrix ();
- /**
- * Constructor with initialization.
- */
- template <typename MatrixType>
- ScaledMatrix (const MatrixType &M,
- const double factor);
-
- /**
- * Destructor
- */
- ~ScaledMatrix ();
-
- /**
- * Initialize for use with a new matrix and factor.
- */
- template <typename MatrixType>
- void initialize (const MatrixType &M,
- const double factor);
-
- /**
- * Reset the object to its original state.
- */
- void clear ();
-
- /**
- * Matrix-vector product.
- */
- void vmult (VectorType &w,
- const VectorType &v) const;
-
- /**
- * Transposed matrix-vector product.
- */
- void Tvmult (VectorType &w,
- const VectorType &v) const;
-
-private:
- /**
- * The matrix.
- */
- PointerMatrixBase<VectorType> *m;
-
- /**
- * The scaling factor;
- */
- double factor;
-};
-
-
/**
* Mean value filter. The vmult() functions of this matrix filter out mean
* values of the vector. If the vector is of type BlockVector, then an
//---------------------------------------------------------------------------
-template<typename VectorType>
-inline
-ScaledMatrix<VectorType>::ScaledMatrix()
- :
- m(0),
- factor (0)
-{}
-
-
-
-template<typename VectorType>
-template<typename MatrixType>
-inline
-ScaledMatrix<VectorType>::ScaledMatrix(const MatrixType &mat, const double factor)
- :
- m(new_pointer_matrix_base(mat, VectorType())),
- factor(factor)
-{}
-
-
-
-template<typename VectorType>
-template<typename MatrixType>
-inline
-void
-ScaledMatrix<VectorType>::initialize(const MatrixType &mat, const double f)
-{
- if (m) delete m;
- m = new_pointer_matrix_base(mat, VectorType());
- factor = f;
-}
-
-
-
-template<typename VectorType>
-inline
-void
-ScaledMatrix<VectorType>::clear()
-{
- if (m) delete m;
- m = 0;
-}
-
-
-
-template<typename VectorType>
-inline
-ScaledMatrix<VectorType>::~ScaledMatrix()
-{
- clear ();
-}
-
-
-template<typename VectorType>
-inline
-void
-ScaledMatrix<VectorType>::vmult (VectorType &w, const VectorType &v) const
-{
- m->vmult(w, v);
- w *= factor;
-}
-
-
-template<typename VectorType>
-inline
-void
-ScaledMatrix<VectorType>::Tvmult (VectorType &w, const VectorType &v) const
-{
- m->Tvmult(w, v);
- w *= factor;
-}
-
-
-//---------------------------------------------------------------------------
-
template <typename VectorType>
inline void
MeanValueFilter::Tvmult(VectorType &, const VectorType &) const