2#ifndef included_AMP_LinearOperator
3#define included_AMP_LinearOperator
5#include "AMP/matrices/Matrix.h"
6#include "AMP/operators/Operator.h"
7#include "AMP/operators/OperatorParameters.h"
8#include "AMP/vectors/Vector.h"
33 std::string
type()
const override {
return "LinearOperator"; }
48 virtual std::shared_ptr<AMP::LinearAlgebra::Matrix>
getMatrix();
56 virtual void setVariables( std::shared_ptr<AMP::LinearAlgebra::Variable> in,
57 std::shared_ptr<AMP::LinearAlgebra::Variable> out )
92 std::shared_ptr<AMP::LinearAlgebra::Matrix>
d_matrix;
std::shared_ptr< Vector > shared_ptr
Shorthand for shared pointer to Vector.
std::shared_ptr< const Vector > const_shared_ptr
std::shared_ptr< AMP::LinearAlgebra::Variable > getOutputVariable() const override
Return the output variable.
virtual void setMatrix(std::shared_ptr< AMP::LinearAlgebra::Matrix > in_mat)
std::shared_ptr< AMP::LinearAlgebra::Variable > d_outputVariable
std::string type() const override
Return the name of the operator.
virtual void apply(AMP::LinearAlgebra::Vector::const_shared_ptr u, AMP::LinearAlgebra::Vector::shared_ptr f) override
virtual std::shared_ptr< AMP::LinearAlgebra::Matrix > getMatrix()
virtual ~LinearOperator()
Destructor.
std::shared_ptr< AMP::LinearAlgebra::Variable > getInputVariable() const override
Return the input variable.
std::shared_ptr< AMP::LinearAlgebra::Matrix > d_matrix
LinearOperator()
Empty constructor.
virtual void setVariables(std::shared_ptr< AMP::LinearAlgebra::Variable > in, std::shared_ptr< AMP::LinearAlgebra::Variable > out)
std::shared_ptr< AMP::LinearAlgebra::Variable > d_inputVariable
std::shared_ptr< AMP::LinearAlgebra::Vector > createOutputVector() const override
Get an output vector ( For , is an output vector )
std::shared_ptr< AMP::LinearAlgebra::Vector > createInputVector() const override
Get a input vector ( For , is a input vector )
LinearOperator(std::shared_ptr< const OperatorParameters > params)
std::shared_ptr< AMP::Operator::Operator > shared_ptr