|
typedef double | Scalar |
|
typedef int | LocalOrdinal |
|
typedef int | GlobalOrdinal |
|
typedef Teuchos::ScalarTraits
< Scalar >::magnitudeType | Magnitude |
|
using | CoordinateType = typename Teuchos::ScalarTraits< Scalar >::coordinateType |
|
using | RealValuedMultiVector = Xpetra::MultiVector< CoordinateType, LocalOrdinal, GlobalOrdinal, Node > |
|
typedef Teuchos::ScalarTraits
< double >::magnitudeType | Magnitude |
|
static RCP< const
Epetra_MultiVector > | MV2EpetraMV (RCP< MultiVector > const vec) |
| Helper utility to pull out the underlying Epetra objects from an Xpetra object. More...
|
|
static RCP< Epetra_MultiVector > | MV2NonConstEpetraMV (RCP< MultiVector > vec) |
|
static const Epetra_MultiVector & | MV2EpetraMV (const MultiVector &vec) |
|
static Epetra_MultiVector & | MV2NonConstEpetraMV (MultiVector &vec) |
|
static RCP< const
Epetra_CrsMatrix > | Op2EpetraCrs (RCP< const Matrix > Op) |
|
static RCP< Epetra_CrsMatrix > | Op2NonConstEpetraCrs (RCP< Matrix > Op) |
|
static const Epetra_CrsMatrix & | Op2EpetraCrs (const Matrix &Op) |
|
static Epetra_CrsMatrix & | Op2NonConstEpetraCrs (Matrix &Op) |
|
static const Epetra_Map & | Map2EpetraMap (const Map &map) |
|
static RCP< const
Tpetra::MultiVector< SC, LO,
GO, NO > > | MV2TpetraMV (RCP< MultiVector > const vec) |
| Helper utility to pull out the underlying Tpetra objects from an Xpetra object. More...
|
|
static RCP
< Tpetra::MultiVector< SC, LO,
GO, NO > > | MV2NonConstTpetraMV (RCP< MultiVector > vec) |
|
static RCP
< Tpetra::MultiVector< SC, LO,
GO, NO > > | MV2NonConstTpetraMV2 (MultiVector &vec) |
|
static const
Tpetra::MultiVector< SC, LO,
GO, NO > & | MV2TpetraMV (const MultiVector &vec) |
|
static Tpetra::MultiVector< SC,
LO, GO, NO > & | MV2NonConstTpetraMV (MultiVector &vec) |
|
static RCP< const
Tpetra::CrsMatrix< SC, LO, GO,
NO > > | Op2TpetraCrs (RCP< const Matrix > Op) |
|
static RCP< Tpetra::CrsMatrix
< SC, LO, GO, NO > > | Op2NonConstTpetraCrs (RCP< Matrix > Op) |
|
static const Tpetra::CrsMatrix
< SC, LO, GO, NO > & | Op2TpetraCrs (const Matrix &Op) |
|
static Tpetra::CrsMatrix< SC,
LO, GO, NO > & | Op2NonConstTpetraCrs (Matrix &Op) |
|
static RCP< const
Tpetra::RowMatrix< SC, LO, GO,
NO > > | Op2TpetraRow (RCP< const Matrix > Op) |
|
static RCP< Tpetra::RowMatrix
< SC, LO, GO, NO > > | Op2NonConstTpetraRow (RCP< Matrix > Op) |
|
static const RCP< const
Tpetra::Map< LO, GO, NO > > | Map2TpetraMap (const Map &map) |
|
static RCP< Xpetra::Matrix< SC,
LO, GO, NO > > | Crs2Op (RCP< CrsMatrix > Op) |
|
static RCP< Vector > | GetMatrixDiagonal (const Matrix &A) |
|
static RCP< Vector > | GetMatrixDiagonalInverse (const Matrix &A, Magnitude tol=Teuchos::ScalarTraits< SC >::eps()*100, const bool doLumped=false) |
|
static RCP< Vector > | GetLumpedMatrixDiagonal (Matrix 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< Vector > | GetMatrixOverlappedDiagonal (const Matrix &A) |
|
static RCP< Vector > | GetInverse (RCP< const Vector > v, Magnitude tol=Teuchos::ScalarTraits< SC >::eps()*100, SC tolReplacement=Teuchos::ScalarTraits< SC >::zero()) |
|
static Teuchos::Array< Magnitude > | ResidualNorm (const Operator &Op, const MultiVector &X, const MultiVector &RHS) |
|
static RCP< MultiVector > | Residual (const Operator &Op, const MultiVector &X, const MultiVector &RHS) |
|
static RCP< Teuchos::FancyOStream > | MakeFancy (std::ostream &os) |
|
static void | SetRandomSeed (const Teuchos::Comm< int > &comm) |
|
static Kokkos::View< bool
*, typename Node::device_type > | DetectDirichletRows (const Matrix &A, const Magnitude &tol=Teuchos::ScalarTraits< SC >::zero(), const bool count_twos_as_dirichlet=false) |
|
static Kokkos::View< bool
*, typename Node::device_type > | DetectDirichletCols (const Matrix &A, const Kokkos::View< const bool *, typename Node::device_type > &dirichletRows) |
|
static void | FindNonZeros (const typename Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node >::dual_view_type::t_dev_const_um vals, Kokkos::View< bool *, typename Node::device_type > nonzeros) |
|
static void | DetectDirichletColsAndDomains (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &A, const Kokkos::View< bool *, typename Node::device_type > &dirichletRows, Kokkos::View< bool *, typename Node::device_type > dirichletCols, Kokkos::View< bool *, typename Node::device_type > dirichletDomain) |
|
static void | ZeroDirichletRows (RCP< Matrix > &A, const Kokkos::View< const bool *, typename Node::device_type > &dirichletRows, SC replaceWith=Teuchos::ScalarTraits< SC >::zero()) |
|
static void | ZeroDirichletRows (RCP< MultiVector > &X, const Kokkos::View< const bool *, typename Node::device_type > &dirichletRows, SC replaceWith=Teuchos::ScalarTraits< SC >::zero()) |
|
static void | ZeroDirichletCols (RCP< Matrix > &A, const Kokkos::View< const bool *, typename Node::device_type > &dirichletCols, SC replaceWith=Teuchos::ScalarTraits< SC >::zero()) |
|
static void | ApplyRowSumCriterion (const Matrix &A, const typename Teuchos::ScalarTraits< Scalar >::magnitudeType rowSumTol, Kokkos::View< bool *, typename NO::device_type > &dirichletRows) |
|
static RCP< MultiVector > | RealValuedToScalarMultiVector (RCP< RealValuedMultiVector > X) |
|
static Scalar | PowerMethod (const Matrix &A, bool scaleByDiag=true, LO niters=10, Magnitude tolerance=1e-2, bool verbose=false, unsigned int seed=123) |
|
static Scalar | PowerMethod (const Matrix &A, const Teuchos::RCP< Vector > &invDiag, LO niters=10, Magnitude tolerance=1e-2, bool verbose=false, unsigned int seed=123) |
|
static void | MyOldScaleMatrix (Matrix &Op, const Teuchos::ArrayRCP< const SC > &scalingVector, bool doInverse=true, bool doFillComplete=true, bool doOptimizeStorage=true) |
|
static void | MyOldScaleMatrix_Tpetra (Matrix &Op, const Teuchos::ArrayRCP< Scalar > &scalingVector, bool doFillComplete, bool doOptimizeStorage) |
|
static void | MyOldScaleMatrix_Epetra (Matrix &Op, const Teuchos::ArrayRCP< Scalar > &scalingVector, bool doFillComplete, bool doOptimizeStorage) |
|
static RCP< Matrix > | Transpose (Matrix &Op, bool=false, const std::string &label=std::string(), const Teuchos::RCP< Teuchos::ParameterList > ¶ms=Teuchos::null) |
| Transpose a Xpetra::Matrix. More...
|
|
static RCP
< Xpetra::MultiVector
< typename
Teuchos::ScalarTraits< Scalar >
::magnitudeType, LO, GO, NO > > | ExtractCoordinatesFromParameterList (ParameterList ¶mList) |
| Extract coordinates from parameter list and return them in a Xpetra::MultiVector. More...
|
|
static RCP< Xpetra::Vector
< LocalOrdinal, LocalOrdinal,
GlobalOrdinal, Node > > | ReverseCuthillMcKee (const Matrix &Op) |
|
static RCP< Xpetra::Vector
< LocalOrdinal, LocalOrdinal,
GlobalOrdinal, Node > > | CuthillMcKee (const Matrix &Op) |
|
static void | ApplyOAZToMatrixRows (RCP< Matrix > &A, const Kokkos::View< const bool *, typename Node::device_type > &dirichletRows) |
|
|
static RCP< Matrix > | Crs2Op (RCP< CrsMatrix > Op) |
|
static RCP< CrsMatrixWrap > | GetThresholdedMatrix (const RCP< Matrix > &Ain, const doublethreshold, const bool keepDiagonal=true, const intexpectedNNZperRow=-1) |
| Threshold a matrix. More...
|
|
static RCP< Xpetra::CrsGraph
< int, int, Node > > | GetThresholdedGraph (const RCP< Matrix > &A, const Magnitude threshold, const intexpectedNNZperRow=-1) |
| Threshold a graph. More...
|
|
static Teuchos::ArrayRCP< double > | GetMatrixDiagonal (const Matrix &A) |
| Extract Matrix Diagonal. More...
|
|
static RCP< Vector > | GetMatrixDiagonalInverse (const Matrix &A, Magnitude tol=Teuchos::ScalarTraits< double >::eps()*100, doublevalReplacement=Teuchos::ScalarTraits< double >::zero()) |
| Extract Matrix Diagonal. More...
|
|
static Teuchos::RCP< Vector > | GetLumpedMatrixDiagonal (Matrix const &A, const bool doReciprocal=false, Magnitude tol=Teuchos::ScalarTraits< double >::magnitude(Teuchos::ScalarTraits< double >::zero()), doublevalReplacement=Teuchos::ScalarTraits< double >::zero(), const bool replaceSingleEntryRowWithZero=false, const bool useAverageAbsDiagVal=false) |
| Extract Matrix Diagonal of lumped matrix. More...
|
|
static Teuchos::ArrayRCP
< Magnitude > | GetMatrixMaxMinusOffDiagonal (const Xpetra::Matrix< double, int, int, Node > &A) |
| Return vector containing: max_{i=k}(-a_ik), for each for i in the matrix. More...
|
|
static Teuchos::ArrayRCP
< Magnitude > | GetMatrixMaxMinusOffDiagonal (const Xpetra::Matrix< double, int, int, Node > &A, const Xpetra::Vector< int, int, int, Node > &BlockNumber) |
|
static Teuchos::RCP< Vector > | GetInverse (Teuchos::RCP< const Vector > v, Magnitude tol=Teuchos::ScalarTraits< double >::eps()*100, doublevalReplacement=Teuchos::ScalarTraits< double >::zero()) |
| Return vector containing inverse of input vector. More...
|
|
static RCP< Vector > | GetMatrixOverlappedDiagonal (const Matrix &A) |
| Extract Overlapped Matrix Diagonal. More...
|
|
static RCP< Vector > | GetMatrixOverlappedDeletedRowsum (const Matrix &A) |
| Extract Overlapped Matrix Deleted Rowsum. More...
|
|
static RCP< Xpetra::Vector
< Magnitude, int, int, Node > > | GetMatrixOverlappedAbsDeletedRowsum (const Matrix &A) |
|
static Teuchos::Array< Magnitude > | ResidualNorm (const Xpetra::Operator< double, int, int, Node > &Op, const MultiVector &X, const MultiVector &RHS) |
|
static Teuchos::Array< Magnitude > | ResidualNorm (const Xpetra::Operator< double, int, int, Node > &Op, const MultiVector &X, const MultiVector &RHS, MultiVector &Resid) |
|
static RCP< MultiVector > | Residual (const Xpetra::Operator< double, int, int, Node > &Op, const MultiVector &X, const MultiVector &RHS) |
|
static void | Residual (const Xpetra::Operator< double, int, int, Node > &Op, const MultiVector &X, const MultiVector &RHS, MultiVector &Resid) |
|
static double | PowerMethod (const Matrix &A, bool scaleByDiag=true, intniters=10, Magnitude tolerance=1e-2, bool verbose=false, unsigned int seed=123) |
| Power method. More...
|
|
static double | PowerMethod (const Matrix &A, const RCP< Vector > &diagInvVec, intniters=10, Magnitude tolerance=1e-2, bool verbose=false, unsigned int seed=123) |
| Power method. More...
|
|
static RCP< Teuchos::FancyOStream > | MakeFancy (std::ostream &os) |
|
static Teuchos::ScalarTraits
< double >::magnitudeType | Distance2 (const Teuchos::Array< Teuchos::ArrayRCP< const double >> &v, inti0, inti1) |
| Squared distance between two rows in a multivector. More...
|
|
static Teuchos::ScalarTraits
< double >::magnitudeType | Distance2 (const Teuchos::ArrayView< double > &weight, const Teuchos::Array< Teuchos::ArrayRCP< const double >> &v, inti0, inti1) |
| Weighted squared distance between two rows in a multivector. More...
|
|
static Teuchos::ArrayRCP
< const bool > | DetectDirichletRows (const Xpetra::Matrix< double, int, int, Node > &A, const Magnitude &tol=Teuchos::ScalarTraits< double >::zero(), bool count_twos_as_dirichlet=false) |
| Detect Dirichlet rows. More...
|
|
static Teuchos::ArrayRCP
< const bool > | DetectDirichletRowsExt (const Xpetra::Matrix< double, int, int, Node > &A, bool &bHasZeroDiagonal, const Magnitude &tol=Teuchos::ScalarTraits< double >::zero()) |
| Detect Dirichlet rows (extended version) More...
|
|
static void | FindNonZeros (const Teuchos::ArrayRCP< const double > vals, Teuchos::ArrayRCP< bool > nonzeros) |
| Find non-zero values in an ArrayRCP Compares the value to 2 * machine epsilon. More...
|
|
static void | DetectDirichletColsAndDomains (const Xpetra::Matrix< double, int, int, 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. More...
|
|
static void | ApplyRowSumCriterion (const Xpetra::Matrix< double, int, int, Node > &A, const Magnitude rowSumTol, Teuchos::ArrayRCP< bool > &dirichletRows) |
| Apply Rowsum Criterion. More...
|
|
static void | ApplyRowSumCriterion (const Xpetra::Matrix< double, int, int, Node > &A, const Xpetra::Vector< int, int, int, Node > &BlockNumber, const Magnitude rowSumTol, Teuchos::ArrayRCP< bool > &dirichletRows) |
|
static Teuchos::ArrayRCP
< const bool > | DetectDirichletCols (const Xpetra::Matrix< double, int, int, Node > &A, const Teuchos::ArrayRCP< const bool > &dirichletRows) |
| Detect Dirichlet columns based on Dirichlet rows. More...
|
|
static double | Frobenius (const Xpetra::Matrix< double, int, int, Node > &A, const Xpetra::Matrix< double, int, int, 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< double, int, int, Node > > &A, std::vector< int > &dirichletRows, bool count_twos_as_dirichlet=false) |
|
static void | ApplyOAZToMatrixRows (Teuchos::RCP< Xpetra::Matrix< double, int, int, Node > > &A, const std::vector< int > &dirichletRows) |
|
static void | ApplyOAZToMatrixRows (Teuchos::RCP< Xpetra::Matrix< double, int, int, Node > > &A, const Teuchos::ArrayRCP< const bool > &dirichletRows) |
|
static void | ZeroDirichletRows (Teuchos::RCP< Xpetra::Matrix< double, int, int, Node > > &A, const std::vector< int > &dirichletRows, doublereplaceWith=Teuchos::ScalarTraits< double >::zero()) |
|
static void | ZeroDirichletRows (Teuchos::RCP< Xpetra::Matrix< double, int, int, Node > > &A, const Teuchos::ArrayRCP< const bool > &dirichletRows, doublereplaceWith=Teuchos::ScalarTraits< double >::zero()) |
|
static void | ZeroDirichletRows (Teuchos::RCP< Xpetra::MultiVector< double, int, int, Node > > &X, const Teuchos::ArrayRCP< const bool > &dirichletRows, doublereplaceWith=Teuchos::ScalarTraits< double >::zero()) |
|
static void | ZeroDirichletCols (Teuchos::RCP< Matrix > &A, const Teuchos::ArrayRCP< const bool > &dirichletCols, doublereplaceWith=Teuchos::ScalarTraits< double >::zero()) |
|
static void | FindDirichletRowsAndPropagateToCols (Teuchos::RCP< Xpetra::Matrix< double, int, int, Node > > &A, Teuchos::RCP< Xpetra::Vector< int, int, int, Node > > &isDirichletRow, Teuchos::RCP< Xpetra::Vector< int, int, int, Node > > &isDirichletCol) |
|
static RCP< const
Xpetra::BlockedMap< int, int,
Node > > | GeneratedBlockedTargetMap (const Xpetra::BlockedMap< int, int, Node > &sourceBlockedMap, const Xpetra::Import< int, int, Node > &Importer) |
|
static bool | MapsAreNested (const Xpetra::Map< int, int, Node > &rowMap, const Xpetra::Map< int, int, Node > &colMap) |
|
template<class Node>
class MueLu::Utilities_kokkos< double, int, int, Node >
Definition at line 351 of file MueLu_Utilities_kokkos_decl.hpp.