10 #ifndef ROL_BLOCKOPERATOR2DETERMINANT_H
11 #define ROL_BLOCKOPERATOR2DETERMINANT_H
41 ROL::Ptr<V> &scratch ) :
46 A_->update(x,flag,
true);
47 B_->update(x,flag,
true);
48 C_->update(x,flag,
true);
49 D_->update(x,flag,
true);
63 ROL_TEST_FOR_EXCEPTION(
true , std::logic_error,
64 ">>> ERROR (ROL_BlockOperator2Determinant, applyInverse): "
72 #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.