Skip to content

Commit 05ccc59

Browse files
matteoseclimaleadt
authored andcommitted
Add tests for eigvals and eigvecs
1 parent 11bf501 commit 05ccc59

File tree

1 file changed

+43
-1
lines changed

1 file changed

+43
-1
lines changed

test/libraries/cusolver/dense.jl

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -341,7 +341,20 @@ k = 1
341341
@test Eig.values collect(d_eig.values)
342342
h_V = collect(d_eig.vectors)
343343
h_V⁻¹ = inv(h_V)
344-
@test abs.(Eig.vectors* h_V⁻¹) I
344+
@test abs.(Eig.vectors*h_V⁻¹) I
345+
346+
A = rand(elty,m,m)
347+
d_A = CuArray(A)
348+
W = eigvals(A)
349+
d_W = eigvals(d_A)
350+
@test W collect(d_W)
351+
352+
A = rand(elty,m,m)
353+
d_A = CuArray(A)
354+
V = eigvecs(A)
355+
d_V = eigvecs(d_A)
356+
V⁻¹ = inv(V)
357+
@test abs.(collect(d_V)*V⁻¹) I
345358
end
346359

347360
@testset "syevd!" begin
@@ -398,6 +411,35 @@ k = 1
398411
@test abs.(Eig.vectors'*h_V) I
399412
end
400413

414+
A = rand(elty,m,m)
415+
A += A'
416+
d_A = CuArray(A)
417+
W = eigvals(LinearAlgebra.Hermitian(A))
418+
d_W = eigvals(d_A)
419+
@test W collect(d_W)
420+
d_W = eigvals(LinearAlgebra.Hermitian(d_A))
421+
@test W collect(d_W)
422+
if elty <: Real
423+
W = eigvals(LinearAlgebra.Symmetric(A))
424+
d_W = eigvals(LinearAlgebra.Symmetric(d_A))
425+
@test W collect(d_W)
426+
end
427+
428+
A = rand(elty,m,m)
429+
A += A'
430+
d_A = CuArray(A)
431+
V = eigvecs(LinearAlgebra.Hermitian(A))
432+
V⁻¹ = inv(V)
433+
d_V = eigvecs(d_A)
434+
@test abs.(collect(d_V)*V⁻¹) I
435+
d_V = eigvecs(LinearAlgebra.Hermitian(d_A))
436+
@test abs.(collect(d_V)*V⁻¹) I
437+
if elty <: Real
438+
V = eigvecs(LinearAlgebra.Symmetric(A))
439+
V⁻¹ = inv(V)
440+
d_V = eigvecs(LinearAlgebra.Symmetric(d_A))
441+
@test abs.(collect(d_V)*V⁻¹) I
442+
end
401443
end
402444

403445
@testset "sygvd!" begin

0 commit comments

Comments
 (0)