MueLu Version of the Day
Loading...
Searching...
No Matches
MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node > Class Template Reference

MueLu utility class. More...

#include <MueLu_Utilities_decl.hpp>

Inheritance diagram for MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >:
MueLu::UtilitiesBase< Scalar, LocalOrdinal, GlobalOrdinal, Node >

Public Types

typedef Teuchos::ScalarTraits< Scalar >::magnitudeType Magnitude
 
- Public Types inherited from MueLu::UtilitiesBase< Scalar, LocalOrdinal, GlobalOrdinal, Node >
typedef Teuchos::ScalarTraits< Scalar >::magnitudeType Magnitude
 

Static Public Member Functions

static RCP< const Epetra_MultiVectorMV2EpetraMV (RCP< Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > const vec)
 Helper utility to pull out the underlying Epetra objects from an Xpetra object.
 
static RCP< Epetra_MultiVectorMV2NonConstEpetraMV (RCP< Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > vec)
 
static const Epetra_MultiVectorMV2EpetraMV (const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &vec)
 
static Epetra_MultiVectorMV2NonConstEpetraMV (Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &vec)
 
static RCP< const Epetra_CrsMatrixOp2EpetraCrs (RCP< const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Op)
 
static RCP< Epetra_CrsMatrixOp2NonConstEpetraCrs (RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Op)
 
static const Epetra_CrsMatrixOp2EpetraCrs (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Op)
 
static Epetra_CrsMatrixOp2NonConstEpetraCrs (Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Op)
 
static const Epetra_MapMap2EpetraMap (const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > &map)
 
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.
 
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::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Op2TpetraBlockCrs (RCP< const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Op)
 
static RCP< Tpetra::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Op2NonConstTpetraBlockCrs (RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Op)
 
static const Tpetra::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > & Op2TpetraBlockCrs (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Op)
 
static Tpetra::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > & Op2NonConstTpetraBlockCrs (Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Op)
 
static RCP< const Tpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Op2TpetraRow (RCP< const Xpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Op)
 
static RCP< Tpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Op2NonConstTpetraRow (RCP< Xpetra::Operator< 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 RCP< Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node > > GetThresholdedMatrix (const RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &A, const Scalar threshold, const bool keepDiagonal, const GlobalOrdinal expectedNNZperRow)
 
static RCP< Xpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > GetThresholdedGraph (const RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &A, const Magnitude threshold, const GlobalOrdinal expectedNNZperRow)
 
static Teuchos::ArrayRCP< ScalarGetMatrixDiagonal (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, Scalar valReplacement=Teuchos::ScalarTraits< Scalar >::zero())
 
static Teuchos::RCP< Xpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > GetLumpedMatrixDiagonal (Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > const &A, const bool doReciprocal=false, Magnitude tol=Teuchos::ScalarTraits< Scalar >::eps() *100, Scalar tolReplacement=Teuchos::ScalarTraits< Scalar >::zero(), const bool replaceSingleEntryRowWithZero=false, const bool useAverageAbsDiagVal=false)
 
static RCP< Xpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > GetMatrixOverlappedDiagonal (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A)
 
static Teuchos::ArrayRCP< MagnitudeGetMatrixMaxMinusOffDiagonal (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A)
 
static Teuchos::ArrayRCP< MagnitudeGetMatrixMaxMinusOffDiagonal (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A, const Xpetra::Vector< LocalOrdinal, LocalOrdinal, GlobalOrdinal, Node > &BlockNumber)
 
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< MagnitudeResidualNorm (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< MagnitudeResidualNorm (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 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::ScalarTraits< Scalar >::magnitudeType Distance2 (const Teuchos::ArrayView< double > &weight, 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 FindNonZeros (const Teuchos::ArrayRCP< const Scalar > vals, Teuchos::ArrayRCP< bool > nonzeros)
 
static void DetectDirichletColsAndDomains (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A, const Teuchos::ArrayRCP< bool > &dirichletRows, Teuchos::ArrayRCP< bool > dirichletCols, Teuchos::ArrayRCP< bool > dirichletDomains)
 
static void ApplyRowSumCriterion (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A, const Magnitude rowSumTol, Teuchos::ArrayRCP< bool > &dirichletRows)
 
static void ApplyRowSumCriterion (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A, const Xpetra::Vector< LocalOrdinal, LocalOrdinal, GlobalOrdinal, Node > &BlockNumber, const Magnitude rowSumTol, Teuchos::ArrayRCP< bool > &dirichletRows)
 
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 PowerMethod (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A, const RCP< Xpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &invDiag, 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 > &params=Teuchos::null)
 
static RCP< Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > RealValuedToScalarMultiVector (RCP< Xpetra::MultiVector< typename Teuchos::ScalarTraits< Scalar >::coordinateType, LocalOrdinal, GlobalOrdinal, Node > > X)
 
static RCP< Xpetra::MultiVector< typename Teuchos::ScalarTraits< Scalar >::magnitudeType, LocalOrdinal, GlobalOrdinal, Node > > ExtractCoordinatesFromParameterList (ParameterList &paramList)
 
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 Public Member Functions inherited from MueLu::UtilitiesBase< Scalar, LocalOrdinal, GlobalOrdinal, Node >
static RCP< MatrixCrs2Op (RCP< CrsMatrix > Op)
 
static RCP< CrsMatrixWrapGetThresholdedMatrix (const RCP< Matrix > &Ain, const Scalar threshold, const bool keepDiagonal=true, const GlobalOrdinal expectedNNZperRow=-1)
 Threshold a matrix.
 
static RCP< Xpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > GetThresholdedGraph (const RCP< Matrix > &A, const Magnitude threshold, const GlobalOrdinal expectedNNZperRow=-1)
 Threshold a graph.
 
static Teuchos::ArrayRCP< ScalarGetMatrixDiagonal (const Matrix &A)
 Extract Matrix Diagonal.
 
static RCP< VectorGetMatrixDiagonalInverse (const Matrix &A, Magnitude tol=Teuchos::ScalarTraits< Scalar >::eps() *100, Scalar valReplacement=Teuchos::ScalarTraits< Scalar >::zero())
 Extract Matrix Diagonal.
 
static Teuchos::RCP< VectorGetLumpedMatrixDiagonal (Matrix const &A, const bool doReciprocal=false, Magnitude tol=Teuchos::ScalarTraits< Scalar >::magnitude(Teuchos::ScalarTraits< Scalar >::zero()), Scalar valReplacement=Teuchos::ScalarTraits< Scalar >::zero(), const bool replaceSingleEntryRowWithZero=false, const bool useAverageAbsDiagVal=false)
 Extract Matrix Diagonal of lumped matrix.
 
static Teuchos::ArrayRCP< MagnitudeGetMatrixMaxMinusOffDiagonal (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A)
 Return vector containing: max_{i\not=k}(-a_ik), for each for i in the matrix.
 
static Teuchos::ArrayRCP< MagnitudeGetMatrixMaxMinusOffDiagonal (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A, const Xpetra::Vector< LocalOrdinal, LocalOrdinal, GlobalOrdinal, Node > &BlockNumber)
 
static Teuchos::RCP< VectorGetInverse (Teuchos::RCP< const Vector > v, Magnitude tol=Teuchos::ScalarTraits< Scalar >::eps() *100, Scalar valReplacement=Teuchos::ScalarTraits< Scalar >::zero())
 Return vector containing inverse of input vector.
 
static RCP< VectorGetMatrixOverlappedDiagonal (const Matrix &A)
 Extract Overlapped Matrix Diagonal.
 
static RCP< VectorGetMatrixOverlappedDeletedRowsum (const Matrix &A)
 Extract Overlapped Matrix Deleted Rowsum.
 
static RCP< Xpetra::Vector< Magnitude, LocalOrdinal, GlobalOrdinal, Node > > GetMatrixOverlappedAbsDeletedRowsum (const Matrix &A)
 
static Teuchos::Array< MagnitudeResidualNorm (const Xpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Op, const MultiVector &X, const MultiVector &RHS)
 
static Teuchos::Array< MagnitudeResidualNorm (const Xpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Op, const MultiVector &X, const MultiVector &RHS, MultiVector &Resid)
 
static RCP< MultiVectorResidual (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 Scalar PowerMethod (const Matrix &A, bool scaleByDiag=true, LocalOrdinal niters=10, Magnitude tolerance=1e-2, bool verbose=false, unsigned int seed=123)
 Power method.
 
static Scalar PowerMethod (const Matrix &A, const RCP< Vector > &diagInvVec, LocalOrdinal niters=10, Magnitude tolerance=1e-2, bool verbose=false, unsigned int seed=123)
 Power method.
 
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.
 
static Teuchos::ScalarTraits< Scalar >::magnitudeType Distance2 (const Teuchos::ArrayView< double > &weight, const Teuchos::Array< Teuchos::ArrayRCP< const Scalar > > &v, LocalOrdinal i0, LocalOrdinal i1)
 Weighted squared distance between two rows in a multivector.
 
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.
 
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)
 
static void FindNonZeros (const Teuchos::ArrayRCP< const Scalar > vals, Teuchos::ArrayRCP< bool > nonzeros)
 Find non-zero values in an ArrayRCP Compares the value to 2 * machine epsilon.
 
static void DetectDirichletColsAndDomains (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A, const Teuchos::ArrayRCP< bool > &dirichletRows, Teuchos::ArrayRCP< bool > dirichletCols, Teuchos::ArrayRCP< bool > dirichletDomain)
 Detects Dirichlet columns & domains from a list of Dirichlet rows.
 
static void ApplyRowSumCriterion (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A, const Magnitude rowSumTol, Teuchos::ArrayRCP< bool > &dirichletRows)
 Apply Rowsum Criterion.
 
static void ApplyRowSumCriterion (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A, const Xpetra::Vector< LocalOrdinal, LocalOrdinal, GlobalOrdinal, Node > &BlockNumber, const Magnitude rowSumTol, Teuchos::ArrayRCP< bool > &dirichletRows)
 
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.
 
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.
 
static void SetRandomSeed (const Teuchos::Comm< int > &comm)
 Set seed for random number generator.
 
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 bool MapsAreNested (const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > &rowMap, const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > &colMap)
 

Detailed Description

template<class Scalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
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!

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!

This class provides a number of static helper methods. Some are temporary and will eventually go away, while others should be moved to Xpetra.

Definition at line 165 of file MueLu_Utilities_decl.hpp.

Member Typedef Documentation

◆ Magnitude

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
typedef Teuchos::ScalarTraits<Scalar>::magnitudeType MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Magnitude

Definition at line 170 of file MueLu_Utilities_decl.hpp.

Member Function Documentation

◆ MV2EpetraMV() [1/2]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
RCP< const Epetra_MultiVector > MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::MV2EpetraMV ( RCP< Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > const  vec)
static

Helper utility to pull out the underlying Epetra objects from an Xpetra object.

Definition at line 125 of file MueLu_Utilities_def.hpp.

◆ MV2NonConstEpetraMV() [1/2]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
RCP< Epetra_MultiVector > MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::MV2NonConstEpetraMV ( RCP< Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > >  vec)
static

Definition at line 133 of file MueLu_Utilities_def.hpp.

◆ MV2EpetraMV() [2/2]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
const Epetra_MultiVector & MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::MV2EpetraMV ( const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  vec)
static

Definition at line 147 of file MueLu_Utilities_def.hpp.

◆ MV2NonConstEpetraMV() [2/2]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
Epetra_MultiVector & MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::MV2NonConstEpetraMV ( Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  vec)
static

Definition at line 141 of file MueLu_Utilities_def.hpp.

◆ Op2EpetraCrs() [1/2]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
RCP< const Epetra_CrsMatrix > MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Op2EpetraCrs ( RCP< const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > >  Op)
static

Definition at line 153 of file MueLu_Utilities_def.hpp.

◆ Op2NonConstEpetraCrs() [1/2]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
RCP< Epetra_CrsMatrix > MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Op2NonConstEpetraCrs ( RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > >  Op)
static

Definition at line 164 of file MueLu_Utilities_def.hpp.

◆ Op2EpetraCrs() [2/2]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
const Epetra_CrsMatrix & MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Op2EpetraCrs ( const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  Op)
static

Definition at line 175 of file MueLu_Utilities_def.hpp.

◆ Op2NonConstEpetraCrs() [2/2]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
Epetra_CrsMatrix & MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Op2NonConstEpetraCrs ( Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  Op)
static

Definition at line 190 of file MueLu_Utilities_def.hpp.

◆ Map2EpetraMap()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
const Epetra_Map & MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Map2EpetraMap ( const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > &  map)
static

Definition at line 205 of file MueLu_Utilities_def.hpp.

◆ MV2TpetraMV() [1/2]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
RCP< const Tpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::MV2TpetraMV ( RCP< Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > const  vec)
static

Helper utility to pull out the underlying Tpetra objects from an Xpetra object.

Definition at line 216 of file MueLu_Utilities_def.hpp.

◆ MV2NonConstTpetraMV() [1/2]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
RCP< Tpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::MV2NonConstTpetraMV ( RCP< Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > >  vec)
static

Definition at line 224 of file MueLu_Utilities_def.hpp.

◆ MV2NonConstTpetraMV2()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
RCP< Tpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::MV2NonConstTpetraMV2 ( Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  vec)
static

Definition at line 238 of file MueLu_Utilities_def.hpp.

◆ MV2TpetraMV() [2/2]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
const Tpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::MV2TpetraMV ( const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  vec)
static

Definition at line 245 of file MueLu_Utilities_def.hpp.

◆ MV2NonConstTpetraMV() [2/2]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
Tpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > & MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::MV2NonConstTpetraMV ( Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  vec)
static

Definition at line 232 of file MueLu_Utilities_def.hpp.

◆ Op2TpetraCrs() [1/2]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
RCP< const Tpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Op2TpetraCrs ( RCP< const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > >  Op)
static

Definition at line 251 of file MueLu_Utilities_def.hpp.

◆ Op2NonConstTpetraCrs() [1/2]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
RCP< Tpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Op2NonConstTpetraCrs ( RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > >  Op)
static

Definition at line 263 of file MueLu_Utilities_def.hpp.

◆ Op2TpetraCrs() [2/2]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
const Tpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > & MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Op2TpetraCrs ( const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  Op)
static

Definition at line 274 of file MueLu_Utilities_def.hpp.

◆ Op2NonConstTpetraCrs() [2/2]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
Tpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > & MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Op2NonConstTpetraCrs ( Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  Op)
static

Definition at line 289 of file MueLu_Utilities_def.hpp.

◆ Op2TpetraBlockCrs() [1/2]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
RCP< const Tpetra::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Op2TpetraBlockCrs ( RCP< const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > >  Op)
static

Definition at line 305 of file MueLu_Utilities_def.hpp.

◆ Op2NonConstTpetraBlockCrs() [1/2]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
RCP< Tpetra::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Op2NonConstTpetraBlockCrs ( RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > >  Op)
static

Definition at line 318 of file MueLu_Utilities_def.hpp.

◆ Op2TpetraBlockCrs() [2/2]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
const Tpetra::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > & MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Op2TpetraBlockCrs ( const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  Op)
static

Definition at line 330 of file MueLu_Utilities_def.hpp.

◆ Op2NonConstTpetraBlockCrs() [2/2]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
Tpetra::BlockCrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > & MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Op2NonConstTpetraBlockCrs ( Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  Op)
static

Definition at line 346 of file MueLu_Utilities_def.hpp.

◆ Op2TpetraRow()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
RCP< const Tpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Op2TpetraRow ( RCP< const Xpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > >  Op)
static

Definition at line 363 of file MueLu_Utilities_def.hpp.

◆ Op2NonConstTpetraRow()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
RCP< Tpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Op2NonConstTpetraRow ( RCP< Xpetra::Operator< Scalar, LocalOrdinal, GlobalOrdinal, Node > >  Op)
static

Definition at line 391 of file MueLu_Utilities_def.hpp.

◆ Map2TpetraMap()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
const RCP< const Tpetra::Map< LocalOrdinal, GlobalOrdinal, Node > > MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Map2TpetraMap ( const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > &  map)
static

Definition at line 420 of file MueLu_Utilities_def.hpp.

◆ Crs2Op()

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Crs2Op ( RCP< Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > >  Op)
inlinestatic

Definition at line 221 of file MueLu_Utilities_decl.hpp.

◆ GetThresholdedMatrix()

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static RCP< Xpetra::CrsMatrixWrap< Scalar, LocalOrdinal, GlobalOrdinal, Node > > MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetThresholdedMatrix ( const RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &  A,
const Scalar  threshold,
const bool  keepDiagonal,
const GlobalOrdinal  expectedNNZperRow 
)
inlinestatic

Definition at line 222 of file MueLu_Utilities_decl.hpp.

◆ GetThresholdedGraph()

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static RCP< Xpetra::CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetThresholdedGraph ( const RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &  A,
const Magnitude  threshold,
const GlobalOrdinal  expectedNNZperRow 
)
inlinestatic

Definition at line 223 of file MueLu_Utilities_decl.hpp.

◆ GetMatrixDiagonal()

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static Teuchos::ArrayRCP< Scalar > MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetMatrixDiagonal ( const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  A)
inlinestatic

Definition at line 224 of file MueLu_Utilities_decl.hpp.

◆ GetMatrixDiagonalInverse()

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static RCP< Xpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetMatrixDiagonalInverse ( const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  A,
Magnitude  tol = Teuchos::ScalarTraits<Scalar>::eps()*100,
Scalar  valReplacement = Teuchos::ScalarTraits<Scalar>::zero() 
)
inlinestatic

Definition at line 225 of file MueLu_Utilities_decl.hpp.

◆ GetLumpedMatrixDiagonal()

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static Teuchos::RCP< Xpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetLumpedMatrixDiagonal ( Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > const &  A,
const bool  doReciprocal = false,
Magnitude  tol = Teuchos::ScalarTraits<Scalar>::eps()*100,
Scalar  tolReplacement = Teuchos::ScalarTraits<Scalar>::zero(),
const bool  replaceSingleEntryRowWithZero = false,
const bool  useAverageAbsDiagVal = false 
)
inlinestatic

Definition at line 226 of file MueLu_Utilities_decl.hpp.

◆ GetMatrixOverlappedDiagonal()

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static RCP< Xpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetMatrixOverlappedDiagonal ( const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  A)
inlinestatic

Definition at line 228 of file MueLu_Utilities_decl.hpp.

◆ GetMatrixMaxMinusOffDiagonal() [1/2]

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static Teuchos::ArrayRCP< Magnitude > MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetMatrixMaxMinusOffDiagonal ( const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  A)
inlinestatic

Definition at line 229 of file MueLu_Utilities_decl.hpp.

◆ GetMatrixMaxMinusOffDiagonal() [2/2]

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static Teuchos::ArrayRCP< Magnitude > MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetMatrixMaxMinusOffDiagonal ( const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  A,
const Xpetra::Vector< LocalOrdinal, LocalOrdinal, GlobalOrdinal, Node > &  BlockNumber 
)
inlinestatic

Definition at line 230 of file MueLu_Utilities_decl.hpp.

◆ GetInverse()

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static Teuchos::RCP< Xpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > MueLu::Utilities< 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() 
)
inlinestatic

Definition at line 232 of file MueLu_Utilities_decl.hpp.

◆ ResidualNorm() [1/2]

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static Teuchos::Array< Magnitude > MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::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 
)
inlinestatic

Definition at line 233 of file MueLu_Utilities_decl.hpp.

◆ ResidualNorm() [2/2]

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static Teuchos::Array< Magnitude > MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::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 
)
inlinestatic

Definition at line 234 of file MueLu_Utilities_decl.hpp.

◆ Residual() [1/2]

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static RCP< Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > MueLu::Utilities< 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 
)
inlinestatic

Definition at line 235 of file MueLu_Utilities_decl.hpp.

◆ Residual() [2/2]

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static void MueLu::Utilities< 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,
Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  Resid 
)
inlinestatic

Definition at line 236 of file MueLu_Utilities_decl.hpp.

◆ MakeFancy()

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static RCP< Teuchos::FancyOStream > MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::MakeFancy ( std::ostream &  os)
inlinestatic

Definition at line 237 of file MueLu_Utilities_decl.hpp.

◆ Distance2() [1/2]

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static Teuchos::ScalarTraits< Scalar >::magnitudeType MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Distance2 ( const Teuchos::Array< Teuchos::ArrayRCP< const Scalar > > &  v,
LocalOrdinal  i0,
LocalOrdinal  i1 
)
inlinestatic

Definition at line 238 of file MueLu_Utilities_decl.hpp.

◆ Distance2() [2/2]

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static Teuchos::ScalarTraits< Scalar >::magnitudeType MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Distance2 ( const Teuchos::ArrayView< double > &  weight,
const Teuchos::Array< Teuchos::ArrayRCP< const Scalar > > &  v,
LocalOrdinal  i0,
LocalOrdinal  i1 
)
inlinestatic

Definition at line 239 of file MueLu_Utilities_decl.hpp.

◆ DetectDirichletRows()

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static Teuchos::ArrayRCP< const bool > MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::DetectDirichletRows ( const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  A,
const Magnitude tol = Teuchos::ScalarTraits<Scalar>::magnitude(0.),
const bool  count_twos_as_dirichlet = false 
)
inlinestatic

Definition at line 240 of file MueLu_Utilities_decl.hpp.

◆ DetectDirichletRowsExt()

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static Teuchos::ArrayRCP< const bool > MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::DetectDirichletRowsExt ( const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  A,
bool &  bHasZeroDiagonal,
const Magnitude tol = Teuchos::ScalarTraits<Scalar>::zero() 
)
inlinestatic

Definition at line 241 of file MueLu_Utilities_decl.hpp.

◆ FindNonZeros()

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static void MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::FindNonZeros ( const Teuchos::ArrayRCP< const Scalar vals,
Teuchos::ArrayRCP< bool >  nonzeros 
)
inlinestatic

Definition at line 242 of file MueLu_Utilities_decl.hpp.

◆ DetectDirichletColsAndDomains()

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static void MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::DetectDirichletColsAndDomains ( const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  A,
const Teuchos::ArrayRCP< bool > &  dirichletRows,
Teuchos::ArrayRCP< bool >  dirichletCols,
Teuchos::ArrayRCP< bool >  dirichletDomains 
)
inlinestatic

Definition at line 243 of file MueLu_Utilities_decl.hpp.

◆ ApplyRowSumCriterion() [1/2]

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static void MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ApplyRowSumCriterion ( const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  A,
const Magnitude  rowSumTol,
Teuchos::ArrayRCP< bool > &  dirichletRows 
)
inlinestatic

Definition at line 245 of file MueLu_Utilities_decl.hpp.

◆ ApplyRowSumCriterion() [2/2]

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static void MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ApplyRowSumCriterion ( const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  A,
const Xpetra::Vector< LocalOrdinal, LocalOrdinal, GlobalOrdinal, Node > &  BlockNumber,
const Magnitude  rowSumTol,
Teuchos::ArrayRCP< bool > &  dirichletRows 
)
inlinestatic

Definition at line 246 of file MueLu_Utilities_decl.hpp.

◆ SetRandomSeed()

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static void MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::SetRandomSeed ( const Teuchos::Comm< int > &  comm)
inlinestatic

Definition at line 248 of file MueLu_Utilities_decl.hpp.

◆ PowerMethod() [1/2]

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static Scalar MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::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 
)
inlinestatic

Definition at line 250 of file MueLu_Utilities_decl.hpp.

◆ PowerMethod() [2/2]

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static Scalar MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::PowerMethod ( const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  A,
const RCP< Xpetra::Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &  invDiag,
LocalOrdinal  niters = 10,
Magnitude  tolerance = 1e-2,
bool  verbose = false,
unsigned int  seed = 123 
)
inlinestatic

Definition at line 255 of file MueLu_Utilities_decl.hpp.

◆ Frobenius()

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static Scalar MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Frobenius ( const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  A,
const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  B 
)
inlinestatic

Definition at line 260 of file MueLu_Utilities_decl.hpp.

◆ MyOldScaleMatrix()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::MyOldScaleMatrix ( Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  Op,
const Teuchos::ArrayRCP< const Scalar > &  scalingVector,
bool  doInverse = true,
bool  doFillComplete = true,
bool  doOptimizeStorage = true 
)
static

Definition at line 429 of file MueLu_Utilities_def.hpp.

◆ MyOldScaleMatrix_Epetra()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::MyOldScaleMatrix_Epetra ( Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  Op,
const Teuchos::ArrayRCP< Scalar > &  scalingVector,
bool  doFillComplete,
bool  doOptimizeStorage 
)
static

Definition at line 458 of file MueLu_Utilities_def.hpp.

◆ MyOldScaleMatrix_Tpetra()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::MyOldScaleMatrix_Tpetra ( Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  Op,
const Teuchos::ArrayRCP< Scalar > &  scalingVector,
bool  doFillComplete,
bool  doOptimizeStorage 
)
static

Definition at line 463 of file MueLu_Utilities_def.hpp.

◆ Transpose()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > MueLu::Utilities< 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 > &  params = Teuchos::null 
)
static

Definition at line 541 of file MueLu_Utilities_def.hpp.

◆ RealValuedToScalarMultiVector()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
RCP< Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::RealValuedToScalarMultiVector ( RCP< Xpetra::MultiVector< typename Teuchos::ScalarTraits< Scalar >::coordinateType, LocalOrdinal, GlobalOrdinal, Node > >  X)
static

Definition at line 633 of file MueLu_Utilities_def.hpp.

◆ ExtractCoordinatesFromParameterList()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
RCP< Xpetra::MultiVector< typename Teuchos::ScalarTraits< Scalar >::magnitudeType, LocalOrdinal, GlobalOrdinal, Node > > MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ExtractCoordinatesFromParameterList ( ParameterList &  paramList)
static

Definition at line 658 of file MueLu_Utilities_def.hpp.

◆ FindDirichletRows()

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static void MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::FindDirichletRows ( Teuchos::RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &  A,
std::vector< LocalOrdinal > &  dirichletRows,
bool  count_twos_as_dirichlet = false 
)
inlinestatic

Definition at line 278 of file MueLu_Utilities_decl.hpp.

◆ ApplyOAZToMatrixRows() [1/2]

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static void MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ApplyOAZToMatrixRows ( Teuchos::RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &  A,
const std::vector< LocalOrdinal > &  dirichletRows 
)
inlinestatic

Definition at line 283 of file MueLu_Utilities_decl.hpp.

◆ ApplyOAZToMatrixRows() [2/2]

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static void MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ApplyOAZToMatrixRows ( Teuchos::RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &  A,
const Teuchos::ArrayRCP< const bool > &  dirichletRows 
)
inlinestatic

Definition at line 287 of file MueLu_Utilities_decl.hpp.

◆ ZeroDirichletRows() [1/3]

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static void MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ZeroDirichletRows ( Teuchos::RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &  A,
const std::vector< LocalOrdinal > &  dirichletRows,
Scalar  replaceWith = Teuchos::ScalarTraits<Scalar>::zero() 
)
inlinestatic

Definition at line 291 of file MueLu_Utilities_decl.hpp.

◆ ZeroDirichletRows() [2/3]

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static void MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ZeroDirichletRows ( Teuchos::RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &  A,
const Teuchos::ArrayRCP< const bool > &  dirichletRows,
Scalar  replaceWith = Teuchos::ScalarTraits<Scalar>::zero() 
)
inlinestatic

Definition at line 295 of file MueLu_Utilities_decl.hpp.

◆ ZeroDirichletRows() [3/3]

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static void MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ZeroDirichletRows ( Teuchos::RCP< Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &  X,
const Teuchos::ArrayRCP< const bool > &  dirichletRows,
Scalar  replaceWith = Teuchos::ScalarTraits<Scalar>::zero() 
)
inlinestatic

Definition at line 299 of file MueLu_Utilities_decl.hpp.

◆ ZeroDirichletCols()

template<class Scalar , class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static void MueLu::Utilities< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ZeroDirichletCols ( Teuchos::RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &  A,
const Teuchos::ArrayRCP< const bool > &  dirichletCols,
Scalar  replaceWith = Teuchos::ScalarTraits<Scalar>::zero() 
)
inlinestatic

Definition at line 303 of file MueLu_Utilities_decl.hpp.


The documentation for this class was generated from the following files: