tagOski_submatMBCSR_t Struct Reference
#include <format.h>
Detailed Description
Stores an MBCSR "submatrix".
An matrix stored in MBCSR submatrix format must satisfy the following conditions:
Let be the number of block rows. Then is stored in 4 arrays, , as follows:
- is an array of length containing all the elements of that lie within the diagonal blocks beginning at element where each block is a square block. The blocks are stored consecutively, and each block is stored in row-major order. More precisely, for all , , and , the array element stores the matrix element .
- is an integer array of block-row pointers, of length at least .
- is an integer array of block column indices, of length at least .
- is an array of non-zero block values, of length at least .
- Define block-row , where , as rows through of . Then For each such that , is the column index of the entry of an explicitly stored non-zero block whose values are laid out in row-major order in the subarray .
- If any block in overlaps with a diagonal block in , then the corresponding entries in are set to 0.
- No block in is defined so that it extends beyond column of . That is, if does not divide , then each block row may contain one block with . If such a block overlaps with another block starting at column index , then the initial columns of the block at are set to zero.
|
Data Fields |
oski_index_t | num_block_rows |
| # of full block rows; if 0, all other fields are invalid.
|
oski_index_t | offset |
| Row/column index of first diagonal block.
|
oski_index_t | r |
| Row block size.
|
oski_index_t | c |
| Column block size.
|
oski_index_t * | bptr |
| Block row pointers.
|
oski_index_t * | bind |
| Column indices.
|
oski_value_t * | bval |
| Non-zero value off-diagonal blocks.
|
oski_value_t * | bdiag |
| Non-zero value diagonal blocks.
|
char * | mod_name |
| Name of module at this block size.
|
void * | mod_cached |
| Cached implementation.
|
The documentation for this struct was generated from the following file:
Generated on Wed Sep 19 16:41:23 2007 for BeBOP Optimized Sparse Kernel Interface Library by
1.4.6