74#ifndef STOKHOS_MLPRECOP_HPP
75#define STOKHOS_MLPRECOP_HPP
93#include "ml_include.h"
94#include "ml_MultiLevelPreconditioner.h"
98#include "Teuchos_Array.hpp"
109class MLPrecOp:
public virtual Epetra_Operator {
114 MLPrecOp(
const Epetra_CrsMatrix& mean_op,
const Teuchos::Array<double>& norms,
const Epetra_Comm& Comm,
const Epetra_Map& DMap,
const Epetra_Map& RMap);
133 int SetUseTranspose (
bool ) {
return -1; }
144 int Apply(
const Epetra_MultiVector& X, Epetra_MultiVector& Y)
const {
return -1;};
156 int ApplyInverse(
const Epetra_MultiVector& X, Epetra_MultiVector& Y)
const;
166 double NormInf()
const {
return(0.0);};
172 const char * Label()
const{
return(Label_);};
175 bool UseTranspose()
const {
return(
false);};
178 bool HasNormInf()
const{
return(
false);};
181 const Epetra_Comm & Comm()
const{
return(Comm_);};
184 const Epetra_Map & OperatorDomainMap()
const {
return(DomainMap_);};
186 const Epetra_Map & OperatorRangeMap()
const {
return(RangeMap_);};
198 MLPrecOp& operator=(
const MLPrecOp&)
204 const Epetra_Comm& Comm_;
207 const Epetra_Map& DomainMap_;
209 const Epetra_Map& RangeMap_;
211 const Teuchos::Array<double>& norms_;
213 ML_Epetra::MultiLevelPreconditioner* MLPrec;
Top-level namespace for Stokhos classes and functions.