46#ifndef ANASAZI_OPERATOR_HPP
47#define ANASAZI_OPERATOR_HPP
52#include "Teuchos_ScalarTraits.hpp"
66 template <
class ScalarType>
84 virtual void Apply (
const MultiVec<ScalarType>& x, MultiVec<ScalarType>& y )
const = 0;
104 template <
class ScalarType>
115 static void Apply (
const Operator<ScalarType>& Op,
116 const MultiVec<ScalarType>& x,
117 MultiVec<ScalarType>& y )
118 { Op.Apply( x, y ); }
Anasazi header file which uses auto-configuration information to include necessary C++ headers.
Interface for multivectors used by Anasazi' linear solvers.
Virtual base class which defines basic traits for the operator type.
Interface for multivectors used by Anasazi's linear solvers.
static void Apply(const Operator< ScalarType > &Op, const MultiVec< ScalarType > &x, MultiVec< ScalarType > &y)
This method takes the Anasazi::MultiVec x and applies the Anasazi::Operator Op to it resulting in the...
Virtual base class which defines basic traits for the operator type.
Anasazi's templated virtual class for constructing an operator that can interface with the OperatorTr...
virtual ~Operator()
Destructor.
Operator()
Default constructor.
virtual void Apply(const MultiVec< ScalarType > &x, MultiVec< ScalarType > &y) const =0
This method takes the Anasazi::MultiVec x and applies the operator to it resulting in the Anasazi::Mu...
Namespace Anasazi contains the classes, structs, enums and utilities used by the Anasazi package.