BlockArrays.jl
BlockArrays.jl copied to clipboard
Add documentation for block-diagonal arrays
Can BlockArrays (currently) be used to define BlockDiagonalArrays in a straightforward way similar to Diagonal in LinearAlgebra?
Thanks!
Yes!
julia> mortar(Diagonal([randn(2,2),randn(2,2)]))
2×2-blocked 4×4 BlockArray{Float64,2,Diagonal{Array{Float64,2},Array{Array{Float64,2},1}},Tuple{BlockedUnitRange{Array{Int64,1}},BlockedUnitRange{Array{Int64,1}}}}:
-2.31669 0.669511 │ ⋅ ⋅
-0.497779 0.407213 │ ⋅ ⋅
─────────────────────┼────────────────────
⋅ ⋅ │ -1.28362 2.24877
⋅ ⋅ │ -0.211033 1.58237
Note there is also BlockDiagonals.jl that is more specific to this use case. At some point it would be great to unify the interfaces.
Thanks for the quick help! I was searching block-diagonal in the docs and didn't find it. Maybe something to think about adding.
Yes indeed. These features are sometimes just a "free" by-product of the modularity in Julia, and sometimes are implemented with downstream packages in mind (e.g. BlockBandedMatrices.jl), so documentation is often incomplete, and features may not work without the downstream packages.
This means adding documentation is a lot harder than implementing features: there are many features that work without us even knowing about it!
A PR adding docs would be very appreciated.