Go to the documentation of this file.
44 #ifndef ROL_DIAGONALOPERATOR_H
45 #define ROL_DIAGONALOPERATOR_H
48 #include "ROL_Elementwise_Function.hpp"
68 const Elementwise::Multiply<Real>
mult_;
69 const Elementwise::Divide<Real>
div_;
98 #endif // ROL_DIAGONALOPERATOR_H
virtual void applyBinary(const Elementwise::BinaryFunction< Real > &f, const Vector &x)
DiagonalOperator(const Vector< Real > &diag)
void update(const Vector< Real > &x, bool flag=true, int iter=-1)
Update linear operator.
void apply(Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const
Apply linear operator.
const Elementwise::Divide< Real > div_
Provides the interface to apply a diagonal operator which acts like elementwise multiplication when a...
Defines the linear algebra or vector space interface.
void applyInverse(Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const
Apply inverse of linear operator.
const Elementwise::Multiply< Real > mult_
virtual void set(const Vector &x)
Set where .
ROL::Ptr< Vector< Real > > diag_
Provides the interface to apply a linear operator.