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;
void applyAdjoint(Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const override
void apply(Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const override
void applyAdjointInverse(Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const override
const std::vector< Ptr< LinearOperator< Real > > > diag_
BlockDiagonalOperator(const std::vector< Ptr< LinearOperator< Real > > > &diag)
void applyInverse(Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const override
const Ptr< LinearOperator< Real > > get(unsigned i) const
Provides the interface to apply a linear operator.
Defines the linear algebra or vector space interface.