@@ -162,7 +162,7 @@ function eig2x2!(d::StridedVector, e::StridedVector, j::Integer, vectors::Matrix
162
162
return c, s
163
163
end
164
164
165
- function eigvalsPWK! (S:: SymTridiagonal{T} ; tol = eps (T)) where {T<: Real }
165
+ function eigvalsPWK! (S:: SymTridiagonal{T} ; tol = eps (T), sortby :: Union{Function,Nothing} = LinearAlgebra . eigsortby ) where {T<: Real }
166
166
d = S. dv
167
167
e = S. ev
168
168
n = length (d)
@@ -216,7 +216,7 @@ function eigvalsPWK!(S::SymTridiagonal{T}; tol = eps(T)) where {T<:Real}
216
216
end
217
217
end
218
218
end
219
- sort ! (d)
219
+ LinearAlgebra . sorteig ! (d, sortby )
220
220
end
221
221
222
222
function eigQL! (
@@ -570,39 +570,39 @@ function symtriUpper!(
570
570
end
571
571
572
572
573
- _eigvals! (A:: SymmetricTridiagonalFactorization ; tol = eps (real (eltype (A)))) =
574
- eigvalsPWK! (A. diagonals, tol = tol )
573
+ _eigvals! (A:: SymmetricTridiagonalFactorization ; tol = eps (real (eltype (A))), sortby :: Union{Function,Nothing} = LinearAlgebra . eigsortby ) =
574
+ eigvalsPWK! (A. diagonals; tol, sortby )
575
575
576
- _eigvals! (A:: SymTridiagonal ; tol = eps (real (eltype (A)))) = eigvalsPWK! (A, tol = tol )
576
+ _eigvals! (A:: SymTridiagonal ; tol = eps (real (eltype (A))), sortby :: Union{Function,Nothing} = LinearAlgebra . eigsortby ) = eigvalsPWK! (A; tol, sortby )
577
577
578
- _eigvals! (A:: Hermitian ; tol = eps (real (eltype (A)))) = eigvals! (symtri! (A), tol = tol )
578
+ _eigvals! (A:: Hermitian ; tol = eps (real (eltype (A))), sortby :: Union{Function,Nothing} = LinearAlgebra . eigsortby ) = eigvals! (symtri! (A); tol, sortby )
579
579
580
580
581
- LinearAlgebra. eigvals! (A:: SymmetricTridiagonalFactorization ; tol = eps (real (eltype (A)))) =
582
- _eigvals! (A, tol = tol )
581
+ LinearAlgebra. eigvals! (A:: SymmetricTridiagonalFactorization ; tol = eps (real (eltype (A))), sortby :: Union{Function,Nothing} = LinearAlgebra . eigsortby ) =
582
+ _eigvals! (A; tol, sortby )
583
583
584
- LinearAlgebra. eigvals! (A:: SymTridiagonal ; tol = eps (real (eltype (A)))) =
585
- _eigvals! (A, tol = tol )
584
+ LinearAlgebra. eigvals! (A:: SymTridiagonal ; tol = eps (real (eltype (A))), sortby :: Union{Function,Nothing} = LinearAlgebra . eigsortby ) =
585
+ _eigvals! (A; tol, sortby )
586
586
587
- LinearAlgebra. eigvals! (A:: Hermitian ; tol = eps (real (eltype (A)))) = _eigvals! (A, tol = tol )
587
+ LinearAlgebra. eigvals! (A:: Hermitian ; tol = eps (real (eltype (A))), sortby :: Union{Function,Nothing} = LinearAlgebra . eigsortby ) = _eigvals! (A; tol, sortby )
588
588
589
589
590
- _eigen! (A:: SymmetricTridiagonalFactorization ; tol = eps (real (eltype (A)))) =
591
- LinearAlgebra. Eigen (eigQL! (A. diagonals, vectors = Array (A. Q), tol = tol)... )
590
+ _eigen! (A:: SymmetricTridiagonalFactorization ; tol = eps (real (eltype (A))), sortby :: Union{Function,Nothing} = LinearAlgebra . eigsortby ) =
591
+ LinearAlgebra. Eigen (LinearAlgebra . sorteig! ( eigQL! (A. diagonals, vectors = Array (A. Q), tol = tol) ... , sortby )... )
592
592
593
- _eigen! (A:: SymTridiagonal ; tol = eps (real (eltype (A)))) = LinearAlgebra. Eigen (
593
+ _eigen! (A:: SymTridiagonal ; tol = eps (real (eltype (A))), sortby :: Union{Function,Nothing} = LinearAlgebra . eigsortby ) = LinearAlgebra. Eigen (
594
594
eigQL! (A, vectors = Matrix {eltype(A)} (I, size (A, 1 ), size (A, 1 )), tol = tol)... ,
595
595
)
596
596
597
- _eigen! (A:: Hermitian ; tol = eps (real (eltype (A)))) = _eigen! (symtri! (A), tol = tol)
597
+ _eigen! (A:: Hermitian ; tol = eps (real (eltype (A))), sortby :: Union{Function,Nothing} = LinearAlgebra . eigsortby ) = _eigen! (symtri! (A), tol = tol)
598
598
599
599
600
- LinearAlgebra. eigen! (A:: SymmetricTridiagonalFactorization ; tol = eps (real (eltype (A)))) =
601
- _eigen! (A, tol = tol )
600
+ LinearAlgebra. eigen! (A:: SymmetricTridiagonalFactorization ; tol = eps (real (eltype (A))), sortby :: Union{Function,Nothing} = LinearAlgebra . eigsortby ) =
601
+ _eigen! (A; tol, sortby )
602
602
603
- LinearAlgebra. eigen! (A:: SymTridiagonal ; tol = eps (real (eltype (A)))) = _eigen! (A, tol = tol )
603
+ LinearAlgebra. eigen! (A:: SymTridiagonal ; tol = eps (real (eltype (A))), sortby :: Union{Function,Nothing} = LinearAlgebra . eigsortby ) = _eigen! (A; tol, sortby )
604
604
605
- LinearAlgebra. eigen! (A:: Hermitian ; tol = eps (real (eltype (A)))) = _eigen! (A, tol = tol )
605
+ LinearAlgebra. eigen! (A:: Hermitian ; tol = eps (real (eltype (A))), sortby :: Union{Function,Nothing} = LinearAlgebra . eigsortby ) = _eigen! (A; tol, sortby )
606
606
607
607
608
608
function eigen2! (
0 commit comments