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

#include <Xpetra_MatrixFactory.hpp>

Static Public Member Functions

static RCP< MatrixBuild (const RCP< const Map > &rowMap)
 
static RCP< MatrixBuild (const RCP< const Map > &rowMap, size_t maxNumEntriesPerRow)
 Constructor specifying the number of non-zeros for all rows.
 
static RCP< MatrixBuild (const RCP< const Map > &rowMap, const RCP< const Map > &colMap, size_t maxNumEntriesPerRow)
 Constructor specifying the max number of non-zeros per row and providing column map.
 
static RCP< MatrixBuild (const RCP< const Map > &rowMap, const RCP< const Map > &colMap, const ArrayRCP< const size_t > &NumEntriesPerRowToAlloc)
 Constructor specifying the (possibly different) number of entries per row and providing column map.
 
static RCP< MatrixBuild (const Teuchos::RCP< const Map > &rowMap, const Teuchos::RCP< const Map > &colMap, const typename Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::local_matrix_type &lclMatrix, const Teuchos::RCP< Teuchos::ParameterList > &params=null)
 Constructor providing a local Kokkos::CrsMatrix together with a row and column map.
 
static RCP< MatrixBuild (const typename Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::local_matrix_type &lclMatrix, const Teuchos::RCP< const Map > &rowMap, const Teuchos::RCP< const Map > &colMap, const Teuchos::RCP< const Map > &domainMap=Teuchos::null, const Teuchos::RCP< const Map > &rangeMap=Teuchos::null, const Teuchos::RCP< Teuchos::ParameterList > &params=null)
 Constructor providing a local Kokkos::CrsMatrix together with all maps.
 
static RCP< MatrixBuild (const RCP< const Map > &rowMap, const ArrayRCP< const size_t > &NumEntriesPerRowToAlloc)
 Constructor specifying (possibly different) number of entries in each row.
 
static RCP< MatrixBuild (const RCP< const CrsGraph > &graph, const RCP< ParameterList > &paramList=Teuchos::null)
 Constructor specifying graph.
 
static RCP< MatrixBuild (const RCP< const Vector > &diagonal)
 Constructor for creating a diagonal Xpetra::Matrix using the entries of a given vector for the diagonal.
 
static RCP< MatrixBuild (const RCP< const Matrix > &sourceMatrix, const Import &importer, const RCP< const Map > &domainMap=Teuchos::null, const RCP< const Map > &rangeMap=Teuchos::null, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
 Constructor to create a Matrix using a fusedImport-style construction. The originalMatrix must be a Xpetra::CrsMatrixWrap under the hood or this will fail.
 
static RCP< MatrixBuild (const RCP< const Matrix > &sourceMatrix, const Export &exporter, const RCP< const Map > &domainMap, const RCP< const Map > &rangeMap, const Teuchos::RCP< Teuchos::ParameterList > &params)
 Constructor to create a Matrix using a fusedExport-style construction. The originalMatrix must be a Xpetra::CrsMatrixWrap under the hood or this will fail.
 
static RCP< MatrixBuild (const RCP< const Matrix > &sourceMatrix, const Import &RowImporter, const Import &DomainImporter, const RCP< const Map > &domainMap, const RCP< const Map > &rangeMap, const Teuchos::RCP< Teuchos::ParameterList > &params)
 Constructor to create a Matrix using a fusedImport-style construction. The originalMatrix must be a Xpetra::CrsMatrixWrap under the hood or this will fail.
 
static RCP< MatrixBuild (const RCP< const Matrix > &sourceMatrix, const Export &RowExporter, const Export &DomainExporter, const RCP< const Map > &domainMap=Teuchos::null, const RCP< const Map > &rangeMap=Teuchos::null, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
 Constructor to create a Matrix using a fusedExport-style construction. The originalMatrix must be a Xpetra::CrsMatrixWrap under the hood or this will fail.
 
static RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > BuildCopy (const RCP< const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > A, bool setFixedBlockSize=true)
 

Private Member Functions

 MatrixFactory ()
 Private constructor. This is a static class.
 

Detailed Description

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

Definition at line 225 of file Xpetra_MatrixFactory.hpp.

Constructor & Destructor Documentation

◆ MatrixFactory()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
Xpetra::MatrixFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::MatrixFactory ( )
inlineprivate

Private constructor. This is a static class.

Definition at line 231 of file Xpetra_MatrixFactory.hpp.

Member Function Documentation

◆ Build() [1/13]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
static RCP< Matrix > Xpetra::MatrixFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Build ( const RCP< const Map > &  rowMap)
inlinestatic

Constructor for an empty, DynamicProfile matrix. Supports Epetra only, as DynamicProfile no longer exists in Tpetra.

Definition at line 236 of file Xpetra_MatrixFactory.hpp.

◆ Build() [2/13]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
static RCP< Matrix > Xpetra::MatrixFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Build ( const RCP< const Map > &  rowMap,
size_t  maxNumEntriesPerRow 
)
inlinestatic

Constructor specifying the number of non-zeros for all rows.

Definition at line 241 of file Xpetra_MatrixFactory.hpp.

◆ Build() [3/13]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
static RCP< Matrix > Xpetra::MatrixFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Build ( const RCP< const Map > &  rowMap,
const RCP< const Map > &  colMap,
size_t  maxNumEntriesPerRow 
)
inlinestatic

Constructor specifying the max number of non-zeros per row and providing column map.

Definition at line 246 of file Xpetra_MatrixFactory.hpp.

◆ Build() [4/13]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
static RCP< Matrix > Xpetra::MatrixFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Build ( const RCP< const Map > &  rowMap,
const RCP< const Map > &  colMap,
const ArrayRCP< const size_t > &  NumEntriesPerRowToAlloc 
)
inlinestatic

Constructor specifying the (possibly different) number of entries per row and providing column map.

Definition at line 251 of file Xpetra_MatrixFactory.hpp.

◆ Build() [5/13]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
static RCP< Matrix > Xpetra::MatrixFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Build ( const Teuchos::RCP< const Map > &  rowMap,
const Teuchos::RCP< const Map > &  colMap,
const typename Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::local_matrix_type &  lclMatrix,
const Teuchos::RCP< Teuchos::ParameterList > &  params = null 
)
inlinestatic

Constructor providing a local Kokkos::CrsMatrix together with a row and column map.

Definition at line 256 of file Xpetra_MatrixFactory.hpp.

◆ Build() [6/13]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
static RCP< Matrix > Xpetra::MatrixFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Build ( const typename Xpetra::CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node >::local_matrix_type &  lclMatrix,
const Teuchos::RCP< const Map > &  rowMap,
const Teuchos::RCP< const Map > &  colMap,
const Teuchos::RCP< const Map > &  domainMap = Teuchos::null,
const Teuchos::RCP< const Map > &  rangeMap = Teuchos::null,
const Teuchos::RCP< Teuchos::ParameterList > &  params = null 
)
inlinestatic

Constructor providing a local Kokkos::CrsMatrix together with all maps.

Definition at line 265 of file Xpetra_MatrixFactory.hpp.

◆ Build() [7/13]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
static RCP< Matrix > Xpetra::MatrixFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Build ( const RCP< const Map > &  rowMap,
const ArrayRCP< const size_t > &  NumEntriesPerRowToAlloc 
)
inlinestatic

Constructor specifying (possibly different) number of entries in each row.

Definition at line 277 of file Xpetra_MatrixFactory.hpp.

◆ Build() [8/13]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
static RCP< Matrix > Xpetra::MatrixFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Build ( const RCP< const CrsGraph > &  graph,
const RCP< ParameterList > &  paramList = Teuchos::null 
)
inlinestatic

Constructor specifying graph.

Definition at line 282 of file Xpetra_MatrixFactory.hpp.

◆ Build() [9/13]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
static RCP< Matrix > Xpetra::MatrixFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Build ( const RCP< const Vector > &  diagonal)
inlinestatic

Constructor for creating a diagonal Xpetra::Matrix using the entries of a given vector for the diagonal.

Definition at line 287 of file Xpetra_MatrixFactory.hpp.

◆ Build() [10/13]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
static RCP< Matrix > Xpetra::MatrixFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Build ( const RCP< const Matrix > &  sourceMatrix,
const Import importer,
const RCP< const Map > &  domainMap = Teuchos::null,
const RCP< const Map > &  rangeMap = Teuchos::null,
const Teuchos::RCP< Teuchos::ParameterList > &  params = Teuchos::null 
)
inlinestatic

Constructor to create a Matrix using a fusedImport-style construction. The originalMatrix must be a Xpetra::CrsMatrixWrap under the hood or this will fail.

Definition at line 325 of file Xpetra_MatrixFactory.hpp.

◆ Build() [11/13]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
static RCP< Matrix > Xpetra::MatrixFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Build ( const RCP< const Matrix > &  sourceMatrix,
const Export exporter,
const RCP< const Map > &  domainMap,
const RCP< const Map > &  rangeMap,
const Teuchos::RCP< Teuchos::ParameterList > &  params 
)
inlinestatic

Constructor to create a Matrix using a fusedExport-style construction. The originalMatrix must be a Xpetra::CrsMatrixWrap under the hood or this will fail.

Definition at line 339 of file Xpetra_MatrixFactory.hpp.

◆ Build() [12/13]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
static RCP< Matrix > Xpetra::MatrixFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Build ( const RCP< const Matrix > &  sourceMatrix,
const Import RowImporter,
const Import DomainImporter,
const RCP< const Map > &  domainMap,
const RCP< const Map > &  rangeMap,
const Teuchos::RCP< Teuchos::ParameterList > &  params 
)
inlinestatic

Constructor to create a Matrix using a fusedImport-style construction. The originalMatrix must be a Xpetra::CrsMatrixWrap under the hood or this will fail.

Definition at line 349 of file Xpetra_MatrixFactory.hpp.

◆ Build() [13/13]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
static RCP< Matrix > Xpetra::MatrixFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Build ( const RCP< const Matrix > &  sourceMatrix,
const Export RowExporter,
const Export DomainExporter,
const RCP< const Map > &  domainMap = Teuchos::null,
const RCP< const Map > &  rangeMap = Teuchos::null,
const Teuchos::RCP< Teuchos::ParameterList > &  params = Teuchos::null 
)
inlinestatic

Constructor to create a Matrix using a fusedExport-style construction. The originalMatrix must be a Xpetra::CrsMatrixWrap under the hood or this will fail.

Definition at line 363 of file Xpetra_MatrixFactory.hpp.

◆ BuildCopy()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
static RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > Xpetra::MatrixFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::BuildCopy ( const RCP< const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > >  A,
bool  setFixedBlockSize = true 
)
inlinestatic

create an explicit copy of a given matrix This routine supports blocked and single-block operators

Definition at line 379 of file Xpetra_MatrixFactory.hpp.


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