|
177 | 177 | @test isequal(eigen(A), eigen(A)) |
178 | 178 | end |
179 | 179 |
|
| 180 | +@testset "Float16" begin |
| 181 | + A = Float16[4. 12. -16.; 12. 37. -43.; -16. -43. 98.] |
| 182 | + B = eigen(A) |
| 183 | + B32 = eigen(Float32.(A)) |
| 184 | + C = Float16[3 -2; 4 -1] |
| 185 | + D = eigen(C) |
| 186 | + D32 = eigen(Float32.(C)) |
| 187 | + F = eigen(complex(C)) |
| 188 | + F32 = eigen(complex(Float32.(C))) |
| 189 | + @test B isa Eigen{Float16, Float16, Matrix{Float16}, Vector{Float16}, Vector{Float16}} |
| 190 | + @test B.values isa Vector{Float16} |
| 191 | + @test B.vectors isa Matrix{Float16} |
| 192 | + @test B.vectorsl isa Matrix{Float16} |
| 193 | + @test B.values ≈ B32.values |
| 194 | + @test B.vectors ≈ B32.vectors |
| 195 | + @test B.vectorsl ≈ B32.vectorsl |
| 196 | + @test D isa Eigen{ComplexF16, ComplexF16, Matrix{ComplexF16}, Vector{ComplexF16}, Vector{Float16}} |
| 197 | + @test D.values isa Vector{ComplexF16} |
| 198 | + @test D.vectors isa Matrix{ComplexF16} |
| 199 | + @test D.vectorsl isa Matrix{ComplexF16} |
| 200 | + @test D.values ≈ D32.values |
| 201 | + @test D.vectors ≈ D32.vectors |
| 202 | + @test D.vectorsl ≈ D32.vectorsl |
| 203 | + @test F isa Eigen{ComplexF16, ComplexF16, Matrix{ComplexF16}, Vector{ComplexF16}, Vector{Float16}} |
| 204 | + @test F.values isa Vector{ComplexF16} |
| 205 | + @test F.vectors isa Matrix{ComplexF16} |
| 206 | + @test F.vectorsl isa Matrix{ComplexF16} |
| 207 | + @test F.values ≈ F32.values |
| 208 | + @test F.vectors ≈ F32.vectors |
| 209 | + @test F.vectorsl ≈ F32.vectorsl |
| 210 | +end |
| 211 | + |
180 | 212 | end # module TestEigen |
0 commit comments