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: