10#ifndef BELOS_DENSE_SOLVER_HPP
11#define BELOS_DENSE_SOLVER_HPP
17#include "Teuchos_RCP.hpp"
18#include "Teuchos_BLAS_types.hpp"
22 template<
class ScalarType,
class DM>
51 virtual int setVectors(
const Teuchos::RCP<DM>&
X,
const Teuchos::RCP<DM>& B) {
X_ =
X;
B_ = B;
return 0; }
void setSPD(bool flag)
Set if dense matrix is symmetric positive definite.
void solveWithTransposeFlag(Teuchos::ETransp trans)
All subsequent function calls will work with the transpose-type set by this method (Teuchos::NO_TRANS...
virtual int solve()=0
Computes the solution X to AX = B for the this matrix and the B provided.
virtual int setMatrix(const Teuchos::RCP< DM > &A)
Sets the pointers for coefficient matrix.
virtual ~DenseSolver()
SerialDenseSolver destructor.
virtual int setVectors(const Teuchos::RCP< DM > &X, const Teuchos::RCP< DM > &B)
Sets the pointers for left and right hand side vector(s).
virtual int factor()=0
Computes the in-place LU factorization of the matrix.
DenseSolver()
Default constructor; matrix should be set using setMatrix(), LHS and RHS set with setVectors().
void factorWithEquilibration(bool flag)
Causes equilibration to be called just before the matrix factorization as part of the call to factor.
Alternative run-time polymorphic interface for operators.