Skip to content

Commit

Permalink
Add test for a^p where a is positive definite (#22895)
Browse files Browse the repository at this point in the history
  • Loading branch information
kshyatt authored and fredrikekre committed Jul 22, 2017
1 parent 5ea8c7c commit d9903b1
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions test/linalg/symmetric.jl
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ end
a = eltya == Int ? rand(1:7, n, n) : convert(Matrix{eltya}, eltya <: Complex ? complex.(areal, aimg) : areal)
asym = a.'+a # symmetric indefinite
aherm = a'+a # Hermitian indefinite
apos = a'*a # Hermitian positive definite
ε = εa = eps(abs(float(one(eltya))))

x = randn(n)
Expand Down Expand Up @@ -235,16 +236,19 @@ end
@test (asym)^-2.0 real(Array(Symmetric(asym)^-2.0))
@test (aherm)^2.0 real(Array(Hermitian(aherm)^2.0))
@test (aherm)^-2.0 real(Array(Hermitian(aherm)^-2.0))
@test (apos)^2.0 real(Array(Hermitian(apos)^2.0))
elseif eltya <: Real
@test (asym)^2.0 real(Array(Symmetric(asym)^2.0)) rtol=100*n^2*eps(real(eltya))
@test (asym)^-2.0 real(Array(Symmetric(asym)^-2.0)) rtol=100*n^2*eps(real(eltya))
@test (aherm)^2.0 real(Array(Hermitian(aherm)^2.0)) rtol=100*n^2*eps(real(eltya))
@test (aherm)^-2.0 real(Array(Hermitian(aherm)^-2.0)) rtol=100*n^2*eps(real(eltya))
@test (apos)^2.0 real(Array(Hermitian(apos)^2.0)) rtol=100*n^2*eps(real(eltya))
else
@test (asym)^2.0 Array(Symmetric(asym)^2.0) rtol=100*n^2*eps(real(eltya))
@test (asym)^-2.0 Array(Symmetric(asym)^-2.0) rtol=100*n^2*eps(real(eltya))
@test (aherm)^2.0 Array(Hermitian(aherm)^2.0) rtol=100*n^2*eps(real(eltya))
@test (aherm)^-2.0 Array(Hermitian(aherm)^-2.0) rtol=100*n^2*eps(real(eltya))
@test (apos)^2.0 Array(Hermitian(apos)^2.0) rtol=100*n^2*eps(real(eltya))
end
end
end
Expand Down

0 comments on commit d9903b1

Please sign in to comment.