@@ -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
168159end
0 commit comments