@@ -56,36 +56,22 @@ arrayts = (Array, JLArray)
5656 a = BlockSparseMatrix {elt, AbstractMatrix{elt}} (undef, [2 , 3 ], [2 , 3 ])
5757 a[Block (1 , 1 )] = dev (randn (elt, 2 , 2 ))
5858 for f in (eig_full, eig_trunc)
59- if arrayt === Array
60- d, v = f (a)
61- @test a * v ≈ v * d
62- else
63- @test_broken f (a)
64- end
65- end
66- if arrayt === Array
67- d = eig_vals (a)
68- @test sort (Vector (d); by = abs) ≈ sort (eig_vals (Matrix (a)); by = abs)
69- else
70- @test_broken eig_vals (a)
59+ res = f (a)
60+ d, v = res[1 : 2 ]
61+ @test a * v ≈ v * d
7162 end
63+ d = eig_vals (a)
64+ @test sort (Vector (d); by = abs) ≈ sort (eig_vals (Matrix (a)); by = abs)
7265
7366 a = BlockSparseMatrix {elt, AbstractMatrix{elt}} (undef, [2 , 3 ], [2 , 3 ])
7467 a[Block (1 , 1 )] = dev (parent (hermitianpart (randn (elt, 2 , 2 ))))
7568 for f in (eigh_full, eigh_trunc)
76- if arrayt === Array
77- d, v = f (a)
78- @test a * v ≈ v * d
79- else
80- @test_broken f (a)
81- end
82- end
83- if arrayt === Array
84- d = eigh_vals (a)
85- @test sort (Vector (d); by = abs) ≈ sort (eig_vals (Matrix (a)); by = abs)
86- else
87- @test_broken eigh_vals (a)
69+ res = f (a)
70+ d, v = res[1 : 2 ]
71+ @test a * v ≈ v * d
8872 end
73+ d = eigh_vals (a)
74+ @test sort (Vector (d); by = abs) ≈ sort (eig_vals (Matrix (a)); by = abs)
8975
9076 a = BlockSparseMatrix {elt, AbstractMatrix{elt}} (undef, [2 , 3 ], [2 , 3 ])
9177 a[Block (1 , 1 )] = dev (randn (elt, 2 , 2 ))
@@ -96,7 +82,7 @@ arrayts = (Array, JLArray)
9682 @test isisometric (u; side = :left )
9783 else
9884 # TODO : Fix comparison with UniformScaling on GPU.
99- @test_broken isisometric (u; side = :left )
85+ @test isisometric (u; side = :left )
10086 end
10187 end
10288 for f in (right_orth, right_polar, lq_compact, lq_full)
@@ -106,15 +92,11 @@ arrayts = (Array, JLArray)
10692 @test isisometric (u; side = :right )
10793 else
10894 # TODO : Fix comparison with UniformScaling on GPU.
109- @test_broken isisometric (u; side = :right )
95+ @test isisometric (u; side = :right )
11096 end
11197 end
11298 for f in (svd_compact, svd_full, svd_trunc)
113- if arrayt ≢ Array && (f ≡ svd_full || f ≡ svd_trunc)
114- @test_broken f (a)
115- else
116- u, s, v = f (a)
117- @test u * s * v ≈ a
118- end
99+ u, s, v = f (a)
100+ @test u * s * v ≈ a
119101 end
120102end
0 commit comments