#include <Kokkos_HbMatrix.hpp>
Inheritance diagram for Kokkos::HbMatrix< OrdinalType, ScalarType >:


Public Member Functions | |
Constructors/Destructor | |
| HbMatrix (void) | |
| Default HbMatrix constuctor. | |
| HbMatrix (const HbMatrix &source) | |
| Copy constructor. | |
| virtual | ~HbMatrix () |
| HbMatrix Destructor. | |
Classical Harwell-Boeing Format Initialization Methods | |
| int | initializeStructure (OrdinalType numRows, OrdinalType numCols, bool isRowOriented, OrdinalType *pntr, OrdinalType *indx) |
| Initialize structure of matrix (Classical Harwell-Boeing Format). | |
| int | initializeValues (ScalarType *values) |
| Initialize structure of matrix (Classical Harwell-Boeing Format). | |
Generalized Harwell-Boeing Format Initialization Methods | |
| int | initializeStructure (OrdinalType numRows, OrdinalType numCols, bool isRowOriented, OrdinalType *profile, OrdinalType **indx) |
| Initialize structure of matrix (Generalized Harwell-Boeing Format). | |
| int | initializeValues (ScalarType **values) |
| Initialize structure of matrix (Generalized Harwell-Boeing Format). | |
Matrix entry access methods | |
| int | getIndices (OrdinalType i, OrdinalType &numRowEntries, OrdinalType *&indices) const |
| Returns number of entries in ith row/column, and pointer to an array of these indices. | |
| int | getValues (OrdinalType i, ScalarType *&values) const |
| Returns a pointer to an array of values for the ith row/column. | |
Matrix Attribute set methods | |
| virtual int | setIsUpperTriangular (bool tf) |
| Set whether or not the compressed index matrix has no entries below the diagonal, assumed false. | |
| virtual int | setIsLowerTriangular (bool tf) |
| Set whether or not the compressed index matrix has no entries above the diagonal, assumed false. | |
| virtual int | setHasDiagonalEntries (bool tf) |
| Set whether or not the compressed index matrix has explicit diagonal entries. | |
| virtual int | setHasImplicitUnitDiagonal (bool tf) |
| Set whether or not the compressed index matrix should be treated as unit diagonal, assumed false. | |
Validity tests | |
| virtual int | checkStructure () const |
| Check if the matrix structure is valid for user-assertion of Upper/Lower Triangular and implicit unit diagonal. | |
Matrix Attribute access methods | |
| bool | getIsClassicHbMatrix () const |
| Returns true if the compressed index matrix was formed using a classic HB matrix. | |
| bool | getIsRowOriented () const |
| Returns true if the compressed index matrix should be interpreted as a row matrix. | |
| virtual bool | getIsUpperTriangular () const |
| Returns true if the compressed index matrix has no entries below the diagonal. | |
| virtual bool | getIsLowerTriangular () const |
| Returns true if the compressed index matrix has no entries above the diagonal. | |
| virtual bool | getHasImplicitUnitDiagonal () const |
| Returns true if the compressed index matrix has no diagonal entries, but should be treated as unit diagonal. | |
| OrdinalType | getNumRows () const |
| Number of rows. | |
| OrdinalType | getNumCols () const |
| Number of columns. | |
| OrdinalType | getNumEntries () const |
| Number of matrix entries. | |
Protected Attributes | |
| OrdinalType | numRows_ |
| OrdinalType | numCols_ |
| OrdinalType | numEntries_ |
| ScalarType ** | values_ |
| ScalarType * | allValues_ |
| OrdinalType ** | indices_ |
| OrdinalType * | allIndices_ |
| OrdinalType * | pntr_ |
| OrdinalType * | profile_ |
| bool | isRowOriented_ |
| bool | isUpperTriangular_ |
| bool | isLowerTriangular_ |
| bool | hasImplicitUnitDiagonal_ |
| bool | hasDiagonalEntries_ |
| bool | isClassicHbMatrix_ |
The Kokkos::HbMatrix implements the Kokkos::CisMatrix interface using either a Harwell-Boeing matrix or generalized form of one.
| int HbMatrix::checkStructure | ( | ) | const [virtual] |
Check if the matrix structure is valid for user-assertion of Upper/Lower Triangular and implicit unit diagonal.
| int HbMatrix::getIndices | ( | OrdinalType | i, | |
| OrdinalType & | numRowEntries, | |||
| OrdinalType *& | indices | |||
| ) | const [virtual] |
Returns number of entries in ith row/column, and pointer to an array of these indices.
Extract the number of entries and a pointer to the indices in the ith row/column of the matrix. Note that the indices are not copied by this method. Memory allocation is handled by the matrix object itself.
| i | (In) The row (if isRowOriented() is true) or column that should be returned. | |
| numRowEntries | (Out) The number of entries in the ith row/column. | |
| indices | (Out) A pointer to the list of indices in the ith row/column. |
Implements Kokkos::CisMatrix< OrdinalType, ScalarType >.
| int HbMatrix::getValues | ( | OrdinalType | i, | |
| ScalarType *& | values | |||
| ) | const [virtual] |
Returns a pointer to an array of values for the ith row/column.
Extract the values in the ith row/column of the matrix. Note that the values are not copied by this method. Memory allocation is handled by the matrix object itself.
| i | (In) The row (if isRowOriented() is true) or column that should be returned. | |
| numEntries | (Out) The number of entries in the ith row/column. | |
| indices | (Out) A pointer to the list of indices in the ith row/column. |
Implements Kokkos::CisMatrix< OrdinalType, ScalarType >.
| int HbMatrix::initializeStructure | ( | OrdinalType | numRows, | |
| OrdinalType | numCols, | |||
| bool | isRowOriented, | |||
| OrdinalType * | profile, | |||
| OrdinalType ** | indx | |||
| ) |
Initialize structure of matrix (Generalized Harwell-Boeing Format).
This interface supports matrices that are stored in a generalized Harwell-Boeing format.
| numRows | (In) Row dimension. | |
| numCols | (In) Column dimension. | |
| isRowOriented | (In) If true, the compressed index storage will be interpreted as row indices. If false, then indices will be interpreted as column indices. | |
| profile | (In) Array of index counts for indx. pntr[i] equals the number of entries in the ith row (if isRowOriented is true) or ith column (if isRowOriented is false). | |
| indx | (In) An array of pointers to arrays of indices. indx[i][0] contains the first index of the ith row (if isRowOriented is true) or ith column (if isRowOriented is false). |
| int HbMatrix::initializeStructure | ( | OrdinalType | numRows, | |
| OrdinalType | numCols, | |||
| bool | isRowOriented, | |||
| OrdinalType * | pntr, | |||
| OrdinalType * | indx | |||
| ) |
Initialize structure of matrix (Classical Harwell-Boeing Format).
This interface supports matrices that are stored in the classical Harwell-Boeing format.
| numRows | (In) Row dimension. | |
| numCols | (In) Column dimension. | |
| isRowOriented | - (In) If true, the compressed index storage will be interpreted as row indices. If false, then indices will be interpreted as column indices. | |
| pntr | (In) Array of offsets into indx. indx[pntr[i]] contains the first index of the ith row (if isRowOriented is true) or ith column (if isRowOriented is false). | |
| indx | (In) Packed array of indices. indx[pntr[i]] contains the first index of the ith row (if isRowOriented is true) or ith column (if isRowOriented is false). |
| int HbMatrix::initializeValues | ( | ScalarType ** | values | ) |
Initialize structure of matrix (Generalized Harwell-Boeing Format).
This interface supports matrices that are stored in the classical Harwell-Boeing format.
| values | (In) An array of pointers to arrays of matrix values. values[[i][0] contains the first entry of the ith row (if isRowOriented is true) or ith column (if isRowOriented is false). |
| int HbMatrix::initializeValues | ( | ScalarType * | values | ) |
Initialize structure of matrix (Classical Harwell-Boeing Format).
This interface supports matrices that are stored in the classical Harwell-Boeing format.
| values | (In) Packed array of matrix values. values[pntr[i]] contains the first entry of the ith row (if isRowOriented is true) or ith column (if isRowOriented is false). |
| virtual int Kokkos::HbMatrix< OrdinalType, ScalarType >::setHasImplicitUnitDiagonal | ( | bool | tf | ) | [inline, virtual] |
Set whether or not the compressed index matrix should be treated as unit diagonal, assumed false.
1.4.7