Olivier Gauthé
Olivier Gauthé
issue: I cannot write a slice of a block ```julia a[BlockArrays.Block(1,1)][1:2,1:2] = ones((2,2)) ``` does not write `a`. This is probably associated to "Fix initializing a block with broadcasting syntax".
issue: `LinearAlgebra.norm(a)` triggers `AssertionError` when `a` contains `NaN` ```julia a[BlockArrays.Block(1,1)] = ones((2,2)) println(LinearAlgebra.norm(a)) # 2.0 a[BlockArrays.Block(1,1)][1, 1] = NaN println(LinearAlgebra.norm(a[BlockArrays.Block(1,1)])) # NaN println(LinearAlgebra.norm(a)) # AssertionError ``` outputs ``` ERROR: AssertionError:...
issue: a block can be written with an invalid shape. An error should be raised. ```julia a = BlockSparseArray{Float64}([2, 3], [2, 3]) println(size(a)) # (5,5) b = BlockArrays.Block(1,1) println(size(a[b])) #...
Thanks to #1467, I can now initialize a `BlockSparseArray` with a dual axis. However contracting such arrays is broken: ```julia using NDTensors.GradedAxes: GradedAxes, dual, gradedrange using NDTensors.Sectors: U1 using NDTensors.BlockSparseArrays:...
When no dual axis is involved, `m' * m` and `m * m'` trigger `StackOverflowError` ``` Stacktrace: [1] muladd!(α::Float64, A::BlockSparseArray{…}, B::LinearAlgebra.Adjoint{…}, β::Float64, C::BlockSparseArray{…}; kw::@Kwargs{}) @ ArrayLayouts ~/.julia/packages/ArrayLayouts/i2w0I/src/muladd.jl:75 [2] mul!(dest::BlockSparseArray{…}, A::BlockSparseArray{…},...
issue: display error when writing a block ```julia using BlockArrays: BlockArrays using NDTensors.BlockSparseArrays: BlockSparseArrays using NDTensors.GradedAxes: GradedAxes using NDTensors.Sectors: U1 g = GradedAxes.gradedrange([U1(0) => 1]) m = BlockSparseArrays.BlockSparseArray{Float64}(g, g) m[BlockArrays.Block(1,1)]...
There is no real need for a quick fix just for display. It can wait for a rewrite.
issue: `dual` is not conserved over `+` and `-` operations ```julia g = GradedAxes.gradedrange([U1(0) => 1]) m = BlockSparseArray{Float64}(dual(g), g) GradedAxes.isdual(axes(m)[1]) # true GradedAxes.isdual(axes(m + m)[1]) # false GradedAxes.isdual(axes(m -...
issue: slicing a view of a `BlockSparseArray` is ambiguous when a dual axis is involved as of `main` at `1bc091a03ca2b9fd5b205c785d01f4626c66d267` ```julia using BlockArrays: BlockArrays using NDTensors.BlockSparseArrays: BlockSparseArrays using NDTensors.GradedAxes: GradedAxes...
So I finally understood the change in behavior that lead to my comment in #1491 and to #1493. With the new behavior introduced at `de78e9fa45af3fae8470d85de2938be77ba09540`, `size(view(m1, BlockArrays.Block(1,1))[1:1,1:1])` is now a...