|
__cuda_callable__ | TridiagonalMatrixView ()=default |
| Constructor with no parameters.
|
|
__cuda_callable__ | TridiagonalMatrixView (const TridiagonalMatrixView &)=default |
| Copy constructor.
|
|
__cuda_callable__ | TridiagonalMatrixView (TridiagonalMatrixView &&) noexcept=default |
| Move constructor.
|
|
__cuda_callable__ | TridiagonalMatrixView (typename Base::ValuesViewType values, typename Base::IndexerType indexer) |
| Constructor with all necessary data and views.
|
|
__cuda_callable__ void | bind (TridiagonalMatrixView view) |
| Method for rebinding (reinitialization) using another tridiagonal matrix view.
|
|
ConstViewType | getConstView () const |
| Returns a non-modifiable view of the tridiagonal matrix.
|
|
ViewType | getView () |
| Returns a modifiable view of the tridiagonal matrix.
|
|
TridiagonalMatrixView & | operator= (const TridiagonalMatrixView &)=delete |
| Copy-assignment operator.
|
|
TridiagonalMatrixView & | operator= (TridiagonalMatrixView &&)=delete |
| Move-assignment operator.
|
|
void | save (File &file) const |
| Method for saving the matrix to a file.
|
|
__cuda_callable__ | TridiagonalMatrixBase ()=default |
| Constructor with no parameters.
|
|
__cuda_callable__ | TridiagonalMatrixBase (const TridiagonalMatrixBase &)=default |
| Copy constructor.
|
|
__cuda_callable__ | TridiagonalMatrixBase (TridiagonalMatrixBase &&) noexcept=default |
| Move constructor.
|
|
__cuda_callable__ | TridiagonalMatrixBase (typename Base::ValuesViewType values, IndexerType indexer) |
| Constructor with all necessary data and views.
|
|
__cuda_callable__ void | addElement (IndexType row, IndexType column, const RealType &value, const RealType &thisElementMultiplicator=1.0) |
| Add element at given row and column to given value.
|
|
void | addMatrix (const TridiagonalMatrixBase< Real_, Device_, Index_, Organization_ > &matrix, const RealType &matrixMultiplicator=1.0, const RealType &thisMatrixMultiplicator=1.0) |
|
void | forAllElements (Function &function) |
| This method calls forElements for all matrix rows.
|
|
void | forAllElements (Function &function) const |
| This method calls forElements for all matrix rows (for constant instances).
|
|
void | forAllRows (Function &&function) |
| Method for parallel iteration over all matrix rows.
|
|
void | forAllRows (Function &&function) const |
| Method for parallel iteration over all matrix rows for constant instances.
|
|
void | forElements (IndexType begin, IndexType end, Function &function) |
| Method for iteration over all matrix rows for non-constant instances.
|
|
void | forElements (IndexType begin, IndexType end, Function &function) const |
| Method for iteration over all matrix rows for constant instances.
|
|
void | forRows (IndexType begin, IndexType end, Function &&function) |
| Method for parallel iteration over matrix rows from interval [begin, end) .
|
|
void | forRows (IndexType begin, IndexType end, Function &&function) const |
| Method for parallel iteration over matrix rows from interval [begin, end) for constant instances.
|
|
void | getCompressedRowLengths (Vector &rowLengths) const |
| Computes number of non-zeros in each row.
|
|
__cuda_callable__ RealType | getElement (IndexType row, IndexType column) const |
| Returns value of matrix element at position given by its row and column index.
|
|
__cuda_callable__ IndexerType & | getIndexer () |
| This method returns matrix elements indexer used by this matrix.
|
|
__cuda_callable__ const IndexerType & | getIndexer () const |
| This method returns matrix elements indexer used by this matrix.
|
|
IndexType | getNonzeroElementsCount () const override |
| Returns number of non-zero matrix elements.
|
|
__cuda_callable__ RowView | getRow (IndexType rowIdx) |
| Non-constant getter of simple structure for accessing given matrix row.
|
|
__cuda_callable__ ConstRowView | getRow (IndexType rowIdx) const |
| Constant getter of simple structure for accessing given matrix row.
|
|
void | getRowCapacities (Vector &rowCapacities) const |
| Compute capacities of all rows.
|
|
bool | operator!= (const TridiagonalMatrixBase< Real_, Device_, Index_, Organization_ > &matrix) const |
| Comparison operator with another multidiagonal matrix.
|
|
TridiagonalMatrixBase & | operator= (const TridiagonalMatrixBase &)=delete |
| Copy-assignment operator.
|
|
TridiagonalMatrixBase & | operator= (TridiagonalMatrixBase &&)=delete |
| Move-assignment operator.
|
|
bool | operator== (const TridiagonalMatrixBase< Real_, Device_, Index_, Organization_ > &matrix) const |
| Comparison operator with another tridiagonal matrix.
|
|
void | print (std::ostream &str) const |
| Method for printing the matrix to output stream.
|
|
void | reduceAllRows (Fetch &&fetch, const Reduce &reduce, Keep &&keep, const FetchReal &identity) const |
| Method for performing general reduction on all matrix rows for constant instances.
|
|
void | reduceRows (IndexType begin, IndexType end, Fetch &&fetch, const Reduce &reduce, Keep &&keep, const FetchReal &identity) const |
| Method for performing general reduction on matrix rows for constant instances.
|
|
void | sequentialForAllRows (Function &function) |
| This method calls sequentialForRows for all matrix rows.
|
|
void | sequentialForAllRows (Function &function) const |
| This method calls sequentialForRows for all matrix rows (for constant instances).
|
|
void | sequentialForRows (IndexType begin, IndexType end, Function &function) |
| Method for sequential iteration over all matrix rows for non-constant instances.
|
|
void | sequentialForRows (IndexType begin, IndexType end, Function &function) const |
| Method for sequential iteration over all matrix rows for constant instances.
|
|
__cuda_callable__ void | setElement (IndexType row, IndexType column, const RealType &value) |
| Sets element at given row and column to given value.
|
|
void | setValue (const RealType &value) |
| Set all matrix elements to given value.
|
|
void | vectorProduct (const InVector &inVector, OutVector &outVector, RealType matrixMultiplicator=1.0, RealType outVectorMultiplicator=0.0, IndexType begin=0, IndexType end=0) const |
| Computes product of matrix and vector.
|
|
__cuda_callable__ | MatrixBase ()=default |
| Basic constructor with no parameters.
|
|
__cuda_callable__ | MatrixBase (const MatrixBase &view)=default |
| Shallow copy constructor.
|
|
__cuda_callable__ | MatrixBase (IndexType rows, IndexType columns, ValuesViewType values) |
| Constructor with matrix dimensions and matrix elements values.
|
|
__cuda_callable__ | MatrixBase (MatrixBase &&view) noexcept=default |
| Move constructor.
|
|
IndexType | getAllocatedElementsCount () const |
| Tells the number of allocated matrix elements.
|
|
__cuda_callable__ IndexType | getColumns () const |
| Returns number of matrix columns.
|
|
__cuda_callable__ IndexType | getRows () const |
| Returns number of matrix rows.
|
|
__cuda_callable__ ValuesViewType & | getValues () |
| Returns a reference to a vector with the matrix elements values.
|
|
__cuda_callable__ const ValuesViewType & | getValues () const |
| Returns a constant reference to a vector with the matrix elements values.
|
|
bool | operator!= (const Matrix &matrix) const |
| Comparison operator with another arbitrary matrix view type.
|
|
bool | operator!= (const MatrixT &matrix) const |
|
__cuda_callable__ MatrixBase & | operator= (const MatrixBase &)=delete |
| Copy-assignment operator.
|
|
__cuda_callable__ MatrixBase & | operator= (MatrixBase &&)=delete |
| Move-assignment operator.
|
|
bool | operator== (const Matrix &matrix) const |
| Comparison operator with another arbitrary matrix view type.
|
|
bool | operator== (const MatrixT &matrix) const |
|
template<typename
Real = double, typename Device = Devices::Host, typename Index = int,
ElementsOrganization Organization = Algorithms::Segments::DefaultElementsOrganization< Device >::getOrganization()>
class TNL::Matrices::TridiagonalMatrixView< Real, Device, Index, Organization >
Implementation of sparse tridiagonal matrix.
It serves as an accessor to SparseMatrix for example when passing the matrix to lambda functions. SparseMatrix view can be also created in CUDA kernels.
See TridiagonalMatrix for more details.
- Template Parameters
-
Real | is a type of matrix elements. |
Device | is a device where the matrix is allocated. |
Index | is a type for indexing of the matrix elements. |
Organization | tells the ordering of matrix elements. It is either RowMajorOrder or ColumnMajorOrder. |