A block array is a partition of an array into blocks or subarrays, see wikipedia for a more extensive description. This package has two purposes. Firstly, it defines an interface for an
AbstractBlockArray block arrays that can be shared among types representing different types of block arrays. The advantage to this is that it provides a consistent API for block arrays.
Secondly, it also implements two different type of block arrays that follow the
AbstractBlockArray interface. The type
BlockArray stores each block contiguously while the type
PseudoBlockArray stores the full matrix contiguously. This means that
BlockArray supports fast non copying extraction and insertion of blocks while
PseudoBlockArray supports fast access to the full matrix to use in in for example a linear solver.
- STABLE — most recently tagged version of the documentation.
- LATEST — in-development version of the documentation.
Possible ways of contributing to this package include:
- Implement the fusing broadcasting interface for blocked arrays.
- Make different Linear Algebra function (like matrix / vector multiplications) with blocked arrays work.
- Implement different reductions functionalities, (
- Audit the performance and make improvements as needed.
Kristoffer Carlsson - @KristofferC