189189 @test a[Block (2 , 2 )[(1 : 2 ) × (2 : 3 ), (:) × (2 : 3 )]] ==
190190 a[Block (2 , 2 )][(1 : 2 ) × (2 : 3 ), (:) × (2 : 3 )]
191191
192+ @test_broken false
192193 # # # Blockwise slicing, shows up in truncated block sparse matrix factorizations.
193194 # # r = blockrange([2 × 2, 3 × 3])
194195 # # d = Dict(
@@ -306,20 +307,21 @@ end
306307 @test_broken exp (a)
307308 end
308309
309- # # r = blockrange([2 × 2, 3 × 3])
310- # # d = Dict(
311- # # Block(1, 1) => dev(δ(elt, (2, 2)) ⊗ randn(elt, 2, 2)),
312- # # Block(2, 2) => dev(δ(elt, (3, 3)) ⊗ randn(elt, 3, 3)),
313- # # )
314- # # a = dev(blocksparse(d, (r, r)))
315- # # u, s, v = svd_compact(a)
316- # # @test u * s * v ≈ a
317- # # @test blocktype(u) >: blocktype(u)
318- # # @test eltype(u) === eltype(a)
319- # # @test blocktype(v) >: blocktype(a)
320- # # @test eltype(v) === eltype(a)
321- # # @test eltype(s) === real(eltype(a))
322-
310+ r = blockrange ([2 × 2 , 3 × 3 ])
311+ d = Dict (
312+ Block (1 , 1 ) => dev (δ (elt, (2 , 2 )) ⊗ randn (elt, 2 , 2 )),
313+ Block (2 , 2 ) => dev (δ (elt, (3 , 3 )) ⊗ randn (elt, 3 , 3 )),
314+ )
315+ a = dev (blocksparse (d, (r, r)))
316+ u, s, v = svd_compact (a)
317+ @test u * s * v ≈ a
318+ @test blocktype (u) >: blocktype (u)
319+ @test eltype (u) === eltype (a)
320+ @test blocktype (v) >: blocktype (a)
321+ @test eltype (v) === eltype (a)
322+ @test eltype (s) === real (eltype (a))
323+
324+ @test_broken false
323325 # # r = blockrange([2 × 2, 3 × 3])
324326 # # d = Dict(
325327 # # Block(1, 1) => dev(δ(elt, (2, 2)) ⊗ randn(elt, 2, 2)),
@@ -333,17 +335,18 @@ end
333335 # # @test_broken inv(a)
334336 # # end
335337
336- # # r = blockrange([2 × 2, 3 × 3])
337- # # d = Dict(
338- # # Block(1, 1) => dev(δ(elt, (2, 2)) ⊗ randn(elt, 2, 2)),
339- # # Block(2, 2) => dev(δ(elt, (3, 3)) ⊗ randn(elt, 3, 3)),
340- # # )
341- # # a = dev(blocksparse(d, (r, r)))
342- # # # Broken operations
343- # # b = a[Block.(1:2), Block(2)]
344- # # @test b[Block(1)] == a[Block(1, 2)]
345- # # @test b[Block(2)] == a[Block(2, 2)]
338+ r = blockrange ([2 × 2 , 3 × 3 ])
339+ d = Dict (
340+ Block (1 , 1 ) => dev (δ (elt, (2 , 2 )) ⊗ randn (elt, 2 , 2 )),
341+ Block (2 , 2 ) => dev (δ (elt, (3 , 3 )) ⊗ randn (elt, 3 , 3 )),
342+ )
343+ a = dev (blocksparse (d, (r, r)))
344+ # Broken operations
345+ b = a[Block .(1 : 2 ), Block (2 )]
346+ @test b[Block (1 )] == a[Block (1 , 2 )]
347+ @test b[Block (2 )] == a[Block (2 , 2 )]
346348
349+ @test_broken false
347350 # # # svd_trunc
348351 # # dev = adapt(arrayt)
349352 # # r = @constinferred blockrange([2 × 2, 3 × 3])
0 commit comments