diff --git a/Project.toml b/Project.toml index d0a2ff1..72d74f5 100644 --- a/Project.toml +++ b/Project.toml @@ -1,7 +1,7 @@ name = "BlockSparseArrays" uuid = "2c9a651f-6452-4ace-a6ac-809f4280fbb4" authors = ["ITensor developers and contributors"] -version = "0.7.11" +version = "0.7.12" [deps] Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" diff --git a/src/abstractblocksparsearray/wrappedabstractblocksparsearray.jl b/src/abstractblocksparsearray/wrappedabstractblocksparsearray.jl index 57b0c5d..9a4a269 100644 --- a/src/abstractblocksparsearray/wrappedabstractblocksparsearray.jl +++ b/src/abstractblocksparsearray/wrappedabstractblocksparsearray.jl @@ -18,7 +18,6 @@ const WrappedAbstractBlockSparseArray{T,N} = WrappedArray{ T,N,AbstractBlockSparseArray,AbstractBlockSparseArray{T,N} } -# TODO: Rename `AnyBlockSparseArray`. const AnyAbstractBlockSparseArray{T,N} = Union{ <:AbstractBlockSparseArray{T,N},<:WrappedAbstractBlockSparseArray{T,N} } @@ -414,3 +413,7 @@ function Adapt.adapt_structure(to, a::SubArray{<:Any,<:Any,<:AbstractBlockSparse # BlockArrays.jl. return SubArray(adapt(to, parent(a)), parentindices(a)) end + +function Base.show(io::IO, a::AnyAbstractBlockSparseArray) + return show(io, convert(Array, a)) +end diff --git a/src/blocksparsearray/blocksparsearray.jl b/src/blocksparsearray/blocksparsearray.jl index 7d782c8..70bd0b7 100644 --- a/src/blocksparsearray/blocksparsearray.jl +++ b/src/blocksparsearray/blocksparsearray.jl @@ -250,6 +250,9 @@ end function blocksparsezeros(elt::Type, axes...) return BlockSparseArray{elt}(undef, axes...) end +function blocksparsezeros(axes...) + return blocksparsezeros(Float64, axes...) +end function blocksparsezeros(::BlockType{A}, axes...) where {A<:AbstractArray} # TODO: Use: # ```julia diff --git a/test/test_basics.jl b/test/test_basics.jl index 8da0276..b399b58 100644 --- a/test/test_basics.jl +++ b/test/test_basics.jl @@ -159,6 +159,15 @@ arrayts = (Array, JLArray) end # Convenient constructors. + a = blocksparsezeros([2, 3], [2, 3]) + @test iszero(a) + @test iszero(blockstoredlength(a)) + @test a isa BlockSparseMatrix{Float64,Matrix{Float64}} + @test blocktype(a) == Matrix{Float64} + @test blockstype(a) <: SparseMatrixDOK{Matrix{Float64}} + @test blocksize(a) == (2, 2) + @test blocksizes(a) == [(2, 2) (2, 3); (3, 2) (3, 3)] + a = blocksparsezeros(elt, [2, 3], [2, 3]) @test iszero(a) @test iszero(blockstoredlength(a))