`#include <format.h>`

An matrix stored in MBCSR submatrix format must satisfy the following conditions:

- divides

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