Template Numerical Library: TNL::Matrices::DistributedMatrix< Matrix > Class Template Reference

Template Numerical Library version\ main:be7e16d88

Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Attributes | List of all members
TNL::Matrices::DistributedMatrix< Matrix > Class Template Reference
Collaboration diagram for TNL::Matrices::DistributedMatrix< Matrix >:
[legend]

## Public Types
using | ConstMatrixRow = typename Matrix::ConstRowView
using | DeviceType = typename Matrix::DeviceType
using | IndexType = typename Matrix::IndexType
using | LocalRangeType = Containers::Subrange< typename Matrix::IndexType >
using | MatrixRow = typename Matrix::RowView
using | MatrixType = Matrix
using | RealType = typename Matrix::RealType
using | RowCapacitiesType = Containers::DistributedVector< IndexType, DeviceType, IndexType >
template<typename _Real = RealType, typename _Device = DeviceType, typename _Index = IndexType>
using | Self = DistributedMatrix< typename MatrixType::template Self< _Real, _Device, _Index > >

## Public Member Functions
| DistributedMatrix (DistributedMatrix &)=default
| DistributedMatrix (LocalRangeType localRowRange, IndexType rows, IndexType columns, const MPI::Comm &communicator)
template<typename Function>
void | forAllElements (Function &&function)
template<typename Function>
void | forAllElements (Function &&function) const
template<typename Function>
void | forAllRows (Function &&function)
template<typename Function>
void | forAllRows (Function &&function) const
template<typename Function>
void | forElements (IndexType begin, IndexType end, Function &&function)
template<typename Function>
void | forElements (IndexType begin, IndexType end, Function &&function) const
template<typename Function>
void | forRows (IndexType begin, IndexType end, Function &&function)
template<typename Function>
void | forRows (IndexType begin, IndexType end, Function &&function) const
IndexType | getColumns () const
const MPI::Comm & | getCommunicator () const
template<typename Vector>
void | getCompressedRowLengths (Vector &rowLengths) const
RealType | getElement (IndexType row, IndexType column) const
RealType | getElementFast (IndexType row, IndexType column) const
Matrix & | getLocalMatrix ()
const Matrix & | getLocalMatrix () const
const LocalRangeType & | getLocalRowRange () const
MatrixRow | getRow (IndexType row)
ConstMatrixRow | getRow (IndexType row) const
IndexType | getRowCapacity (IndexType row) const
IndexType | getRows () const
DistributedMatrix & | operator= (const DistributedMatrix &matrix)
template<typename MatrixT>
DistributedMatrix & | operator= (const MatrixT &matrix)
template<typename MatrixT>
DistributedMatrix< Matrix > & | operator= (const MatrixT &matrix)
template<typename Fetch, typename Reduce, typename Keep, typename FetchReal>
void | reduceAllRows (Fetch &&fetch, const Reduce &reduce, Keep &&keep, const FetchReal &identity)
template<typename Fetch, typename Reduce, typename Keep, typename FetchReal>
void | reduceAllRows (Fetch &&fetch, const Reduce &reduce, Keep &&keep, const FetchReal &identity) const
template<typename Fetch, typename Reduce, typename Keep, typename FetchReal>
void | reduceRows (IndexType begin, IndexType end, Fetch &&fetch, const Reduce &reduce, Keep &&keep, const FetchReal &identity)
template<typename Fetch, typename Reduce, typename Keep, typename FetchReal>
void | reduceRows (IndexType begin, IndexType end, Fetch &&fetch, const Reduce &reduce, Keep &&keep, const FetchReal &identity) const
void | reset ()
void | setDistribution (LocalRangeType localRowRange, IndexType rows, IndexType columns, const MPI::Comm &communicator)
void | setElement (IndexType row, IndexType column, RealType value)
template<typename MatrixT>
void | setLike (const MatrixT &matrix)
template<typename RowCapacitiesVector>
void | setRowCapacities (const RowCapacitiesVector &rowCapacities)
void | updateVectorProductCommunicationPattern ()
template<typename InVector, typename OutVector>
std::enable_if_t< HasGetCommunicatorMethod< InVector >::value > | vectorProduct (const InVector &inVector, OutVector &outVector) const
template<typename InVector, typename OutVector>
std::enable_if_t< ! HasGetCommunicatorMethod< InVector >::value > | vectorProduct (const InVector &inVector, OutVector &outVector) const

## Protected Attributes
MPI::Comm | communicator = MPI_COMM_NULL
Matrix | localMatrix
LocalRangeType | localRowRange
IndexType | rows = 0

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

- src/TNL/Matrices/DistributedMatrix.h
- src/TNL/Matrices/DistributedMatrix_impl.h