|
| static RCP< const Epetra_MultiVector > | MV2EpetraMV (RCP< MultiVector > const vec) |
| | Helper utility to pull out the underlying Epetra objects from an Xpetra object.
|
| 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::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > | Op2TpetraRow (RCP< const Operator > Op) |
| | Helper utility to pull out the underlying Tpetra objects from an Xpetra object.
|
| static RCP< Tpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > | Op2NonConstTpetraRow (RCP< Operator > Op) |
| static void | MyOldScaleMatrix (Matrix &Op, const Teuchos::ArrayRCP< const Scalar > &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, bool) |
| 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.
|
| static RCP< Xpetra::MultiVector< typename Teuchos::ScalarTraits< Scalar >::magnitudeType, 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 ¶mList) |
| | Extract coordinates from parameter list and return them in a Xpetra::MultiVector.
|
| static RCP< Matrix > | Crs2Op (RCP< CrsMatrix > Op) |
| static RCP< CrsMatrixWrap > | GetThresholdedMatrix (const RCP< Matrix > &Ain, const Magnitude threshold, const bool keepDiagonal=true, const int expectedNNZperRow=-1) |
| | Threshold a matrix.
|
| static RCP< Xpetra::CrsGraph< int, int, Xpetra::EpetraNode > > | GetThresholdedGraph (const RCP< Matrix > &A, const Magnitude threshold, const int expectedNNZperRow=-1) |
| | Threshold a graph.
|
| static Teuchos::ArrayRCP< double > | GetMatrixDiagonal_arcp (const Matrix &A) |
| | Extract Matrix Diagonal.
|
| static RCP< Vector > | GetMatrixDiagonal (const Matrix &A) |
| | Extract Matrix Diagonal.
|
| static RCP< Vector > | GetMatrixDiagonalInverse (const Matrix &A, Magnitude tol=Teuchos::ScalarTraits< double >::eps() *100, double valReplacement=Teuchos::ScalarTraits< double >::zero(), const bool doLumped=false) |
| | Extract Matrix Diagonal.
|
| static Teuchos::RCP< Vector > | GetLumpedMatrixDiagonal (Matrix const &A, const bool doReciprocal=false, Magnitude tol=Teuchos::ScalarTraits< double >::magnitude(Teuchos::ScalarTraits< double >::zero()), double valReplacement=Teuchos::ScalarTraits< double >::zero(), const bool replaceSingleEntryRowWithZero=false, const bool useAverageAbsDiagVal=false) |
| | Extract Matrix Diagonal of lumped matrix.
|
| static Teuchos::RCP< Vector > | GetMatrixMaxMinusOffDiagonal (const Xpetra::Matrix< double, int, int, Xpetra::EpetraNode > &A) |
| | Return vector containing: max_{i\not=k}(-a_ik), for each for i in the matrix.
|
| static Teuchos::RCP< Vector > | GetInverse (Teuchos::RCP< const Vector > v, Magnitude tol=Teuchos::ScalarTraits< double >::eps() *100, double valReplacement=Teuchos::ScalarTraits< double >::zero()) |
| | Return vector containing inverse of input vector.
|
| static RCP< Vector > | GetMatrixOverlappedDiagonal (const Matrix &A) |
| | Extract Overlapped Matrix Diagonal.
|
| static RCP< Vector > | GetMatrixOverlappedDeletedRowsum (const Matrix &A) |
| | Extract Overlapped Matrix Deleted Rowsum.
|
| static RCP< Xpetra::Vector< Magnitude, int, int, Xpetra::EpetraNode > > | GetMatrixOverlappedAbsDeletedRowsum (const Matrix &A) |
| static Teuchos::Array< Magnitude > | ResidualNorm (const Xpetra::Operator< double, int, int, Xpetra::EpetraNode > &Op, const MultiVector &X, const MultiVector &RHS) |
| static RCP< MultiVector > | Residual (const Xpetra::Operator< double, int, int, Xpetra::EpetraNode > &Op, const MultiVector &X, const MultiVector &RHS) |
| static double | PowerMethod (const Matrix &A, bool scaleByDiag=true, int 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< double >::magnitudeType | Distance2 (const Teuchos::Array< Teuchos::ArrayRCP< const double > > &v, int i0, int i1) |
| | Squared distance between two rows in a multivector.
|
| static Teuchos::ArrayRCP< const bool > | DetectDirichletRows (const Xpetra::Matrix< double, int, int, Xpetra::EpetraNode > &A, const Magnitude &tol=Teuchos::ScalarTraits< Magnitude >::zero(), bool count_twos_as_dirichlet=false) |
| | Detect Dirichlet rows.
|
| static Kokkos::View< bool *, typename NO::device_type::memory_space > | DetectDirichletRows_kokkos (const Matrix &A, const Magnitude &tol=Teuchos::ScalarTraits< typename Teuchos::ScalarTraits< SC >::magnitudeType >::zero(), const bool count_twos_as_dirichlet=false) |
| | Detect Dirichlet rows.
|
| static Kokkos::View< bool *, typename Kokkos::HostSpace > | DetectDirichletRows_kokkos_host (const Matrix &A, const Magnitude &tol=Teuchos::ScalarTraits< typename Teuchos::ScalarTraits< SC >::magnitudeType >::zero(), const bool count_twos_as_dirichlet=false) |
| static Teuchos::ArrayRCP< const bool > | DetectDirichletRowsExt (const Xpetra::Matrix< double, int, int, Xpetra::EpetraNode > &A, bool &bHasZeroDiagonal, const Magnitude &tol=Teuchos::ScalarTraits< double >::zero()) |
| | Detect Dirichlet rows (extended version).
|
| static void | EnforceInitialCondition (const Xpetra::Matrix< double, int, int, Xpetra::EpetraNode > &A, const Xpetra::MultiVector< double, int, int, Xpetra::EpetraNode > &RHS, Xpetra::MultiVector< double, int, int, Xpetra::EpetraNode > &InitialGuess, const Magnitude &tol=Teuchos::ScalarTraits< Magnitude >::zero(), const bool count_twos_as_dirichlet=false) |
| | Detect Dirichlet rows and copy values from RHS multivector to InitialGuess for Dirichlet rows.
|
| 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.
|
| static void | DetectDirichletColsAndDomains (const Xpetra::Matrix< double, int, int, Xpetra::EpetraNode > &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< double, int, int, Xpetra::EpetraNode > &A, const Magnitude rowSumTol, Teuchos::ArrayRCP< bool > &dirichletRows) |
| | Apply Rowsum Criterion.
|
| static void | ApplyRowSumCriterionHost (const Matrix &A, const typename Teuchos::ScalarTraits< double >::magnitudeType rowSumTol, Kokkos::View< bool *, Kokkos::HostSpace > &dirichletRows) |
| static Teuchos::ArrayRCP< const bool > | DetectDirichletCols (const Xpetra::Matrix< double, int, int, Xpetra::EpetraNode > &A, const Teuchos::ArrayRCP< const bool > &dirichletRows) |
| | Detect Dirichlet columns based on Dirichlet rows.
|
| static double | Frobenius (const Xpetra::Matrix< double, int, int, Xpetra::EpetraNode > &A, const Xpetra::Matrix< double, int, int, Xpetra::EpetraNode > &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< double, int, int, Xpetra::EpetraNode > > &A, std::vector< int > &dirichletRows, bool count_twos_as_dirichlet=false) |
| static void | ApplyOAZToMatrixRows (Teuchos::RCP< Xpetra::Matrix< double, int, int, Xpetra::EpetraNode > > &A, const std::vector< int > &dirichletRows) |
| static void | ZeroDirichletRows (Teuchos::RCP< Xpetra::Matrix< double, int, int, Xpetra::EpetraNode > > &A, const std::vector< int > &dirichletRows, double replaceWith=Teuchos::ScalarTraits< double >::zero()) |
| static void | ZeroDirichletCols (Teuchos::RCP< Matrix > &A, const Teuchos::ArrayRCP< const bool > &dirichletCols, double replaceWith=Teuchos::ScalarTraits< double >::zero()) |
| static void | FindDirichletRowsAndPropagateToCols (Teuchos::RCP< Xpetra::Matrix< double, int, int, Xpetra::EpetraNode > > &A, Teuchos::RCP< Xpetra::Vector< int, int, int, Xpetra::EpetraNode > > &isDirichletRow, Teuchos::RCP< Xpetra::Vector< int, int, int, Xpetra::EpetraNode > > &isDirichletCol) |
| static RCP< Xpetra::Matrix< double, int, int, Xpetra::EpetraNode > > | ReplaceNonZerosWithOnes (const RCP< Matrix > &original) |
| | Creates a copy of a matrix where the non-zero entries are replaced by ones.
|
| static RCP< const Xpetra::BlockedMap< int, int, Xpetra::EpetraNode > > | GeneratedBlockedTargetMap (const Xpetra::BlockedMap< int, int, Xpetra::EpetraNode > &sourceBlockedMap, const Xpetra::Import< int, int, Xpetra::EpetraNode > &Importer) |
| static bool | MapsAreNested (const Xpetra::Map< int, int, Xpetra::EpetraNode > &rowMap, const Xpetra::Map< int, int, Xpetra::EpetraNode > &colMap) |
| static RCP< Xpetra::Vector< int, int, int, Xpetra::EpetraNode > > | CuthillMcKee (const Matrix &Op) |
| static RCP< Xpetra::Vector< int, int, int, Xpetra::EpetraNode > > | ReverseCuthillMcKee (const Matrix &Op) |