10#ifndef BELOS_GMRES_ITERATION_HPP
11#define BELOS_GMRES_ITERATION_HPP
30 template <
class ScalarType,
class MV>
39 Teuchos::RCP<const MV>
V;
42 Teuchos::RCP<const MV>
Z;
50 Teuchos::RCP<const Teuchos::SerialDenseMatrix<int,ScalarType> >
H;
53 Teuchos::RCP<const Teuchos::SerialDenseMatrix<int,ScalarType> >
R;
56 Teuchos::RCP<const Teuchos::SerialDenseMatrix<int,ScalarType> >
z;
60 H(Teuchos::null),
R(Teuchos::null),
108template<
class ScalarType,
class MV,
class OP>
166 virtual void setSize(
int blockSize,
int numBlocks) = 0;
Belos header file which uses auto-configuration information to include necessary C++ headers.
Pure virtual base class which describes the basic interface to the linear solver iteration.
Collection of types and exceptions used within the Belos solvers.
BelosError(const std::string &what_arg)
virtual GmresIterationState< ScalarType, MV > getState() const =0
Get the current state of the linear solver.
virtual void initializeGmres(GmresIterationState< ScalarType, MV > &newstate)=0
Initialize the solver to an iterate, providing a complete state.
virtual int getCurSubspaceDim() const =0
Get the dimension of the search subspace used to generate the current solution to the linear problem.
virtual void updateLSQR(int dim=-1)=0
Method for updating QR factorization of upper Hessenberg matrix.
virtual int getMaxSubspaceDim() const =0
Get the maximum dimension allocated for the search subspace.
virtual void setSize(int blockSize, int numBlocks)=0
Set the blocksize and number of blocks to be used by the iterative solver in solving this linear prob...
GmresIterationInitFailure(const std::string &what_arg)
GmresIterationLAPACKFailure(const std::string &what_arg)
GmresIterationOrthoFailure(const std::string &what_arg)
Iteration()
Default Constructor.
Structure to contain pointers to GmresIteration state variables.
Teuchos::RCP< const MV > V
The current Krylov basis.
Teuchos::RCP< const Teuchos::SerialDenseMatrix< int, ScalarType > > z
The current right-hand side of the least squares system RY = Z.
Teuchos::RCP< const MV > Z
The current preconditioned Krylov basis (only used in flexible GMRES).
int curDim
The current dimension of the reduction.
Teuchos::RCP< const Teuchos::SerialDenseMatrix< int, ScalarType > > H
The current Hessenberg matrix.
Teuchos::RCP< const Teuchos::SerialDenseMatrix< int, ScalarType > > R
The current upper-triangular matrix from the QR reduction of H.