Skip to content

Commit

Permalink
Merge pull request JuliaLang#9602 from JuliaLang/anj/pwk
Browse files Browse the repository at this point in the history
Change algorithm for symmetric tridiagonal problems to PWK instead of MRRR when all values are calculated.
  • Loading branch information
andreasnoack committed Jan 5, 2015
2 parents f46d46d + 06f9420 commit b2fd07b
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion base/linalg/tridiag.jl
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ eigfact{T}(A::SymTridiagonal{T}, irange::UnitRange) = (S = promote_type(Float32,
eigfact!{T<:BlasReal}(A::SymTridiagonal{T}, vl::Real, vu::Real) = Eigen(LAPACK.stegr!('V', A.dv, A.ev, convert(T, vl), convert(T, vu), 0, 0)...)
eigfact{T}(A::SymTridiagonal{T}, vl::Real, vu::Real) = (S = promote_type(Float32, typeof(zero(T)/norm(one(T)))); eigfact!(S != T ? convert(SymTridiagonal{S}, A) : copy(A), vl, vu))

eigvals!{T<:BlasReal}(A::SymTridiagonal{T}) = LAPACK.stegr!('N', 'A', A.dv, A.ev, 0.0, 0.0, 0, 0)[1]
eigvals!{T<:BlasReal}(A::SymTridiagonal{T}) = LAPACK.stev!('N', A.dv, A.ev)[1]
eigvals{T}(A::SymTridiagonal{T}) = (S = promote_type(Float32, typeof(zero(T)/norm(one(T)))); eigvals!(S != T ? convert(SymTridiagonal{S}, A) : copy(A)))

eigvals!{T<:BlasReal}(A::SymTridiagonal{T}, irange::UnitRange) = LAPACK.stegr!('N', 'I', A.dv, A.ev, 0.0, 0.0, irange.start, irange.stop)[1]
Expand Down

0 comments on commit b2fd07b

Please sign in to comment.