Static Public Member Functions | Private Member Functions | List of all members
Xpetra::MatrixFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node > Class Template Reference

#include <Xpetra_MatrixFactory_fwd.hpp>

Static Public Member Functions

static RCP< MatrixBuild (const RCP< const Map > &rowMap, size_t maxNumEntriesPerRow, Xpetra::ProfileType pftype=Xpetra::DynamicProfile)
 Constructor specifying the number of non-zeros for all rows. More...
 
static RCP< MatrixBuild (const RCP< const Map > &rowMap, const RCP< const Map > &colMap, size_t maxNumEntriesPerRow, Xpetra::ProfileType pftype=Xpetra::DynamicProfile)
 Constructor specifying the max number of non-zeros per row and providing column map. More...
 
static RCP< MatrixBuild (const RCP< const Map > &rowMap, const RCP< const Map > &colMap, const ArrayRCP< const size_t > &NumEntriesPerRowToAlloc, Xpetra::ProfileType pftype=Xpetra::DynamicProfile)
 Constructor specifying the (possibly different) number of entries per row and providing column map. More...
 
static RCP< MatrixBuild (const RCP< const Map > &rowMap, const ArrayRCP< const size_t > &NumEntriesPerRowToAlloc, ProfileType pftype=Xpetra::DynamicProfile)
 Constructor specifying (possibly different) number of entries in each row. More...
 
static RCP< MatrixBuild (const RCP< const CrsGraph > &graph, const RCP< ParameterList > &paramList=Teuchos::null)
 Constructor specifying graph. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
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. More...
 
static RCP< Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > BuildCopy (const RCP< const Xpetra::Matrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > A)
 

Private Member Functions

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

Detailed Description

template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
class Xpetra::MatrixFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >

Definition at line 51 of file Xpetra_MatrixFactory_fwd.hpp.

Constructor & Destructor Documentation

◆ MatrixFactory()

template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
Xpetra::MatrixFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::MatrixFactory ( )
inlineprivate

Private constructor. This is a static class.

Definition at line 230 of file Xpetra_MatrixFactory.hpp.

Member Function Documentation

◆ Build() [1/10]

template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
static RCP<Matrix> Xpetra::MatrixFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Build ( const RCP< const Map > &  rowMap,
size_t  maxNumEntriesPerRow,
Xpetra::ProfileType  pftype = Xpetra::DynamicProfile 
)
inlinestatic

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

Definition at line 235 of file Xpetra_MatrixFactory.hpp.

◆ Build() [2/10]

template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
static RCP<Matrix> Xpetra::MatrixFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Build ( const RCP< const Map > &  rowMap,
const RCP< const Map > &  colMap,
size_t  maxNumEntriesPerRow,
Xpetra::ProfileType  pftype = Xpetra::DynamicProfile 
)
inlinestatic

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

Definition at line 240 of file Xpetra_MatrixFactory.hpp.

◆ Build() [3/10]

template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
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,
Xpetra::ProfileType  pftype = Xpetra::DynamicProfile 
)
inlinestatic

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

Definition at line 245 of file Xpetra_MatrixFactory.hpp.

◆ Build() [4/10]

template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
static RCP<Matrix> Xpetra::MatrixFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Build ( const RCP< const Map > &  rowMap,
const ArrayRCP< const size_t > &  NumEntriesPerRowToAlloc,
ProfileType  pftype = Xpetra::DynamicProfile 
)
inlinestatic

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

Definition at line 262 of file Xpetra_MatrixFactory.hpp.

◆ Build() [5/10]

template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
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 267 of file Xpetra_MatrixFactory.hpp.

◆ Build() [6/10]

template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
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 272 of file Xpetra_MatrixFactory.hpp.

◆ Build() [7/10]

template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
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 289 of file Xpetra_MatrixFactory.hpp.

◆ Build() [8/10]

template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
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 303 of file Xpetra_MatrixFactory.hpp.

◆ Build() [9/10]

template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
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 313 of file Xpetra_MatrixFactory.hpp.

◆ Build() [10/10]

template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
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 327 of file Xpetra_MatrixFactory.hpp.

◆ BuildCopy()

template<class Scalar = Matrix<>::scalar_type, class LocalOrdinal = typename Matrix<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Matrix<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Matrix<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
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)
inlinestatic

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

Definition at line 343 of file Xpetra_MatrixFactory.hpp.


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