1#ifndef included_AMP_IdentityOperator
2#define included_AMP_IdentityOperator
4#include "AMP/operators/LinearOperator.h"
5#include "AMP/operators/OperatorParameters.h"
6#include "AMP/vectors/Vector.h"
30 std::string
type()
const override {
return "IdentityOperator"; }
47 void reset( std::shared_ptr<const OperatorParameters> params )
override;
49 std::shared_ptr<OperatorParameters>
51 std::shared_ptr<const AMP::LinearAlgebra::Vector>
u,
52 std::shared_ptr<OperatorParameters> params =
nullptr )
override;
std::shared_ptr< Vector > shared_ptr
Shorthand for shared pointer to Vector.
std::shared_ptr< const Vector > const_shared_ptr
void setMatrix(std::shared_ptr< AMP::LinearAlgebra::Matrix > in_mat) override
std::shared_ptr< AMP::LinearAlgebra::Vector > createOutputVector() const override
Get a left vector ( For , is a left vector )
virtual ~IdentityOperator()
Destructor.
IdentityOperator()
Constructor. This resets the matrix shared pointer.
std::shared_ptr< OperatorParameters > getParameters(const std::string &type, std::shared_ptr< const AMP::LinearAlgebra::Vector > u, std::shared_ptr< OperatorParameters > params=nullptr) override
std::string type() const override
Return the name of the operator.
virtual void setOutputVariable(std::shared_ptr< AMP::LinearAlgebra::Variable > var)
Set the output variable.
IdentityOperator(std::shared_ptr< const OperatorParameters > params)
void reset(std::shared_ptr< const OperatorParameters > params) override
virtual void setInputVariable(std::shared_ptr< AMP::LinearAlgebra::Variable > var)
Set the input variable.
void apply(AMP::LinearAlgebra::Vector::const_shared_ptr u, AMP::LinearAlgebra::Vector::shared_ptr f) override
std::shared_ptr< AMP::LinearAlgebra::Vector > createInputVector() const override
Get a right vector ( For , is a right vector )
std::shared_ptr< AMP::LinearAlgebra::Variable > d_outputVariable
std::shared_ptr< AMP::LinearAlgebra::Variable > d_inputVariable
std::shared_ptr< AMP::Operator::Operator > shared_ptr