BlockArrays.jl
Block arrays in Julia
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.
Manual Outline
- The
AbstractBlockSizesinterface - The
AbstractBlockArrayinterface - BlockArrays
- Creating uninitialized
BlockArrays - Creating
BlockArrayswith uninitialized blocks. - Setting and getting blocks and values
- Views of blocks
- Converting between
BlockArrayand normal arrays - PseudoBlockArrays
Library Outline
Index
BlockArrays.undef_blocksBlockArrays.AbstractBlockArrayBlockArrays.BlockBlockArrays.BlockArrayBlockArrays.BlockBoundsErrorBlockArrays.BlockIndexBlockArrays.PseudoBlockArrayBlockArrays.UndefBlocksInitializerCore.ArrayBlockArrays.blockcheckboundsBlockArrays.blocksizeBlockArrays.blocksizesBlockArrays.getblockBlockArrays.getblock!BlockArrays.mortarBlockArrays.nblocksBlockArrays.setblock!BlockArrays.BlockIndexRangeBlockArrays.BlockRangeBlockArrays.BlockSliceBlockArrays.SubBlockIteratorBlockArrays.blockindex2globalBlockArrays.global2blockindexBlockArrays.unblock