Reference
BlockSparseArrays.BlockDiagonalAlgorithm
— TypeBlockDiagonalAlgorithm([f]) <: MatrixAlgebraKit.AbstractAlgorithm
Type for handling algorithms on a block-by-block basis, which is possible for block-diagonal input matrices. Additionally this algorithm may take a function that, given the individual blocks, returns the algorithm that will be used. This can be leveraged to allow for different algorithms for each block.
BlockSparseArrays.BlockDiagonalTruncationStrategy
— TypeBlockDiagonalTruncationStrategy(strategy::TruncationStrategy)
A wrapper for TruncationStrategy
that implements the wrapped strategy on a block-by-block basis, which is possible if the input matrix is a block-diagonal matrix.
BlockSparseArrays.BlockPermutedDiagonalAlgorithm
— TypeBlockPermutedDiagonalAlgorithm([f]) <: MatrixAlgebraKit.AbstractAlgorithm
Type for handling algorithms on a block-by-block basis, which is possible for block-diagonal or block-permuted-diagonal input matrices. The algorithms proceed by first permuting to a block-diagonal form, and then carrying out the algorithm. Additionally this algorithm may take a function that, given the individual blocks, returns the algorithm that will be used. This can be leveraged to allow for different algorithms for each block.
BlockSparseArrays.BlockSparseArray
— TypeBlockSparseArray{T}(undef, dims)
BlockSparseArray{T,N}(undef, dims)
BlockSparseArray{T,N,A}(undef, dims)
Construct an uninitialized N-dimensional BlockSparseArray containing elements of type T. dims
should be a list of block lengths in each dimension or a list of blocked ranges representing the axes.
SparseArraysBase.SparseArrayDOK
— MethodSparseArrayDOK{T}(undef_blocks, axes)
SparseArrayDOK{T,N}(undef_blocks, axes)
Construct the block structure of an undefined BlockSparseArray that will have blocked axes axes
.
Note that undef_blocks
is defined in BlockArrays.jl and should be imported from that package to use it as an input to this constructor.
BlockSparseArrays.sparsemortar
— Methodsparsemortar(blocks::AbstractArray{<:AbstractArray{T,N},N}, axes) -> ::BlockSparseArray{T,N}
Construct a block sparse array from a sparse array of arrays and specified blocked axes. The block sizes must be commensurate with the blocks of the axes.