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