Skip to content

Commit 304c2e5

Browse files
authored
Update ci.yml (#135)
1 parent 81eee0d commit 304c2e5

File tree

3 files changed

+21
-21
lines changed

3 files changed

+21
-21
lines changed

.github/workflows/ci.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ jobs:
2727
fail-fast: false
2828
matrix:
2929
version:
30+
- 'lts'
3031
- 'nightly'
3132
- '1'
3233
os:
@@ -37,7 +38,7 @@ jobs:
3738
- x64
3839
steps:
3940
- uses: actions/checkout@v4
40-
- uses: julia-actions/setup-julia@v1
41+
- uses: julia-actions/setup-julia@v2.2
4142
with:
4243
version: ${{ matrix.version }}
4344
arch: ${{ matrix.arch }}

src/eigenGeneral.jl

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,14 @@ function LinearAlgebra.ldiv!(H::HessenbergMatrix, B::AbstractVecOrMat)
2929
end
3030
(\)(H::HessenbergMatrix, B::AbstractVecOrMat) = ldiv!(copy(H), copy(B))
3131

32+
if VERSION < v"1.10"
33+
# ensure tests pass on Julia v1.6
34+
copy_similar(A::AbstractArray, ::Type{T}) where {T} = copyto!(similar(A, T, size(A)), A)
35+
eigtype(T) = promote_type(Float32, typeof(zero(T)/sqrt(abs2(one(T)))))
36+
eigencopy_oftype(A, S) = copy_similar(A, S)
37+
LinearAlgebra.eigvals(A::HessenbergMatrix{T}; kws...) where T = LinearAlgebra.eigvals!(eigencopy_oftype(A, eigtype(T)); kws...)
38+
end
39+
3240
# Hessenberg factorization
3341
struct HessenbergFactorization{T,S<:StridedMatrix,U} <: Factorization{T}
3442
data::S

test/eigenselfadjoint.jl

Lines changed: 11 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -120,22 +120,10 @@ using Test, GenericLinearAlgebra, LinearAlgebra, Quaternions
120120

121121
@testset "issue 123" begin
122122
M = Hermitian([
123-
big"-0.4080898675832881399369478084264191594976530854542904557798567397269356887436951";
124-
big"-0.1032324294981949906363774065395184125237581835226155628209100984396171211818558";
125-
big"-1.0795157507124452910839896877334667387210301781514938067860918240771876343947";
126-
big"0.9172086645212876240254394768180975107502376572771647296150618931226550446699544";;
127-
big"-0.1032324294981949906363774065395184125237581835226155628209100984396171211818558";
128-
big"-0.9819956883377066621250198846550622559246996804965712336465013506629992739010227";
129-
big"0.1882735697944729855991976669864503854920622386133987141371224931350749728226066";
130-
big"-0.1599663084136352437739757607131301560774255778371317602542426234968564801904052";;
131-
big"-1.0795157507124452910839896877334667387210301781514938067860918240771876343947";
132-
big"0.1882735697944729855991976669864503854920622386133987141371224931350749728226066";
133-
big"0.9688026817149176598146701814747478080649943014810992426739997593840858865727305";
134-
big"-1.672789745967021000172452940954243617442140494364475046869527486458478435262502";;
135-
big"0.9172086645212876240254394768180975107502376572771647296150618931226550446699544";
136-
big"-0.1599663084136352437739757607131301560774255778371317602542426234968564801904052";
137-
big"-1.672789745967021000172452940954243617442140494364475046869527486458478435262502";
138-
big"0.4212828742060771422472975116067336073573584644697624467523583310058490760719874"
123+
big"-0.4080898675832881399369478084264191594976530854542904557798567397269356887436951" big"-0.1032324294981949906363774065395184125237581835226155628209100984396171211818558" big"-1.0795157507124452910839896877334667387210301781514938067860918240771876343947" big"0.9172086645212876240254394768180975107502376572771647296150618931226550446699544";
124+
big"-0.1032324294981949906363774065395184125237581835226155628209100984396171211818558" big"-0.9819956883377066621250198846550622559246996804965712336465013506629992739010227" big"0.1882735697944729855991976669864503854920622386133987141371224931350749728226066" big"-0.1599663084136352437739757607131301560774255778371317602542426234968564801904052";
125+
big"-1.0795157507124452910839896877334667387210301781514938067860918240771876343947" big"0.1882735697944729855991976669864503854920622386133987141371224931350749728226066" big"0.9688026817149176598146701814747478080649943014810992426739997593840858865727305" big"-1.672789745967021000172452940954243617442140494364475046869527486458478435262502";
126+
big"0.9172086645212876240254394768180975107502376572771647296150618931226550446699544" big"-0.1599663084136352437739757607131301560774255778371317602542426234968564801904052" big"-1.672789745967021000172452940954243617442140494364475046869527486458478435262502" big"0.4212828742060771422472975116067336073573584644697624467523583310058490760719874"
139127
])
140128
F = eigen(M)
141129
@test M * F.vectors F.vectors * Diagonal(F.values)
@@ -160,9 +148,12 @@ using Test, GenericLinearAlgebra, LinearAlgebra, Quaternions
160148
@testset "#133" begin
161149
A = SymTridiagonal{BigFloat}(randn(5), randn(4))
162150
T = Tridiagonal(A)
163-
@test eigvals(A) == eigvals(T) == eigvals(A; sortby=LinearAlgebra.eigsortby) == eigvals(T; sortby=LinearAlgebra.eigsortby) == eigvals!(deepcopy(A); sortby=LinearAlgebra.eigsortby)
164-
@test eigen(A).values == eigen(T).values == eigen(A; sortby=LinearAlgebra.eigsortby).values == eigen(T; sortby=LinearAlgebra.eigsortby).values
165-
# compare abs to avoid sign issues
166-
@test abs.(eigen(A).vectors) == abs.(eigen(T).vectors) == abs.(eigen(A; sortby=LinearAlgebra.eigsortby).vectors) == abs.(eigen(T; sortby=LinearAlgebra.eigsortby).vectors)
151+
if VERSION v"1.10"
152+
# The following depends on more recent behaviour of eigvals/eigen in stdlib
153+
@test eigvals(A) == eigvals(T) == eigvals(A; sortby=LinearAlgebra.eigsortby) == eigvals(T; sortby=LinearAlgebra.eigsortby) == eigvals!(deepcopy(A); sortby=LinearAlgebra.eigsortby)
154+
@test eigen(A).values == eigen(T).values == eigen(A; sortby=LinearAlgebra.eigsortby).values == eigen(T; sortby=LinearAlgebra.eigsortby).values
155+
# compare abs to avoid sign issues
156+
@test abs.(eigen(A).vectors) == abs.(eigen(T).vectors) == abs.(eigen(A; sortby=LinearAlgebra.eigsortby).vectors) == abs.(eigen(T; sortby=LinearAlgebra.eigsortby).vectors)
157+
end
167158
end
168159
end

0 commit comments

Comments
 (0)