|
Tpetra Matrix/Vector Services
Version of the Day
|
Namespace for external Tpetra functionality. More...
Classes | |
| struct | TypeStackBottom |
| Implementation of a Tpetra::Ext::TypeStack, supporting the last entry. More... | |
| struct | TypeStack |
| Implementation of a Tpetra::Ext::TypeStack, supporting the next to last entry. More... | |
| struct | TypeStack< T, TypeStack< S, SS > > |
| Generic implementation of a Tpetra::Ext::TypeStack. This is the model that should be programmed to. More... | |
Functions | |
| template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node > | |
| void | extractBlockDiagonals (const Tpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &matrix, const Teuchos::ArrayView< const LocalOrdinal > &first_points, Teuchos::ArrayRCP< Scalar > &out_diags, Teuchos::ArrayRCP< LocalOrdinal > &out_offsets) |
| Extracts the block diagonals from a RowMatrix into contiguous, host storage. | |
| template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node > | |
| void | extractBlockDiagonals (const Tpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &matrix, const Tpetra::BlockMap< LocalOrdinal, GlobalOrdinal, Node > &block_map, Teuchos::ArrayRCP< Scalar > &out_diags, Teuchos::ArrayRCP< LocalOrdinal > &out_offsets) |
| Extracts the block diagonals from a RowMatrix into contiguous, host storage using a BlockMap. | |
| template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node > | |
| void | extractBlockRow (LocalOrdinal localBlockRow, const RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > &matrix, const BlockMap< LocalOrdinal, GlobalOrdinal, Node > &block_row_map, const BlockMap< LocalOrdinal, GlobalOrdinal, Node > &block_col_map, ArrayRCP< ArrayRCP< Scalar > > &out_block_entries, ArrayRCP< LocalOrdinal > &out_block_indices) |
| Extracts block elements from a RowMatrix into contiguous, host storage. | |
Namespace for external Tpetra functionality.
| void Tpetra::Ext::extractBlockDiagonals | ( | const Tpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > & | matrix, |
| const Teuchos::ArrayView< const LocalOrdinal > & | first_points, | ||
| Teuchos::ArrayRCP< Scalar > & | out_diags, | ||
| Teuchos::ArrayRCP< LocalOrdinal > & | out_offsets | ||
| ) |
Extracts the block diagonals from a RowMatrix into contiguous, host storage.
This method does not initiate any communication, and therefore can be called safely on a single node.
| in | matrix - The sparse matrix source for the diagonals. |
| in | first_points - A list of ordinals, where first_points[b] indicates the first local element in the b-th block. |
| out | out_diags - A reference-counted array, containing the block diagonals in contiguous storage. |
| out | out_offsets - A reference-counted array, indicating the offset to reach each block in out_diags. |
first_points[0] == 0 first_points are non-decreasing matrix.isFillComplete() == trueout_offsets.size() == block_sizes.size() b-th block is stored contiguously (column-major) in out_diags( out_offsets[b], block_size_b ), where
. | void Tpetra::Ext::extractBlockDiagonals | ( | const Tpetra::RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > & | matrix, |
| const Tpetra::BlockMap< LocalOrdinal, GlobalOrdinal, Node > & | block_map, | ||
| Teuchos::ArrayRCP< Scalar > & | out_diags, | ||
| Teuchos::ArrayRCP< LocalOrdinal > & | out_offsets | ||
| ) |
Extracts the block diagonals from a RowMatrix into contiguous, host storage using a BlockMap.
This method does not initiate any communication, and therefore can be called safely on a single node.
| in | matrix - The sparse matrix source for the diagonals. |
| in | block_map - A BlockMap describing the blocks |
| out | out_diags - A reference-counted array, containing the block diagonals in contiguous storage. |
| out | out_offsets - A reference-counted array, indicating the offset to reach each block in out_diags. |
block_map.getPointMap().isCompatible( matrix.getRowMap() ) matrix.isFillComplete() == trueout_offsets.size() == block_sizes.size() b-th block is stored contiguously (column-major) in out_diags( out_offsets[b], block_map.getLocalBlockSize(b) )Calls extractBlockDiagonals().
| void Tpetra::Ext::extractBlockRow | ( | LocalOrdinal | localBlockRow, |
| const RowMatrix< Scalar, LocalOrdinal, GlobalOrdinal, Node > & | matrix, | ||
| const BlockMap< LocalOrdinal, GlobalOrdinal, Node > & | block_row_map, | ||
| const BlockMap< LocalOrdinal, GlobalOrdinal, Node > & | block_col_map, | ||
| ArrayRCP< ArrayRCP< Scalar > > & | out_block_entries, | ||
| ArrayRCP< LocalOrdinal > & | out_block_indices | ||
| ) |
Extracts block elements from a RowMatrix into contiguous, host storage.
This method does not initiate any communication, and therefore can be called safely on a single node.
| in | block_row - The block row to be extracted |
| in | block_row_map - A BlockMap describing the row blocks |
| in | block_col_map - A BlockMap describing the column blocks |
| in | matrix - The sparse matrix source for the diagonals. |
| out | block_entries - The block entries |
| out | block_indices - The indices for the block entries |
block_row_map.getPointMap().isCompatible( matrix.getRowMap() ) block_row_map.getPointMap().isCompatible( matrix.getRowMap() ) block_col_map.getPointMap().isCompatible( matrix.getColMap() ) block_col_map.getPointMap().isCompatible( matrix.getColMap() ) matrix.isFillComplete() == true
1.7.6.1