All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines
Public Member Functions | Private Types | Private Attributes
Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal > Class Template Reference

#include <Xpetra_EpetraCrsMatrix.hpp>

Inheritance diagram for Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >:
Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal > Xpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > Xpetra::DistObject< Packet, LocalOrdinal, GlobalOrdinal, Node > Describable

List of all members.

Public Member Functions

 EpetraCrsMatrixT (const EpetraCrsMatrixT &matrix)
 Deep copy constructor.
Teuchos::RCP< const Map
< LocalOrdinal, GlobalOrdinal,
Node > > 
getMap () const
 Implements DistObject interface.
void doImport (const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &source, const Import< LocalOrdinal, GlobalOrdinal, Node > &importer, CombineMode CM)
 Import.
void doExport (const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &dest, const Import< LocalOrdinal, GlobalOrdinal, Node > &importer, CombineMode CM)
 Export.
void doImport (const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &source, const Export< LocalOrdinal, GlobalOrdinal, Node > &exporter, CombineMode CM)
 Import (using an Exporter).
void doExport (const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &dest, const Export< LocalOrdinal, GlobalOrdinal, Node > &exporter, CombineMode CM)
 Export (using an Importer).
void removeEmptyProcessesInPlace (const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &newMap)

Private Types

typedef EpetraGlobalOrdinal GlobalOrdinal
typedef CrsMatrix< double, int,
GlobalOrdinal >::scalar_type 
Scalar
typedef CrsMatrix< double, int,
GlobalOrdinal >
::local_ordinal_type 
LocalOrdinal
typedef CrsMatrix< double, int,
GlobalOrdinal >::node_type 
Node

Private Attributes

RCP< Epetra_CrsMatrix > mtx_
bool isFillResumed_

Constructor/Destructor Methods

 EpetraCrsMatrixT (const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, size_t maxNumEntriesPerRow, ProfileType pftype=DynamicProfile, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
 Constructor specifying fixed number of entries for each row.
 EpetraCrsMatrixT (const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, const ArrayRCP< const size_t > &NumEntriesPerRowToAlloc, ProfileType pftype=DynamicProfile, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
 Constructor specifying (possibly different) number of entries in each row.
 EpetraCrsMatrixT (const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &colMap, size_t maxNumEntriesPerRow, ProfileType pftype=DynamicProfile, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
 Constructor specifying column Map and fixed number of entries for each row.
 EpetraCrsMatrixT (const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rowMap, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &colMap, const ArrayRCP< const size_t > &NumEntriesPerRowToAlloc, ProfileType pftype=DynamicProfile, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
 Constructor specifying column Map and number of entries in each row.
 EpetraCrsMatrixT (const Teuchos::RCP< const CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > &graph, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
 Constructor specifying a previously constructed graph.
 EpetraCrsMatrixT (const Teuchos::RCP< const CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &sourceMatrix, const Import< LocalOrdinal, GlobalOrdinal, Node > &importer, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap=Teuchos::null, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap=Teuchos::null, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
 Constructor for a fused import.
 EpetraCrsMatrixT (const Teuchos::RCP< const CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &sourceMatrix, const Export< LocalOrdinal, GlobalOrdinal, Node > &exporter, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap=Teuchos::null, const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap=Teuchos::null, const Teuchos::RCP< Teuchos::ParameterList > &params=Teuchos::null)
 Constructor for a fused export.
virtual ~EpetraCrsMatrixT ()
 Destructor.

Insertion/Removal Methods

void insertGlobalValues (GlobalOrdinal globalRow, const ArrayView< const GlobalOrdinal > &cols, const ArrayView< const Scalar > &vals)
 Insert matrix entries, using global IDs.
void insertLocalValues (LocalOrdinal localRow, const ArrayView< const LocalOrdinal > &cols, const ArrayView< const Scalar > &vals)
 Insert matrix entries, using local IDs.
void replaceGlobalValues (GlobalOrdinal globalRow, const ArrayView< const GlobalOrdinal > &cols, const ArrayView< const Scalar > &vals)
 Replace matrix entries, using global IDs.
void replaceLocalValues (LocalOrdinal localRow, const ArrayView< const LocalOrdinal > &cols, const ArrayView< const Scalar > &vals)
 Replace matrix entries, using local IDs.
void setAllToScalar (const Scalar &alpha)
 Set all matrix entries equal to scalarThis.
void scale (const Scalar &alpha)
 Scale the current values of a matrix, this = alpha*this.
void allocateAllValues (size_t numNonZeros, ArrayRCP< size_t > &rowptr, ArrayRCP< LocalOrdinal > &colind, ArrayRCP< Scalar > &values)
 Allocates and returns ArrayRCPs of the Crs arrays --- This is an Xpetra-only routine.
void setAllValues (const ArrayRCP< size_t > &rowptr, const ArrayRCP< LocalOrdinal > &colind, const ArrayRCP< Scalar > &values)
 Sets the 1D pointer arrays of the graph.
void getAllValues (ArrayRCP< const size_t > &rowptr, ArrayRCP< const LocalOrdinal > &colind, ArrayRCP< const Scalar > &values) const
 Gets the 1D pointer arrays of the graph.
void expertStaticFillComplete (const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap, const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap, const RCP< const Import< LocalOrdinal, GlobalOrdinal, Node > > &importer=Teuchos::null, const RCP< const Export< LocalOrdinal, GlobalOrdinal, Node > > &exporter=Teuchos::null, const RCP< ParameterList > &params=Teuchos::null)
 Expert static fill complete.

Transformational Methods

void resumeFill (const RCP< ParameterList > &params=null)
void fillComplete (const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &domainMap, const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &rangeMap, const RCP< ParameterList > &params=null)
 Signal that data entry is complete, specifying domain and range maps.
void fillComplete (const RCP< ParameterList > &params=null)
 Signal that data entry is complete.
void replaceDomainMapAndImporter (const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &newDomainMap, Teuchos::RCP< const Import< LocalOrdinal, GlobalOrdinal, Node > > &newImporter)
 Replaces the current domainMap and importer with the user-specified objects.

Methods implementing RowMatrix

const RCP< const Comm< int > > getComm () const
 Returns the communicator.
const RCP< const Map
< LocalOrdinal, GlobalOrdinal,
Node > > 
getRowMap () const
 Returns the Map that describes the row distribution in this matrix.
const RCP< const Map
< LocalOrdinal, GlobalOrdinal,
Node > > 
getColMap () const
 Returns the Map that describes the column distribution in this matrix.
RCP< const CrsGraph
< LocalOrdinal, GlobalOrdinal,
Node > > 
getCrsGraph () const
 Returns the CrsGraph associated with this matrix.
global_size_t getGlobalNumRows () const
 Number of global elements in the row map of this matrix.
global_size_t getGlobalNumCols () const
 Number of global columns in the matrix.
size_t getNodeNumRows () const
 Returns the number of matrix rows owned on the calling node.
size_t getNodeNumCols () const
 Returns the number of columns connected to the locally owned rows of this matrix.
global_size_t getGlobalNumEntries () const
 Returns the global number of entries in this matrix.
size_t getNodeNumEntries () const
 Returns the local number of entries in this matrix.
size_t getNumEntriesInLocalRow (LocalOrdinal localRow) const
 Returns the current number of entries on this node in the specified local row.
global_size_t getGlobalNumDiags () const
 Returns the number of global diagonal entries, based on global row/column index comparisons.
size_t getNodeNumDiags () const
 Returns the number of local diagonal entries, based on global row/column index comparisons.
size_t getGlobalMaxNumRowEntries () const
 Returns the maximum number of entries across all rows/columns on all nodes.
size_t getNodeMaxNumRowEntries () const
 Returns the maximum number of entries across all rows/columns on this node.
bool isLocallyIndexed () const
 If matrix indices are in the local range, this function returns true. Otherwise, this function returns false.
bool isGloballyIndexed () const
 If matrix indices are in the global range, this function returns true. Otherwise, this function returns false.
bool isFillComplete () const
 Returns true if the matrix is in compute mode, i.e. if fillComplete() has been called.
bool isFillActive () const
 Returns true if the matrix is in edit mode.
ScalarTraits< Scalar >
::magnitudeType 
getFrobeniusNorm () const
 Returns the Frobenius norm of the matrix.
bool supportsRowViews () const
 Returns true if getLocalRowView() and getGlobalRowView() are valid for this class.
void getLocalRowCopy (LocalOrdinal LocalRow, const ArrayView< LocalOrdinal > &Indices, const ArrayView< Scalar > &Values, size_t &NumEntries) const
 Extract a list of entries in a specified local row of the matrix. Put into storage allocated by calling routine.
void getGlobalRowCopy (GlobalOrdinal GlobalRow, const ArrayView< GlobalOrdinal > &Indices, const ArrayView< Scalar > &Values, size_t &NumEntries) const
 Extract a list of entries in a specified global row of this matrix. Put into pre-allocated storage.
void getGlobalRowView (GlobalOrdinal GlobalRow, ArrayView< const GlobalOrdinal > &indices, ArrayView< const Scalar > &values) const
 Extract a const, non-persisting view of global indices in a specified row of the matrix.
void getLocalRowView (LocalOrdinal LocalRow, ArrayView< const LocalOrdinal > &indices, ArrayView< const Scalar > &values) const
 Extract a const, non-persisting view of local indices in a specified row of the matrix.
void getLocalDiagCopy (Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &diag) const
 Get a copy of the diagonal entries owned by this node, with local row indices.
void getLocalDiagOffsets (Teuchos::ArrayRCP< size_t > &offsets) const
 Get offsets of the diagonal entries in the matrix.
void getLocalDiagCopy (Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &diag, const Teuchos::ArrayView< const size_t > &offsets) const
 Get a copy of the diagonal entries owned by this node, with local row indices, using row offsets.

Methods implementing Operator

void apply (const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &X, MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &Y, Teuchos::ETransp mode=Teuchos::NO_TRANS, Scalar alpha=ScalarTraits< Scalar >::one(), Scalar beta=ScalarTraits< Scalar >::zero()) const
 Computes the sparse matrix-multivector multiplication.
const RCP< const Map
< LocalOrdinal, GlobalOrdinal,
Node > > 
getDomainMap () const
 Returns the Map associated with the domain of this operator. This will be null until fillComplete() is called.
const RCP< const Map
< LocalOrdinal, GlobalOrdinal,
Node > > 
getRangeMap () const
 Returns the Map associated with the range of this operator, which must be compatible with Y.getMap().

Overridden from Teuchos::Describable

std::string description () const
 A simple one-line description of this object.
void describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const
 Print the object with some verbosity level to an FancyOStream object.

Xpetra specific

bool hasMatrix () const
 Does this have an underlying matrix.
 EpetraCrsMatrixT (const Teuchos::RCP< Epetra_CrsMatrix > &mtx)
 EpetraCrsMatrixT constructor to wrap a Epetra_CrsMatrix object.
RCP< const Epetra_CrsMatrix > getEpetra_CrsMatrix () const
 Get the underlying Epetra matrix.
RCP< Epetra_CrsMatrix > getEpetra_CrsMatrixNonConst () const
 Get the underlying Epetra matrix.

Detailed Description

template<class EpetraGlobalOrdinal>
class Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >

Definition at line 69 of file Xpetra_EpetraCrsMatrix.hpp.


Member Typedef Documentation

template<class EpetraGlobalOrdinal >
typedef EpetraGlobalOrdinal Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::GlobalOrdinal [private]

Definition at line 72 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
typedef CrsMatrix<double, int, GlobalOrdinal>::scalar_type Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::Scalar [private]

Definition at line 73 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
typedef CrsMatrix<double, int, GlobalOrdinal>::local_ordinal_type Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::LocalOrdinal [private]

Definition at line 74 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
typedef CrsMatrix<double, int, GlobalOrdinal>::node_type Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::Node [private]

Definition at line 75 of file Xpetra_EpetraCrsMatrix.hpp.


Constructor & Destructor Documentation

template<class EpetraGlobalOrdinal >
Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::EpetraCrsMatrixT ( const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &  rowMap,
size_t  maxNumEntriesPerRow,
ProfileType  pftype = DynamicProfile,
const Teuchos::RCP< Teuchos::ParameterList > &  params = Teuchos::null 
)

Constructor specifying fixed number of entries for each row.

template<class EpetraGlobalOrdinal >
Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::EpetraCrsMatrixT ( const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &  rowMap,
const ArrayRCP< const size_t > &  NumEntriesPerRowToAlloc,
ProfileType  pftype = DynamicProfile,
const Teuchos::RCP< Teuchos::ParameterList > &  params = Teuchos::null 
)

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

template<class EpetraGlobalOrdinal >
Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::EpetraCrsMatrixT ( const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &  rowMap,
const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &  colMap,
size_t  maxNumEntriesPerRow,
ProfileType  pftype = DynamicProfile,
const Teuchos::RCP< Teuchos::ParameterList > &  params = Teuchos::null 
)

Constructor specifying column Map and fixed number of entries for each row.

template<class EpetraGlobalOrdinal >
Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::EpetraCrsMatrixT ( const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &  rowMap,
const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &  colMap,
const ArrayRCP< const size_t > &  NumEntriesPerRowToAlloc,
ProfileType  pftype = DynamicProfile,
const Teuchos::RCP< Teuchos::ParameterList > &  params = Teuchos::null 
)

Constructor specifying column Map and number of entries in each row.

template<class EpetraGlobalOrdinal >
Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::EpetraCrsMatrixT ( const Teuchos::RCP< const CrsGraph< LocalOrdinal, GlobalOrdinal, Node > > &  graph,
const Teuchos::RCP< Teuchos::ParameterList > &  params = Teuchos::null 
)

Constructor specifying a previously constructed graph.

Definition at line 76 of file Xpetra_EpetraCrsMatrix.cpp.

template<class EpetraGlobalOrdinal >
Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::EpetraCrsMatrixT ( const Teuchos::RCP< const CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &  sourceMatrix,
const Import< LocalOrdinal, GlobalOrdinal, Node > &  importer,
const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &  domainMap = Teuchos::null,
const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &  rangeMap = Teuchos::null,
const Teuchos::RCP< Teuchos::ParameterList > &  params = Teuchos::null 
)

Constructor for a fused import.

Definition at line 85 of file Xpetra_EpetraCrsMatrix.cpp.

template<class EpetraGlobalOrdinal >
Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::EpetraCrsMatrixT ( const Teuchos::RCP< const CrsMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > > &  sourceMatrix,
const Export< LocalOrdinal, GlobalOrdinal, Node > &  exporter,
const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &  domainMap = Teuchos::null,
const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &  rangeMap = Teuchos::null,
const Teuchos::RCP< Teuchos::ParameterList > &  params = Teuchos::null 
)

Constructor for a fused export.

Definition at line 107 of file Xpetra_EpetraCrsMatrix.cpp.

template<class EpetraGlobalOrdinal >
virtual Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::~EpetraCrsMatrixT ( ) [inline, virtual]

Destructor.

Definition at line 113 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::EpetraCrsMatrixT ( const EpetraCrsMatrixT< EpetraGlobalOrdinal > &  matrix)

Deep copy constructor.

Definition at line 80 of file Xpetra_EpetraCrsMatrix.cpp.

template<class EpetraGlobalOrdinal >
Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::EpetraCrsMatrixT ( const Teuchos::RCP< Epetra_CrsMatrix > &  mtx) [inline]

EpetraCrsMatrixT constructor to wrap a Epetra_CrsMatrix object.

Definition at line 324 of file Xpetra_EpetraCrsMatrix.hpp.


Member Function Documentation

template<class EpetraGlobalOrdinal >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::insertGlobalValues ( GlobalOrdinal  globalRow,
const ArrayView< const GlobalOrdinal > &  cols,
const ArrayView< const Scalar > &  vals 
)

Insert matrix entries, using global IDs.

Definition at line 130 of file Xpetra_EpetraCrsMatrix.cpp.

template<class EpetraGlobalOrdinal >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::insertLocalValues ( LocalOrdinal  localRow,
const ArrayView< const LocalOrdinal > &  cols,
const ArrayView< const Scalar > &  vals 
)

Insert matrix entries, using local IDs.

Definition at line 136 of file Xpetra_EpetraCrsMatrix.cpp.

template<class EpetraGlobalOrdinal >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::replaceGlobalValues ( GlobalOrdinal  globalRow,
const ArrayView< const GlobalOrdinal > &  cols,
const ArrayView< const Scalar > &  vals 
)

Replace matrix entries, using global IDs.

Definition at line 142 of file Xpetra_EpetraCrsMatrix.cpp.

template<class EpetraGlobalOrdinal >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::replaceLocalValues ( LocalOrdinal  localRow,
const ArrayView< const LocalOrdinal > &  cols,
const ArrayView< const Scalar > &  vals 
)

Replace matrix entries, using local IDs.

Definition at line 161 of file Xpetra_EpetraCrsMatrix.cpp.

template<class EpetraGlobalOrdinal >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::setAllToScalar ( const Scalar alpha) [inline]

Set all matrix entries equal to scalarThis.

Definition at line 133 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::scale ( const Scalar alpha) [inline]

Scale the current values of a matrix, this = alpha*this.

Definition at line 136 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::allocateAllValues ( size_t  numNonZeros,
ArrayRCP< size_t > &  rowptr,
ArrayRCP< LocalOrdinal > &  colind,
ArrayRCP< Scalar > &  values 
)

Allocates and returns ArrayRCPs of the Crs arrays --- This is an Xpetra-only routine.

Definition at line 180 of file Xpetra_EpetraCrsMatrix.cpp.

template<class EpetraGlobalOrdinal >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::setAllValues ( const ArrayRCP< size_t > &  rowptr,
const ArrayRCP< LocalOrdinal > &  colind,
const ArrayRCP< Scalar > &  values 
)

Sets the 1D pointer arrays of the graph.

Definition at line 208 of file Xpetra_EpetraCrsMatrix.cpp.

template<class EpetraGlobalOrdinal >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::getAllValues ( ArrayRCP< const size_t > &  rowptr,
ArrayRCP< const LocalOrdinal > &  colind,
ArrayRCP< const Scalar > &  values 
) const

Gets the 1D pointer arrays of the graph.

Definition at line 236 of file Xpetra_EpetraCrsMatrix.cpp.

template<class EpetraGlobalOrdinal >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::expertStaticFillComplete ( const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &  domainMap,
const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &  rangeMap,
const RCP< const Import< LocalOrdinal, GlobalOrdinal, Node > > &  importer = Teuchos::null,
const RCP< const Export< LocalOrdinal, GlobalOrdinal, Node > > &  exporter = Teuchos::null,
const RCP< ParameterList > &  params = Teuchos::null 
)

Expert static fill complete.

Definition at line 628 of file Xpetra_EpetraCrsMatrix.cpp.

template<class EpetraGlobalOrdinal >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::resumeFill ( const RCP< ParameterList > &  params = null) [virtual]
template<class EpetraGlobalOrdinal >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::fillComplete ( const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &  domainMap,
const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &  rangeMap,
const RCP< ParameterList > &  params = null 
)

Signal that data entry is complete, specifying domain and range maps.

Definition at line 586 of file Xpetra_EpetraCrsMatrix.cpp.

template<class EpetraGlobalOrdinal >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::fillComplete ( const RCP< ParameterList > &  params = null) [virtual]

Signal that data entry is complete.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal >.

Definition at line 600 of file Xpetra_EpetraCrsMatrix.cpp.

template<class EpetraGlobalOrdinal >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::replaceDomainMapAndImporter ( const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &  newDomainMap,
Teuchos::RCP< const Import< LocalOrdinal, GlobalOrdinal, Node > > &  newImporter 
)

Replaces the current domainMap and importer with the user-specified objects.

Definition at line 613 of file Xpetra_EpetraCrsMatrix.cpp.

template<class EpetraGlobalOrdinal >
const RCP< const Comm< int > > Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::getComm ( ) const [inline]

Returns the communicator.

Definition at line 178 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
const RCP< const Map<LocalOrdinal, GlobalOrdinal, Node> > Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::getRowMap ( ) const [inline, virtual]

Returns the Map that describes the row distribution in this matrix.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal >.

Definition at line 181 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
const RCP< const Map<LocalOrdinal, GlobalOrdinal, Node> > Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::getColMap ( ) const [inline, virtual]

Returns the Map that describes the column distribution in this matrix.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal >.

Definition at line 184 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
RCP< const CrsGraph<LocalOrdinal, GlobalOrdinal, Node> > Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::getCrsGraph ( ) const [inline, virtual]

Returns the CrsGraph associated with this matrix.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal >.

Definition at line 187 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
global_size_t Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::getGlobalNumRows ( ) const [inline, virtual]

Number of global elements in the row map of this matrix.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal >.

Definition at line 190 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
global_size_t Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::getGlobalNumCols ( ) const [inline, virtual]

Number of global columns in the matrix.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal >.

Definition at line 193 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
size_t Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::getNodeNumRows ( ) const [inline, virtual]

Returns the number of matrix rows owned on the calling node.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal >.

Definition at line 196 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
size_t Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::getNodeNumCols ( ) const [inline, virtual]

Returns the number of columns connected to the locally owned rows of this matrix.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal >.

Definition at line 199 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
global_size_t Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::getGlobalNumEntries ( ) const [inline, virtual]

Returns the global number of entries in this matrix.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal >.

Definition at line 202 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
size_t Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::getNodeNumEntries ( ) const [inline, virtual]

Returns the local number of entries in this matrix.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal >.

Definition at line 205 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
size_t Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::getNumEntriesInLocalRow ( LocalOrdinal  localRow) const [inline]

Returns the current number of entries on this node in the specified local row.

Definition at line 208 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
global_size_t Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::getGlobalNumDiags ( ) const [inline, virtual]

Returns the number of global diagonal entries, based on global row/column index comparisons.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal >.

Definition at line 211 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
size_t Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::getNodeNumDiags ( ) const [inline, virtual]

Returns the number of local diagonal entries, based on global row/column index comparisons.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal >.

Definition at line 214 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
size_t Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::getGlobalMaxNumRowEntries ( ) const [inline, virtual]

Returns the maximum number of entries across all rows/columns on all nodes.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal >.

Definition at line 217 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
size_t Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::getNodeMaxNumRowEntries ( ) const [inline, virtual]

Returns the maximum number of entries across all rows/columns on this node.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal >.

Definition at line 220 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
bool Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::isLocallyIndexed ( ) const [inline, virtual]

If matrix indices are in the local range, this function returns true. Otherwise, this function returns false.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal >.

Definition at line 223 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
bool Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::isGloballyIndexed ( ) const [inline, virtual]

If matrix indices are in the global range, this function returns true. Otherwise, this function returns false.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal >.

Definition at line 226 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
bool Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::isFillComplete ( ) const [virtual]

Returns true if the matrix is in compute mode, i.e. if fillComplete() has been called.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal >.

Definition at line 268 of file Xpetra_EpetraCrsMatrix.cpp.

template<class EpetraGlobalOrdinal >
bool Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::isFillActive ( ) const [virtual]

Returns true if the matrix is in edit mode.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal >.

Definition at line 271 of file Xpetra_EpetraCrsMatrix.cpp.

template<class EpetraGlobalOrdinal >
ScalarTraits< Scalar >::magnitudeType Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::getFrobeniusNorm ( ) const [inline, virtual]

Returns the Frobenius norm of the matrix.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal >.

Definition at line 235 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
bool Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::supportsRowViews ( ) const [virtual]

Returns true if getLocalRowView() and getGlobalRowView() are valid for this class.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal >.

Definition at line 274 of file Xpetra_EpetraCrsMatrix.cpp.

template<class EpetraGlobalOrdinal >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::getLocalRowCopy ( LocalOrdinal  LocalRow,
const ArrayView< LocalOrdinal > &  Indices,
const ArrayView< Scalar > &  Values,
size_t &  NumEntries 
) const

Extract a list of entries in a specified local row of the matrix. Put into storage allocated by calling routine.

Definition at line 278 of file Xpetra_EpetraCrsMatrix.cpp.

template<class EpetraGlobalOrdinal >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::getGlobalRowCopy ( GlobalOrdinal  GlobalRow,
const ArrayView< GlobalOrdinal > &  Indices,
const ArrayView< Scalar > &  Values,
size_t &  NumEntries 
) const

Extract a list of entries in a specified global row of this matrix. Put into pre-allocated storage.

Definition at line 287 of file Xpetra_EpetraCrsMatrix.cpp.

template<class EpetraGlobalOrdinal >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::getGlobalRowView ( GlobalOrdinal  GlobalRow,
ArrayView< const GlobalOrdinal > &  indices,
ArrayView< const Scalar > &  values 
) const

Extract a const, non-persisting view of global indices in a specified row of the matrix.

Definition at line 296 of file Xpetra_EpetraCrsMatrix.cpp.

template<class EpetraGlobalOrdinal >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::getLocalRowView ( LocalOrdinal  LocalRow,
ArrayView< const LocalOrdinal > &  indices,
ArrayView< const Scalar > &  values 
) const

Extract a const, non-persisting view of local indices in a specified row of the matrix.

Definition at line 311 of file Xpetra_EpetraCrsMatrix.cpp.

template<class EpetraGlobalOrdinal >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::getLocalDiagCopy ( Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  diag) const [inline]

Get a copy of the diagonal entries owned by this node, with local row indices.

Definition at line 253 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::getLocalDiagOffsets ( Teuchos::ArrayRCP< size_t > &  offsets) const [inline, virtual]

Get offsets of the diagonal entries in the matrix.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal >.

Definition at line 256 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::getLocalDiagCopy ( Vector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  diag,
const Teuchos::ArrayView< const size_t > &  offsets 
) const [inline]

Get a copy of the diagonal entries owned by this node, with local row indices, using row offsets.

Definition at line 261 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::apply ( const MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  X,
MultiVector< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  Y,
Teuchos::ETransp  mode = Teuchos::NO_TRANS,
Scalar  alpha = ScalarTraits< Scalar >::one(),
Scalar  beta = ScalarTraits< Scalar >::zero() 
) const

Computes the sparse matrix-multivector multiplication.

Definition at line 326 of file Xpetra_EpetraCrsMatrix.cpp.

template<class EpetraGlobalOrdinal >
const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::getDomainMap ( ) const [inline, virtual]

Returns the Map associated with the domain of this operator. This will be null until fillComplete() is called.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal >.

Definition at line 274 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::getRangeMap ( ) const [inline, virtual]

Returns the Map associated with the range of this operator, which must be compatible with Y.getMap().

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal >.

Definition at line 277 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
std::string Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::description ( ) const [virtual]

A simple one-line description of this object.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal >.

Definition at line 352 of file Xpetra_EpetraCrsMatrix.cpp.

template<class EpetraGlobalOrdinal >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::describe ( Teuchos::FancyOStream &  out,
const Teuchos::EVerbosityLevel  verbLevel = Teuchos::Describable::verbLevel_default 
) const [virtual]

Print the object with some verbosity level to an FancyOStream object.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal >.

Definition at line 375 of file Xpetra_EpetraCrsMatrix.cpp.

template<class EpetraGlobalOrdinal >
Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::getMap ( ) const [inline, virtual]

Implements DistObject interface.

Access function for the Tpetra::Map this DistObject was constructed with.

Implements Xpetra::DistObject< Packet, LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 299 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::doImport ( const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &  source,
const Import< LocalOrdinal, GlobalOrdinal, Node > &  importer,
CombineMode  CM 
)

Import.

Definition at line 533 of file Xpetra_EpetraCrsMatrix.cpp.

template<class EpetraGlobalOrdinal >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::doExport ( const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &  dest,
const Import< LocalOrdinal, GlobalOrdinal, Node > &  importer,
CombineMode  CM 
)

Export.

Definition at line 546 of file Xpetra_EpetraCrsMatrix.cpp.

template<class EpetraGlobalOrdinal >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::doImport ( const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &  source,
const Export< LocalOrdinal, GlobalOrdinal, Node > &  exporter,
CombineMode  CM 
)

Import (using an Exporter).

Definition at line 559 of file Xpetra_EpetraCrsMatrix.cpp.

template<class EpetraGlobalOrdinal >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::doExport ( const DistObject< char, LocalOrdinal, GlobalOrdinal, Node > &  dest,
const Export< LocalOrdinal, GlobalOrdinal, Node > &  exporter,
CombineMode  CM 
)

Export (using an Importer).

Definition at line 573 of file Xpetra_EpetraCrsMatrix.cpp.

template<class EpetraGlobalOrdinal >
void Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::removeEmptyProcessesInPlace ( const Teuchos::RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &  newMap) [inline]

Definition at line 313 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
bool Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::hasMatrix ( ) const [inline, virtual]

Does this have an underlying matrix.

Implements Xpetra::CrsMatrix< double, int, EpetraGlobalOrdinal >.

Definition at line 321 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
RCP<const Epetra_CrsMatrix> Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::getEpetra_CrsMatrix ( ) const [inline]

Get the underlying Epetra matrix.

Definition at line 327 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
RCP<Epetra_CrsMatrix> Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::getEpetra_CrsMatrixNonConst ( ) const [inline]

Get the underlying Epetra matrix.

Definition at line 330 of file Xpetra_EpetraCrsMatrix.hpp.


Member Data Documentation

template<class EpetraGlobalOrdinal >
RCP<Epetra_CrsMatrix> Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::mtx_ [private]

Definition at line 336 of file Xpetra_EpetraCrsMatrix.hpp.

template<class EpetraGlobalOrdinal >
bool Xpetra::EpetraCrsMatrixT< EpetraGlobalOrdinal >::isFillResumed_ [private]

Definition at line 338 of file Xpetra_EpetraCrsMatrix.hpp.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines