44 #ifndef ROL_BLOCKOPERATOR2DETERMINANT_H
45 #define ROL_BLOCKOPERATOR2DETERMINANT_H
75 ROL::Ptr<V> &scratch ) :
80 A_->update(x,flag,
true);
81 B_->update(x,flag,
true);
82 C_->update(x,flag,
true);
83 D_->update(x,flag,
true);
97 ROL_TEST_FOR_EXCEPTION(
true , std::logic_error,
98 ">>> ERROR (ROL_BlockOperator2Determinant, applyInverse): "
106 #endif // ROL_BLOCKOPERATOR2DETERMINANT_H
virtual void axpy(const Real alpha, const Vector &x)
Compute where .
virtual void apply(Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const
Apply linear operator.
virtual void applyInverse(Vector< Real > &Hv, const Vector< Real > &v, Real &tol) const
Apply inverse of linear operator.
LinearOperator< Real > OP
Provides the interface to the block determinant of a 2x2 block operator
Defines the linear algebra or vector space interface.
Provides the interface to apply a linear operator.
BlockOperator2Determinant(ROL::Ptr< OP > &A, ROL::Ptr< OP > &B, ROL::Ptr< OP > &C, ROL::Ptr< OP > &D, ROL::Ptr< V > &scratch)
virtual void update(const Vector< Real > &x, bool flag=true, int iter=-1)
Update linear operator.