All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Static Public Member Functions | List of all members
Xpetra::MatrixUtils< Scalar, LocalOrdinal, GlobalOrdinal, Node > Class Template Reference

Xpetra utility class for common matrix-related routines. More...

#include <Xpetra_MatrixUtils_fwd.hpp>

Static Public Member Functions

static Teuchos::RCP
< Xpetra::MultiVector< Scalar,
LocalOrdinal, GlobalOrdinal,
Node > > 
xpetraGidNumbering2ThyraGidNumbering (const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &input)
 
static Teuchos::RCP
< Xpetra::Map< LocalOrdinal,
GlobalOrdinal, Node > > 
findColumnSubMap (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &input, const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > &domainMap)
 
static Teuchos::RCP
< Xpetra::BlockedCrsMatrix
< Scalar, LocalOrdinal,
GlobalOrdinal, Node > > 
SplitMatrix (const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &input, Teuchos::RCP< const Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node > > rangeMapExtractor, Teuchos::RCP< const Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node > > domainMapExtractor, Teuchos::RCP< const Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node > > columnMapExtractor=Teuchos::null, bool bThyraMode=false)
 
static void CheckRepairMainDiagonal (RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >> &Ac, bool const &repairZeroDiagonals, Teuchos::FancyOStream &fos, const typename Teuchos::ScalarTraits< Scalar >::magnitudeType threshold=Teuchos::ScalarTraits< typename Teuchos::ScalarTraits< Scalar >::magnitudeType >::zero())
 

Detailed Description

template<class Scalar, class LocalOrdinal, class GlobalOrdinal, class Node>
class Xpetra::MatrixUtils< Scalar, LocalOrdinal, GlobalOrdinal, Node >

Xpetra utility class for common matrix-related routines.

The routines should be independent from Epetra/Tpetra and be purely implemented in Xpetra. Other matrix-related routines are out-sourced into other helper classes (e.g. MatrixMatrix for MM multiplication and addition).

Definition at line 51 of file Xpetra_MatrixUtils_fwd.hpp.

Member Function Documentation

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
static Teuchos::RCP<Xpetra::MultiVector<Scalar, LocalOrdinal, GlobalOrdinal, Node> > Xpetra::MatrixUtils< Scalar, LocalOrdinal, GlobalOrdinal, Node >::xpetraGidNumbering2ThyraGidNumbering ( const Xpetra::MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  input)
inlinestatic

Definition at line 89 of file Xpetra_MatrixUtils.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
static Teuchos::RCP<Xpetra::Map<LocalOrdinal, GlobalOrdinal, Node> > Xpetra::MatrixUtils< Scalar, LocalOrdinal, GlobalOrdinal, Node >::findColumnSubMap ( const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  input,
const Xpetra::Map< LocalOrdinal, GlobalOrdinal, Node > &  domainMap 
)
inlinestatic

Definition at line 106 of file Xpetra_MatrixUtils.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
static Teuchos::RCP<Xpetra::BlockedCrsMatrix<Scalar, LocalOrdinal, GlobalOrdinal, Node> > Xpetra::MatrixUtils< Scalar, LocalOrdinal, GlobalOrdinal, Node >::SplitMatrix ( const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  input,
Teuchos::RCP< const Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node > >  rangeMapExtractor,
Teuchos::RCP< const Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node > >  domainMapExtractor,
Teuchos::RCP< const Xpetra::MapExtractor< Scalar, LocalOrdinal, GlobalOrdinal, Node > >  columnMapExtractor = Teuchos::null,
bool  bThyraMode = false 
)
inlinestatic

Given a matrix A split it into a nxm blocked matrix using the map extractors.

Parameters
inputInput matrix, must already have had 'FillComplete()' called.
rangeMapExtractorMapExtractor object describing the splitting of rows of the output block matrix
domainMapExtractorMapExtractor object describing the splitting of columns of the output block matrix
columnMapExtractor(not fully clear whether we need that. is always Teuchos::null)
bThyraModeIf true, build a n x n blocked operator using Thyra GIDs

Definition at line 194 of file Xpetra_MatrixUtils.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
static void Xpetra::MatrixUtils< Scalar, LocalOrdinal, GlobalOrdinal, Node >::CheckRepairMainDiagonal ( RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >> &  Ac,
bool const &  repairZeroDiagonals,
Teuchos::FancyOStream fos,
const typename Teuchos::ScalarTraits< Scalar >::magnitudeType  threshold = Teuchos::ScalarTraits<typename Teuchos::ScalarTraits<Scalar>::magnitudeType>::zero() 
)
inlinestatic

Given a matrix A, detect too small diagonals and replace any found with ones.

Definition at line 443 of file Xpetra_MatrixUtils.hpp.


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