@@ -2944,16 +2944,18 @@ end
2944
2944
@testset " eigen" begin
2945
2945
sortby = x -> (real (x), imag (x))
2946
2946
@testset " AbstractFill" begin
2947
- @testset for val in (2.0 , - 2 , 3 + 2im , 4 - 5im , 2im ), n in (VERSION >= v " 1.10" ? (0 , 1 , 4 ) : (1 , 4 ))
2947
+ sizes = VERSION >= v " 1.10" ? (0 , 1 , 4 ) : (1 , 4 )
2948
+ @testset for val in (2.0 , - 2 , 3 + 2im , 4 - 5im , 2im ), n in sizes
2949
+ sortby_val = iszero (real (val)) ? imag : sortby
2948
2950
F = Fill (val, n, n)
2949
2951
M = Matrix (F)
2950
- @test eigvals (F; sortby) ≈ eigvals (M; sortby)
2951
- λ, V = eigen (F; sortby)
2952
- @test λ == eigvals (F; sortby)
2952
+ @test eigvals (F; sortby = sortby_val ) ≈ eigvals (M; sortby = sortby_val )
2953
+ λ, V = eigen (F; sortby = sortby_val )
2954
+ @test λ == eigvals (F; sortby = sortby_val )
2953
2955
@test V' V ≈ I
2954
2956
@test F * V ≈ V * Diagonal (λ)
2955
2957
end
2956
- @testset for MT in (Ones, Zeros), T in (Float64, Int, ComplexF64), n in ( 0 , 1 , 4 )
2958
+ @testset for MT in (Ones, Zeros), T in (Float64, Int, ComplexF64), n in sizes
2957
2959
F = MT {T} (n,n)
2958
2960
M = Matrix (F)
2959
2961
@test eigvals (F; sortby) ≈ eigvals (M; sortby)
0 commit comments