JuliaLinearAlgebra / BlockBandedMatrices.jl

A Julia package for representing block-banded matrices and banded-block-banded matrices
https://julialinearalgebra.github.io/BlockBandedMatrices.jl/
MIT License
58 stars 13 forks source link

BlockBandedMatrix should have extra entries so subblocks are banded #119

Open dlfivefifty opened 3 years ago

dlfivefifty commented 3 years ago

Ideally we'd have:

julia> B = BlockBandedMatrix{Float64}(undef, Fill(2,10), Fill(3, 10), (1, 2));

julia> MemoryLayout(view(B, getindex.(Block.(1:10), 1), getindex.(Block.(1:1), 2))) isa BandedColumns{StridedLayout}

To do this, we have several things to do:

  1. Support getindex.(Block.(1:10), 1). This will need a new type in BlockArrays.jl
  2. Split out BlockBandedMatrix from BlockSkylineMatrix (to simplify things)
  3. Special case when the block sizes are all the same size.