44 #ifndef ROL_BLOCKOPERATOR2_H 45 #define ROL_BLOCKOPERATOR2_H 69 Teuchos::RCP<std::vector<Teuchos::RCP<OP> > >
ops_;
74 Teuchos::RCP<OP> &a21, Teuchos::RCP<OP> &a22 ) {
80 ops_ = rcp(
new vector<RCP<OP> > );
91 void apply( V &Hv,
const V &v, Real &tol )
const {
92 bkop_->apply(Hv,v,tol);
98 TEUCHOS_TEST_FOR_EXCEPTION(
true , std::logic_error,
99 ">>> ERROR (ROL_BlockOperator2, applyInverse): " 104 Teuchos::RCP<LinearOperator<Real> >
getOperator(
int row,
int col )
const {
106 if( 0<=dex && dex<=3 ) {
110 TEUCHOS_TEST_FOR_EXCEPTION(
true, std::invalid_argument,
111 ">>> ERROR (ROL_BlockOperator2, getOperator): " 112 "invalid block indices.");
122 #endif // ROL_BLOCKOPERATOR2_H PartitionedVector< Real > PV
Defines the linear algebra of vector space on a generic partitioned vector.
void applyInverse(V &Hv, const V &v, Real &tol) const
Apply inverse of linear operator.
Defines the linear algebra or vector space interface.
BlockOperator2(Teuchos::RCP< OP > &a11, Teuchos::RCP< OP > &a12, Teuchos::RCP< OP > &a21, Teuchos::RCP< OP > &a22)
Teuchos::RCP< std::vector< Teuchos::RCP< OP > > > ops_
LinearOperator< Real > OP
Teuchos::RCP< LinearOperator< Real > > getOperator(int row, int col) const
Provides the interface to apply a linear operator.
void apply(V &Hv, const V &v, Real &tol) const
Apply linear operator.
Provides the interface to apply a block operator to a partitioned vector.
Provides the interface to apply a 2x2 block operator to a partitioned vector.