Reference

BlockSparseArrays.BlockDiagonalAlgorithmType
BlockDiagonalAlgorithm([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.

source
BlockSparseArrays.BlockDiagonalTruncationStrategyType
BlockDiagonalTruncationStrategy(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.

source
BlockSparseArrays.BlockPermutedDiagonalAlgorithmType
BlockPermutedDiagonalAlgorithm([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.

source
BlockSparseArrays.BlockSparseArrayType
BlockSparseArray{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.

source
SparseArraysBase.SparseArrayDOKMethod
SparseArrayDOK{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.

source
BlockSparseArrays.sparsemortarMethod
sparsemortar(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.

source