linbox
|
A class of striped or block-decomposed zero-one matrices. More...
#include <quad-matrix.h>
Public Member Functions | |
int | init (const ZeroOne< Field > &A) |
A class of striped or block-decomposed zero-one matrices.
Right now we implement only side-by-side blocks, which is done to improve cache performance. This class works especially well on quite sparse matrices whose entries are rather randomly positioned. The idea is that the vector to be multiplied by each block fits in cache. It is being more or less randomly accessed, so cache misses are avoided for these random accesses.
The possibility exists to set the stripe(block) width by a configure-time parameter. Also this approach should be used on sparse matrices which are not zero-one.
This ZOQuad class is like a tagged union of several BB types. Then SideBySide does not have it's two part types as template parameters. Instead the parts are always ZOQuads.
|
inline |