| 
static RCP< const  
Tpetra::MultiVector< Scalar,  
LocalOrdinal, GlobalOrdinal,  
Node > >  | MV2TpetraMV (RCP< Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > const vec) | 
|   | Helper utility to pull out the underlying Tpetra objects from an Xpetra object.  More...
  | 
|   | 
static RCP 
< Tpetra::MultiVector< Scalar,  
LocalOrdinal, GlobalOrdinal,  
Node > >  | MV2NonConstTpetraMV (RCP< Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > vec) | 
|   | 
static RCP 
< Tpetra::MultiVector< Scalar,  
LocalOrdinal, GlobalOrdinal,  
Node > >  | MV2NonConstTpetraMV2 (Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &vec) | 
|   | 
static const  
Tpetra::MultiVector< Scalar,  
LocalOrdinal, GlobalOrdinal,  
Node > &  | MV2TpetraMV (const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &vec) | 
|   | 
static Tpetra::MultiVector 
< Scalar, LocalOrdinal,  
GlobalOrdinal, Node > &  | MV2NonConstTpetraMV (Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &vec) | 
|   | 
static RCP< const  
Tpetra::CrsMatrix< Scalar,  
LocalOrdinal, GlobalOrdinal,  
Node > >  | Op2TpetraCrs (RCP< const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Op) | 
|   | 
static RCP< Tpetra::CrsMatrix 
< Scalar, LocalOrdinal,  
GlobalOrdinal, Node > >  | Op2NonConstTpetraCrs (RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Op) | 
|   | 
static const Tpetra::CrsMatrix 
< Scalar, LocalOrdinal,  
GlobalOrdinal, Node > &  | Op2TpetraCrs (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Op) | 
|   | 
static Tpetra::CrsMatrix 
< Scalar, LocalOrdinal,  
GlobalOrdinal, Node > &  | Op2NonConstTpetraCrs (Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Op) | 
|   | 
static RCP< const  
Tpetra::RowMatrix< Scalar,  
LocalOrdinal, GlobalOrdinal,  
Node > >  | Op2TpetraRow (RCP< const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Op) | 
|   | 
static RCP< Tpetra::RowMatrix 
< Scalar, LocalOrdinal,  
GlobalOrdinal, Node > >  | Op2NonConstTpetraRow (RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Op) | 
|   | 
static const RCP< const  
Tpetra::Map< LocalOrdinal,  
GlobalOrdinal, Node > >  | Map2TpetraMap (const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > &map) | 
|   | 
static RCP< Xpetra::Matrix 
< Scalar, LocalOrdinal,  
GlobalOrdinal, Node > >  | Crs2Op (RCP< Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Op) | 
|   | 
| static Teuchos::ArrayRCP< Scalar >  | GetMatrixDiagonal (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A) | 
|   | 
static RCP< Xpetra::Vector 
< Scalar, LocalOrdinal,  
GlobalOrdinal, Node > >  | GetMatrixDiagonalInverse (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A, Magnitude tol=Teuchos::ScalarTraits< Scalar >::eps()*100) | 
|   | 
| static Teuchos::ArrayRCP< Scalar >  | GetLumpedMatrixDiagonal (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A) | 
|   | 
static Teuchos::RCP 
< Xpetra::Vector< Scalar,  
LocalOrdinal, GlobalOrdinal,  
Node > >  | GetLumpedMatrixDiagonal (Teuchos::RCP< const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > A) | 
|   | 
static RCP< Xpetra::Vector 
< Scalar, LocalOrdinal,  
GlobalOrdinal, Node > >  | GetMatrixOverlappedDiagonal (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A) | 
|   | 
static Teuchos::RCP 
< Xpetra::Vector< Scalar,  
LocalOrdinal, GlobalOrdinal,  
Node > >  | GetInverse (Teuchos::RCP< const Xpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > v, Magnitude tol=Teuchos::ScalarTraits< Scalar >::eps()*100, Scalar tolReplacement=Teuchos::ScalarTraits< Scalar >::zero()) | 
|   | 
| static Teuchos::Array< Magnitude >  | ResidualNorm (const Xpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Op, const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &X, const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &RHS) | 
|   | 
| static Teuchos::Array< Magnitude >  | ResidualNorm (const Xpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Op, const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &X, const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &RHS, Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Resid) | 
|   | 
static RCP 
< Xpetra::MultiVector< Scalar,  
LocalOrdinal, GlobalOrdinal,  
Node > >  | Residual (const Xpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Op, const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &X, const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &RHS) | 
|   | 
| static void  | Residual (const Xpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Op, const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &X, const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &RHS, Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Resid) | 
|   | 
| static void  | PauseForDebugger () | 
|   | 
| static RCP< Teuchos::FancyOStream >  | MakeFancy (std::ostream &os) | 
|   | 
static Teuchos::ScalarTraits 
< Scalar >::magnitudeType  | Distance2 (const Teuchos::Array< Teuchos::ArrayRCP< const Scalar >> &v, LocalOrdinal i0, LocalOrdinal i1) | 
|   | 
static Teuchos::ArrayRCP 
< const bool >  | DetectDirichletRows (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A, const Magnitude &tol=Teuchos::ScalarTraits< Scalar >::magnitude(0.), const bool count_twos_as_dirichlet=false) | 
|   | 
static Teuchos::ArrayRCP 
< const bool >  | DetectDirichletRowsExt (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A, bool &bHasZeroDiagonal, const Magnitude &tol=Teuchos::ScalarTraits< Scalar >::zero()) | 
|   | 
| static void  | SetRandomSeed (const Teuchos::Comm< int > &comm) | 
|   | 
| static Scalar  | PowerMethod (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A, bool scaleByDiag=true, LocalOrdinal niters=10, Magnitude tolerance=1e-2, bool verbose=false, unsigned int seed=123) | 
|   | 
| static Scalar  | Frobenius (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A, const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &B) | 
|   | 
| static void  | MyOldScaleMatrix (Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Op, const Teuchos::ArrayRCP< const Scalar > &scalingVector, bool doInverse=true, bool doFillComplete=true, bool doOptimizeStorage=true) | 
|   | 
| static void  | MyOldScaleMatrix_Epetra (Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Op, const Teuchos::ArrayRCP< Scalar > &scalingVector, bool doFillComplete, bool doOptimizeStorage) | 
|   | 
| static void  | MyOldScaleMatrix_Tpetra (Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Op, const Teuchos::ArrayRCP< Scalar > &scalingVector, bool doFillComplete, bool doOptimizeStorage) | 
|   | 
static RCP< Xpetra::Matrix 
< Scalar, LocalOrdinal,  
GlobalOrdinal, Node > >  | Transpose (Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Op, bool optimizeTranspose=false, const std::string &label=std::string(), const Teuchos::RCP< Teuchos::ParameterList > ¶ms=Teuchos::null) | 
|   | 
static RCP 
< Xpetra::MultiVector< Scalar,  
LocalOrdinal, GlobalOrdinal,  
Node > >  | RealValuedToScalarMultiVector (RCP< Xpetra::MultiVector< typename Teuchos::ScalarTraits< Scalar >::magnitudeType, LocalOrdinal, GlobalOrdinal, Node > > X) | 
|   | 
static RCP 
< Xpetra::MultiVector 
< typename  
Teuchos::ScalarTraits< Scalar > 
::magnitudeType, LocalOrdinal,  
GlobalOrdinal, Node > >  | ExtractCoordinatesFromParameterList (ParameterList ¶mList) | 
|   | 
| static void  | FindDirichletRows (Teuchos::RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &A, std::vector< LocalOrdinal > &dirichletRows, bool count_twos_as_dirichlet=false) | 
|   | 
| static void  | ApplyOAZToMatrixRows (Teuchos::RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &A, const std::vector< LocalOrdinal > &dirichletRows) | 
|   | 
| static void  | ApplyOAZToMatrixRows (Teuchos::RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &A, const Teuchos::ArrayRCP< const bool > &dirichletRows) | 
|   | 
| static void  | ZeroDirichletRows (Teuchos::RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &A, const std::vector< LocalOrdinal > &dirichletRows, Scalar replaceWith=Teuchos::ScalarTraits< Scalar >::zero()) | 
|   | 
| static void  | ZeroDirichletRows (Teuchos::RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &A, const Teuchos::ArrayRCP< const bool > &dirichletRows, Scalar replaceWith=Teuchos::ScalarTraits< Scalar >::zero()) | 
|   | 
| static void  | ZeroDirichletRows (Teuchos::RCP< Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &X, const Teuchos::ArrayRCP< const bool > &dirichletRows, Scalar replaceWith=Teuchos::ScalarTraits< Scalar >::zero()) | 
|   | 
| static void  | ZeroDirichletCols (Teuchos::RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &A, const Teuchos::ArrayRCP< const bool > &dirichletCols, Scalar replaceWith=Teuchos::ScalarTraits< Scalar >::zero()) | 
|   | 
| static RCP< Matrix >  | Crs2Op (RCP< CrsMatrix > Op) | 
|   | 
| static Teuchos::ArrayRCP< Scalar >  | GetMatrixDiagonal (const Matrix &A) | 
|   | Extract Matrix Diagonal.  More...
  | 
|   | 
| static RCP< Vector >  | GetMatrixDiagonalInverse (const Matrix &A, Magnitude tol=Teuchos::ScalarTraits< Scalar >::eps()*100) | 
|   | Extract Matrix Diagonal.  More...
  | 
|   | 
| static Teuchos::ArrayRCP< Scalar >  | GetLumpedMatrixDiagonal (const Matrix &A) | 
|   | Extract Matrix Diagonal of lumped matrix.  More...
  | 
|   | 
| static Teuchos::RCP< Vector >  | GetLumpedMatrixDiagonal (Teuchos::RCP< const Matrix > rcpA) | 
|   | Extract Matrix Diagonal of lumped matrix.  More...
  | 
|   | 
| static Teuchos::RCP< Vector >  | GetInverse (Teuchos::RCP< const Vector > v, Magnitude tol=Teuchos::ScalarTraits< Scalar >::eps()*100, Scalar tolReplacement=Teuchos::ScalarTraits< Scalar >::zero()) | 
|   | Return vector containing inverse of input vector.  More...
  | 
|   | 
| static RCP< Vector >  | GetMatrixOverlappedDiagonal (const Matrix &A) | 
|   | Extract Overlapped Matrix Diagonal.  More...
  | 
|   | 
| static Teuchos::Array< Magnitude >  | ResidualNorm (const Xpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Op, const MultiVector &X, const MultiVector &RHS) | 
|   | 
| static Teuchos::Array< Magnitude >  | ResidualNorm (const Xpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Op, const MultiVector &X, const MultiVector &RHS, MultiVector &Resid) | 
|   | 
| static RCP< MultiVector >  | Residual (const Xpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Op, const MultiVector &X, const MultiVector &RHS) | 
|   | 
| static void  | Residual (const Xpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Op, const MultiVector &X, const MultiVector &RHS, MultiVector &Resid) | 
|   | 
| static void  | PauseForDebugger () | 
|   | 
| static Scalar  | PowerMethod (const Matrix &A, bool scaleByDiag=true, LocalOrdinal niters=10, Magnitude tolerance=1e-2, bool verbose=false, unsigned int seed=123) | 
|   | Simple transpose for Tpetra::CrsMatrix types.  More...
  | 
|   | 
| static RCP< Teuchos::FancyOStream >  | MakeFancy (std::ostream &os) | 
|   | 
static Teuchos::ScalarTraits 
< Scalar >::magnitudeType  | Distance2 (const Teuchos::Array< Teuchos::ArrayRCP< const Scalar >> &v, LocalOrdinal i0, LocalOrdinal i1) | 
|   | Squared distance between two rows in a multivector.  More...
  | 
|   | 
static Teuchos::ArrayRCP 
< const bool >  | DetectDirichletRows (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A, const Magnitude &tol=Teuchos::ScalarTraits< Scalar >::zero(), bool count_twos_as_dirichlet=false) | 
|   | Detect Dirichlet rows.  More...
  | 
|   | 
static Teuchos::ArrayRCP 
< const bool >  | DetectDirichletRowsExt (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A, bool &bHasZeroDiagonal, const Magnitude &tol=Teuchos::ScalarTraits< Scalar >::zero()) | 
|   | Detect Dirichlet rows (extended version)  More...
  | 
|   | 
static Teuchos::ArrayRCP 
< const bool >  | DetectDirichletCols (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A, const Teuchos::ArrayRCP< const bool > &dirichletRows) | 
|   | Detect Dirichlet columns based on Dirichlet rows.  More...
  | 
|   | 
| static Scalar  | Frobenius (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A, const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &B) | 
|   | Frobenius inner product of two matrices.  More...
  | 
|   | 
| static void  | SetRandomSeed (const Teuchos::Comm< int > &comm) | 
|   | Set seed for random number generator.  More...
  | 
|   | 
| static void  | FindDirichletRows (Teuchos::RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &A, std::vector< LocalOrdinal > &dirichletRows, bool count_twos_as_dirichlet=false) | 
|   | 
| static void  | ApplyOAZToMatrixRows (Teuchos::RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &A, const std::vector< LocalOrdinal > &dirichletRows) | 
|   | 
| static void  | ApplyOAZToMatrixRows (Teuchos::RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &A, const Teuchos::ArrayRCP< const bool > &dirichletRows) | 
|   | 
| static void  | ZeroDirichletRows (Teuchos::RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &A, const std::vector< LocalOrdinal > &dirichletRows, Scalar replaceWith=Teuchos::ScalarTraits< Scalar >::zero()) | 
|   | 
| static void  | ZeroDirichletRows (Teuchos::RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &A, const Teuchos::ArrayRCP< const bool > &dirichletRows, Scalar replaceWith=Teuchos::ScalarTraits< Scalar >::zero()) | 
|   | 
| static void  | ZeroDirichletRows (Teuchos::RCP< Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &X, const Teuchos::ArrayRCP< const bool > &dirichletRows, Scalar replaceWith=Teuchos::ScalarTraits< Scalar >::zero()) | 
|   | 
| static void  | ZeroDirichletCols (Teuchos::RCP< Matrix > &A, const Teuchos::ArrayRCP< const bool > &dirichletCols, Scalar replaceWith=Teuchos::ScalarTraits< Scalar >::zero()) | 
|   | 
| static void  | FindDirichletRowsAndPropagateToCols (Teuchos::RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &A, Teuchos::RCP< Xpetra::Vector< int, LocalOrdinal, GlobalOrdinal, Node > > &isDirichletRow, Teuchos::RCP< Xpetra::Vector< int, LocalOrdinal, GlobalOrdinal, Node > > &isDirichletCol) | 
|   | 
static RCP< const  
Xpetra::BlockedMap 
< LocalOrdinal, GlobalOrdinal,  
Node > >  | GeneratedBlockedTargetMap (const Xpetra::BlockedMap< LocalOrdinal, GlobalOrdinal, Node > &sourceBlockedMap, const Xpetra::Import< LocalOrdinal, GlobalOrdinal, Node > &Importer) | 
|   | 
static RCP< const  
Epetra_MultiVector >  | MV2EpetraMV (RCP< Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > const vec) | 
|   | Helper utility to pull out the underlying Epetra objects from an Xpetra object.  More...
  | 
|   | 
| static RCP< Epetra_MultiVector >  | MV2NonConstEpetraMV (RCP< Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > vec) | 
|   | 
| static const Epetra_MultiVector &  | MV2EpetraMV (const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &vec) | 
|   | 
| static Epetra_MultiVector &  | MV2NonConstEpetraMV (Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &vec) | 
|   | 
static RCP< const  
Epetra_CrsMatrix >  | Op2EpetraCrs (RCP< const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Op) | 
|   | 
| static RCP< Epetra_CrsMatrix >  | Op2NonConstEpetraCrs (RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Op) | 
|   | 
| static const Epetra_CrsMatrix &  | Op2EpetraCrs (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Op) | 
|   | 
| static Epetra_CrsMatrix &  | Op2NonConstEpetraCrs (Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Op) | 
|   | 
| static const Epetra_Map &  | Map2EpetraMap (const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > &map) | 
|   | 
template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
class MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >
MueLu utility class. 
MueLu utility class (specialization SC=double and LO=GO=int).
This class provides a number of static helper methods. Some are temporary and will eventually go away, while others should be moved to Xpetra.
This class provides a number of static helper methods. Some are temporary and will eventually go away, while others should be moved to Xpetra.
Note: this is the implementation for Epetra. Tpetra throws if TPETRA_INST_INT_INT is disabled! 
Definition at line 54 of file MueLu_Utilities_fwd.hpp.