10#ifndef ROL_BLOCKDIAGONALOPERATOR_H
11#define ROL_BLOCKDIAGONALOPERATOR_H
30 const std::vector<Ptr<LinearOperator<Real>>>
diag_;
35 const Ptr<LinearOperator<Real>>
get(
unsigned i)
const;
Provides the interface to apply a block diagonal operator to a partitioned vector.
void applyAdjoint(Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const override
Apply adjoint of linear operator.
void apply(Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const override
Apply linear operator.
void applyAdjointInverse(Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const override
Apply adjoint of the inverse linear operator.
const std::vector< Ptr< LinearOperator< Real > > > diag_
void applyInverse(Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const override
Apply inverse of linear operator.
const Ptr< LinearOperator< Real > > get(unsigned i) const
Provides the interface to apply a linear operator.
Defines the linear algebra or vector space interface.