44 #include "Epetra_SerialDenseVector.h" 53 EstimateSolutionErrors_(
false),
54 SolutionErrorsEstimated_(
false),
57 ReciprocalConditionEstimated_(
false),
58 RefineSolution_(
false),
59 SolutionRefined_(
false),
220 double * DL_ = F->
DL();
221 double * D_ = F->
D();
222 double * DU_ = F->
DU();
223 double * DU2_ = F->
DU2();
253 double DNRHS =
NRHS_;
274 double * DL_ = F->
DL();
275 double * D_ = F->
D();
276 double * DU_ = F->
DU();
277 double * DU2_ = F->
DU2();
279 lapack.GTTRS(
TRANS_,
N_,
NRHS_,DL_,D_,DU_,DU2_,
IPIV_,
X_,
N_,&
INFO_);
297 std::cout<<
" SerialTriDiSolver::ApplyRefinement this function is not supported"<<std::endl;
347 if (
Matrix_!=0) os <<
"Solver Matrix" << std::endl << *
Matrix_ << std::endl;
348 if (
Factor_!=0) os <<
"Solver Factored Matrix" << std::endl << *
Factor_ << std::endl;
349 if (
LHS_ !=0) os <<
"Solver LHS" << std::endl << *
LHS_ << std::endl;
350 if (
RHS_ !=0) os <<
"Solver RHS" << std::endl << *
RHS_ << std::endl;
virtual void Print(std::ostream &os) const
Print service methods; defines behavior of ostream << operator.
virtual int Invert(void)
Inverts the this matrix.
Epetra_SerialDenseMatrix * RHS_
void UpdateFlops(int Flops_in) const
Ifpack_SerialTriDiSolver()
Default constructor; matrix should be set using SetMatrix(), LHS and RHS set with SetVectors()...
bool ReciprocalConditionEstimated_
virtual int Solve(void)
Computes the solution X to AX = B for the this matrix and the B provided to SetVectors()..
virtual int ApplyRefinement(void)
Apply Iterative Refinement.
virtual int Factor(void)
Computes the in-place LU factorization of the matrix using the LAPACK routine DGETRF.
int SetMatrix(Ifpack_SerialTriDiMatrix &A)
Sets the pointers for coefficient matrix.
int N() const
Returns column dimension of system.
virtual ~Ifpack_SerialTriDiSolver()
Ifpack_SerialTriDiSolver destructor.
bool Inverted()
Returns true if matrix inverse has been computed (inverse available via AF() and LDAF()).
#define EPETRA_CHK_ERR(a)
void EstimateSolutionErrors(bool Flag)
Causes all solves to estimate the forward and backward solution error.
bool Factored()
Returns true if matrix is factored (factor available via AF() and LDAF()).
double * A() const
Returns pointer to the this matrix.
bool SolutionErrorsEstimated_
double * DL()
Returns pointer to the this matrix.
Ifpack_SerialTriDiMatrix * Matrix_
virtual int ReciprocalConditionEstimate(double &Value)
Unscales the solution vectors if equilibration was used to solve the system.
bool EstimateSolutionErrors_
bool ReciprocalConditionEstimated()
Returns true if the condition number of the this matrix has been computed (value available via Recipr...
Teuchos::LAPACK< int, double > lapack
virtual double OneNorm() const
Computes the 1-Norm of the this matrix (identical to NormOne() method).
Ifpack_SerialTriDiMatrix: A class for constructing and using real double precision general TriDi matr...
Ifpack_SerialTriDiMatrix * Factor_
int SetVectors(Epetra_SerialDenseMatrix &X, Epetra_SerialDenseMatrix &B)
Sets the pointers for left and right hand side vector(s).
Epetra_SerialDenseMatrix * LHS_