@@ -20,7 +20,7 @@ using TensorAlgebra: fusedims, splitdims
2020using LinearAlgebra: adjoint
2121using Random: randn!
2222function randn_blockdiagonal (elt:: Type , axes:: Tuple )
23- a = BlockSparseArray {elt} (axes)
23+ a = BlockSparseArray {elt} (undef, axes)
2424 blockdiaglength = minimum (blocksize (a))
2525 for i in 1 : blockdiaglength
2626 b = Block (ntuple (Returns (i), ndims (a)))
@@ -135,7 +135,7 @@ const elts = (Float32, Float64, Complex{Float32}, Complex{Float64})
135135 @testset " dual axes" begin
136136 r = gradedrange ([U1 (0 ) => 2 , U1 (1 ) => 2 ])
137137 for ax in ((r, r), (dual (r), r), (r, dual (r)), (dual (r), dual (r)))
138- a = BlockSparseArray {elt} (ax... )
138+ a = BlockSparseArray {elt} (undef, ax... )
139139 @views for b in [Block (1 , 1 ), Block (2 , 2 )]
140140 a[b] = randn (elt, size (a[b]))
141141 end
@@ -178,7 +178,7 @@ const elts = (Float32, Float64, Complex{Float32}, Complex{Float64})
178178
179179 @testset " GradedOneTo" begin
180180 r = gradedrange ([U1 (0 ) => 2 , U1 (1 ) => 2 ])
181- a = BlockSparseArray {elt} (r, r)
181+ a = BlockSparseArray {elt} (undef, r, r)
182182 @views for i in [Block (1 , 1 ), Block (2 , 2 )]
183183 a[i] = randn (elt, size (a[i]))
184184 end
@@ -199,7 +199,7 @@ const elts = (Float32, Float64, Complex{Float32}, Complex{Float64})
199199
200200 @testset " GradedUnitRange" begin
201201 r = gradedrange ([U1 (0 ) => 2 , U1 (1 ) => 2 ])[1 : 3 ]
202- a = BlockSparseArray {elt} (r, r)
202+ a = BlockSparseArray {elt} (undef, r, r)
203203 @views for i in [Block (1 , 1 ), Block (2 , 2 )]
204204 a[i] = randn (elt, size (a[i]))
205205 end
@@ -226,7 +226,7 @@ const elts = (Float32, Float64, Complex{Float32}, Complex{Float64})
226226 # Test case when all axes are dual.
227227 @testset " dual GradedOneTo" begin
228228 r = gradedrange ([U1 (- 1 ) => 2 , U1 (1 ) => 2 ])
229- a = BlockSparseArray {elt} (dual (r), dual (r))
229+ a = BlockSparseArray {elt} (undef, dual (r), dual (r))
230230 @views for i in [Block (1 , 1 ), Block (2 , 2 )]
231231 a[i] = randn (elt, size (a[i]))
232232 end
@@ -251,7 +251,7 @@ const elts = (Float32, Float64, Complex{Float32}, Complex{Float64})
251251
252252 @testset " dual GradedUnitRange" begin
253253 r = gradedrange ([U1 (0 ) => 2 , U1 (1 ) => 2 ])[1 : 3 ]
254- a = BlockSparseArray {elt} (dual (r), dual (r))
254+ a = BlockSparseArray {elt} (undef, dual (r), dual (r))
255255 @views for i in [Block (1 , 1 ), Block (2 , 2 )]
256256 a[i] = randn (elt, size (a[i]))
257257 end
@@ -277,7 +277,7 @@ const elts = (Float32, Float64, Complex{Float32}, Complex{Float64})
277277
278278 @testset " dual BlockedUnitRange" begin # self dual
279279 r = blockedrange ([2 , 2 ])
280- a = BlockSparseArray {elt} (dual (r), dual (r))
280+ a = BlockSparseArray {elt} (undef, dual (r), dual (r))
281281 @views for i in [Block (1 , 1 ), Block (2 , 2 )]
282282 a[i] = randn (elt, size (a[i]))
283283 end
@@ -302,7 +302,7 @@ const elts = (Float32, Float64, Complex{Float32}, Complex{Float64})
302302 gradedrange ([U1 (0 ) => 2 , U1 (1 ) => 2 ]),
303303 gradedrange ([U1 (0 ) => 2 , U1 (1 ) => 2 ])[begin : end ],
304304 )
305- a = BlockSparseArray {elt} (r, r)
305+ a = BlockSparseArray {elt} (undef, r, r)
306306 @views for i in [Block (1 , 1 ), Block (2 , 2 )]
307307 a[i] = randn (elt, size (a[i]))
308308 end
@@ -330,16 +330,16 @@ const elts = (Float32, Float64, Complex{Float32}, Complex{Float64})
330330 end
331331 @testset " Matrix multiplication" begin
332332 r = gradedrange ([U1 (0 ) => 2 , U1 (1 ) => 3 ])
333- a1 = BlockSparseArray {elt} (dual (r), r)
333+ a1 = BlockSparseArray {elt} (undef, dual (r), r)
334334 a1[Block (1 , 2 )] = randn (elt, size (@view (a1[Block (1 , 2 )])))
335335 a1[Block (2 , 1 )] = randn (elt, size (@view (a1[Block (2 , 1 )])))
336- a2 = BlockSparseArray {elt} (dual (r), r)
336+ a2 = BlockSparseArray {elt} (undef, dual (r), r)
337337 a2[Block (1 , 2 )] = randn (elt, size (@view (a2[Block (1 , 2 )])))
338338 a2[Block (2 , 1 )] = randn (elt, size (@view (a2[Block (2 , 1 )])))
339339 @test Array (a1 * a2) ≈ Array (a1) * Array (a2)
340340 @test Array (a1' * a2' ) ≈ Array (a1' ) * Array (a2' )
341341
342- a2 = BlockSparseArray {elt} (r, dual (r))
342+ a2 = BlockSparseArray {elt} (undef, r, dual (r))
343343 a2[Block (1 , 2 )] = randn (elt, size (@view (a2[Block (1 , 2 )])))
344344 a2[Block (2 , 1 )] = randn (elt, size (@view (a2[Block (2 , 1 )])))
345345 @test Array (a1' * a2) ≈ Array (a1' ) * Array (a2)
0 commit comments