Skip to content

Commit bd5eb17

Browse files
authored
Merge branch 'master' into errormessage
2 parents 2a2ec85 + 97a712f commit bd5eb17

File tree

15 files changed

+826
-722
lines changed

15 files changed

+826
-722
lines changed

.ci/Manifest.toml

Lines changed: 21 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ version = "1.11.0"
1919
[[deps.CompilerSupportLibraries_jll]]
2020
deps = ["Artifacts", "Libdl"]
2121
uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae"
22-
version = "1.2.0+0"
22+
version = "1.3.0+1"
2323

2424
[[deps.Dates]]
2525
deps = ["Printf"]
@@ -66,24 +66,24 @@ uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21"
6666
version = "0.6.4"
6767

6868
[[deps.LibCURL_jll]]
69-
deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"]
69+
deps = ["Artifacts", "LibSSH2_jll", "Libdl", "OpenSSL_jll", "Zlib_jll", "nghttp2_jll"]
7070
uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0"
71-
version = "8.6.0+0"
71+
version = "8.11.1+1"
7272

7373
[[deps.LibGit2]]
7474
deps = ["LibGit2_jll", "NetworkOptions", "Printf", "SHA"]
7575
uuid = "76f85450-5226-5b5a-8eaa-529ad045b433"
7676
version = "1.11.0"
7777

7878
[[deps.LibGit2_jll]]
79-
deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll"]
79+
deps = ["Artifacts", "LibSSH2_jll", "Libdl", "OpenSSL_jll"]
8080
uuid = "e37daf67-58a4-590a-8e99-b0245dd2ffc5"
81-
version = "1.8.0+0"
81+
version = "1.9.0+0"
8282

8383
[[deps.LibSSH2_jll]]
84-
deps = ["Artifacts", "Libdl", "MbedTLS_jll"]
84+
deps = ["Artifacts", "Libdl", "OpenSSL_jll"]
8585
uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8"
86-
version = "1.11.0+1"
86+
version = "1.11.3+1"
8787

8888
[[deps.Libdl]]
8989
uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb"
@@ -104,31 +104,29 @@ deps = ["Base64", "JuliaSyntaxHighlighting", "StyledStrings"]
104104
uuid = "d6f4376e-aef5-505a-96c1-9c027394607a"
105105
version = "1.11.0"
106106

107-
[[deps.MbedTLS_jll]]
108-
deps = ["Artifacts", "Libdl"]
109-
uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1"
110-
version = "2.28.6+1"
111-
112107
[[deps.MozillaCACerts_jll]]
113108
uuid = "14a3606d-f60d-562e-9121-12d972cd8159"
114-
version = "2024.3.11"
109+
version = "2024.12.31"
115110

116111
[[deps.NetworkOptions]]
117112
uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908"
118-
version = "1.2.0"
113+
version = "1.3.0"
119114

120115
[[deps.OpenBLAS_jll]]
121116
deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"]
122117
uuid = "4536629a-c528-5b80-bd46-f80d51c5b363"
123-
version = "0.3.28+3"
118+
version = "0.3.29+0"
119+
120+
[[deps.OpenSSL_jll]]
121+
deps = ["Artifacts", "Libdl"]
122+
uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95"
123+
version = "3.0.15+2"
124124

125125
[[deps.PackageCompiler]]
126126
deps = ["Artifacts", "Glob", "LazyArtifacts", "Libdl", "Pkg", "Printf", "RelocatableFolders", "TOML", "UUIDs", "p7zip_jll"]
127-
git-tree-sha1 = "946623a388d8cb5874a0e2cb062dbbcfbb90cea5"
128-
repo-rev = "kc/artifacts"
129-
repo-url = "https://github.com/JuliaLang/PackageCompiler.jl.git"
127+
git-tree-sha1 = "5d13e5b70011762b74f86fc08385303589f80272"
130128
uuid = "9b87118b-4619-50d2-8e1e-99f35a4d4d9d"
131-
version = "2.1.24"
129+
version = "2.2.0"
132130

133131
[[deps.Pkg]]
134132
deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "Random", "SHA", "TOML", "Tar", "UUIDs", "p7zip_jll"]
@@ -206,19 +204,19 @@ version = "1.11.0"
206204
[[deps.Zlib_jll]]
207205
deps = ["Libdl"]
208206
uuid = "83775a58-1f1d-513f-b197-d71354ab007a"
209-
version = "1.3.1+1"
207+
version = "1.3.1+2"
210208

211209
[[deps.libblastrampoline_jll]]
212210
deps = ["Artifacts", "Libdl"]
213211
uuid = "8e850b90-86db-534c-a0d3-1478176c7d93"
214-
version = "5.11.2+0"
212+
version = "5.12.0+0"
215213

216214
[[deps.nghttp2_jll]]
217215
deps = ["Artifacts", "Libdl"]
218216
uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d"
219-
version = "1.63.0+1"
217+
version = "1.64.0+1"
220218

221219
[[deps.p7zip_jll]]
222220
deps = ["Artifacts", "Libdl"]
223221
uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0"
224-
version = "17.5.0+1"
222+
version = "17.5.0+2"

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
name = "LinearAlgebra"
22
uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
3-
version = "1.11.0"
3+
version = "1.12.0"
44

55
[deps]
66
Libdl = "8f399da3-3557-5675-b5ff-fb832c97cbdb"

test/bidiag.jl

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@ using LinearAlgebra: BlasReal, BlasFloat
77

88
const BASE_TEST_PATH = joinpath(Sys.BINDIR, "..", "share", "julia", "test")
99

10-
isdefined(Main, :Furlongs) || @eval Main include(joinpath($(BASE_TEST_PATH), "testhelpers", "Furlongs.jl"))
11-
using .Main.Furlongs
12-
1310
isdefined(Main, :Quaternions) || @eval Main include(joinpath($(BASE_TEST_PATH), "testhelpers", "Quaternions.jl"))
1411
using .Main.Quaternions
1512

@@ -354,36 +351,33 @@ Random.seed!(1)
354351
@test norm(x-tx,Inf) <= 4*condT*max(eps()*norm(tx,Inf), eps(promty)*norm(x,Inf))
355352
end
356353
@testset "Specialized multiplication/division" begin
357-
getval(x) = x
358-
getval(x::Furlong) = x.val
359354
function _bidiagdivmultest(T,
360355
x,
361356
typemul=T.uplo == 'U' ? UpperTriangular : Matrix,
362357
typediv=T.uplo == 'U' ? UpperTriangular : Matrix,
363358
typediv2=T.uplo == 'U' ? UpperTriangular : Matrix)
364359
TM = Matrix(T)
365-
@test map(getval, (T*x)::typemul) map(getval, TM*x)
366-
@test map(getval, (x*T)::typemul) map(getval, x*TM)
367-
@test map(getval, (x\T)::typediv) map(getval, x\TM)
368-
@test map(getval, (T/x)::typediv) map(getval, TM/x)
360+
@test (T*x)::typemul TM*x
361+
@test (x*T)::typemul x*TM
362+
@test (x\T)::typediv x\TM
363+
@test (T/x)::typediv TM/x
369364
if !isa(x, Number)
370-
@test map(getval, Array((T\x)::typediv2)) map(getval, Array(TM\x))
371-
@test map(getval, Array((x/T)::typediv2)) map(getval, Array(x/TM))
365+
@test Array((T\x)::typediv2) Array(TM\x)
366+
@test Array((x/T)::typediv2) Array(x/TM)
372367
end
373368
return nothing
374369
end
375370
A = Matrix(T)
376-
for t in (T, Furlong.(T)), (A, dv, ev) in ((A, dv, ev), (Furlong.(A), Furlong.(dv), Furlong.(ev)))
377-
_bidiagdivmultest(t, 5, Bidiagonal, Bidiagonal)
378-
_bidiagdivmultest(t, 5I, Bidiagonal, Bidiagonal, t.uplo == 'U' ? UpperTriangular : LowerTriangular)
379-
_bidiagdivmultest(t, Diagonal(dv), Bidiagonal, Bidiagonal, t.uplo == 'U' ? UpperTriangular : LowerTriangular)
380-
_bidiagdivmultest(t, UpperTriangular(A))
381-
_bidiagdivmultest(t, UnitUpperTriangular(A))
382-
_bidiagdivmultest(t, LowerTriangular(A), t.uplo == 'L' ? LowerTriangular : Matrix, t.uplo == 'L' ? LowerTriangular : Matrix, t.uplo == 'L' ? LowerTriangular : Matrix)
383-
_bidiagdivmultest(t, UnitLowerTriangular(A), t.uplo == 'L' ? LowerTriangular : Matrix, t.uplo == 'L' ? LowerTriangular : Matrix, t.uplo == 'L' ? LowerTriangular : Matrix)
384-
_bidiagdivmultest(t, Bidiagonal(dv, ev, :U), Matrix, Matrix, Matrix)
385-
_bidiagdivmultest(t, Bidiagonal(dv, ev, :L), Matrix, Matrix, Matrix)
386-
end
371+
t = T
372+
_bidiagdivmultest(t, 5, Bidiagonal, Bidiagonal)
373+
_bidiagdivmultest(t, 5I, Bidiagonal, Bidiagonal, t.uplo == 'U' ? UpperTriangular : LowerTriangular)
374+
_bidiagdivmultest(t, Diagonal(dv), Bidiagonal, Bidiagonal, t.uplo == 'U' ? UpperTriangular : LowerTriangular)
375+
_bidiagdivmultest(t, UpperTriangular(A))
376+
_bidiagdivmultest(t, UnitUpperTriangular(A))
377+
_bidiagdivmultest(t, LowerTriangular(A), t.uplo == 'L' ? LowerTriangular : Matrix, t.uplo == 'L' ? LowerTriangular : Matrix, t.uplo == 'L' ? LowerTriangular : Matrix)
378+
_bidiagdivmultest(t, UnitLowerTriangular(A), t.uplo == 'L' ? LowerTriangular : Matrix, t.uplo == 'L' ? LowerTriangular : Matrix, t.uplo == 'L' ? LowerTriangular : Matrix)
379+
_bidiagdivmultest(t, Bidiagonal(dv, ev, :U), Matrix, Matrix, Matrix)
380+
_bidiagdivmultest(t, Bidiagonal(dv, ev, :L), Matrix, Matrix, Matrix)
387381
end
388382
end
389383

test/blas.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -776,7 +776,7 @@ end
776776
# Make sure we can use `Base.libblas_name`. Avoid causing
777777
# https://github.com/JuliaLang/julia/issues/48427 again.
778778
@testset "libblas_name" begin
779-
dot_sym = dlsym(dlopen(Base.libblas_name), "cblas_ddot" * (Sys.WORD_SIZE == 64 ? "64_" : ""))
779+
dot_sym = dlsym(dlopen(BLAS.libblastrampoline), "cblas_ddot" * (Sys.WORD_SIZE == 64 ? "64_" : ""))
780780
@test 23.0 === @ccall $(dot_sym)(2::Int, [2.0, 3.0]::Ref{Cdouble}, 1::Int, [4.0, 5.0]::Ref{Cdouble}, 1::Int)::Cdouble
781781
end
782782

test/diagonal.jl

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,6 @@ using Test, LinearAlgebra, Random
66
using LinearAlgebra: BlasFloat, BlasComplex
77

88
const BASE_TEST_PATH = joinpath(Sys.BINDIR, "..", "share", "julia", "test")
9-
isdefined(Main, :Furlongs) || @eval Main include(joinpath($(BASE_TEST_PATH), "testhelpers", "Furlongs.jl"))
10-
using .Main.Furlongs
119

1210
isdefined(Main, :OffsetArrays) || @eval Main include(joinpath($(BASE_TEST_PATH), "testhelpers", "OffsetArrays.jl"))
1311
using .Main.OffsetArrays
@@ -470,23 +468,6 @@ Random.seed!(1)
470468
@test svdvals(D) == s
471469
@test svd(D).V == V
472470
end
473-
474-
@testset "svd/eigen with Diagonal{Furlong}" begin
475-
Du = Furlong.(D)
476-
@test Du isa Diagonal{<:Furlong{1}}
477-
F = svd(Du)
478-
U, s, V = F
479-
@test map(x -> x.val, Matrix(F)) map(x -> x.val, Du)
480-
@test svdvals(Du) == s
481-
@test U isa AbstractMatrix{<:Furlong{0}}
482-
@test V isa AbstractMatrix{<:Furlong{0}}
483-
@test s isa AbstractVector{<:Furlong{1}}
484-
E = eigen(Du)
485-
vals, vecs = E
486-
@test Matrix(E) == Du
487-
@test vals isa AbstractVector{<:Furlong{1}}
488-
@test vecs isa AbstractMatrix{<:Furlong{0}}
489-
end
490471
end
491472

492473
@testset "axes" begin

test/givens.jl

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -82,16 +82,6 @@ using LinearAlgebra: Givens, Rotation, givensAlgorithm
8282
end
8383
end
8484

85-
# 36430
86-
# dimensional correctness:
87-
const BASE_TEST_PATH = joinpath(Sys.BINDIR, "..", "share", "julia", "test")
88-
isdefined(Main, :Furlongs) || @eval Main include(joinpath($(BASE_TEST_PATH), "testhelpers", "Furlongs.jl"))
89-
using .Main.Furlongs
90-
91-
@testset "testing dimensions with Furlongs" begin
92-
@test_throws MethodError givens(Furlong(1.0), Furlong(2.0), 1, 2)
93-
end
94-
9585
const TNumber = Union{Float64,ComplexF64}
9686
struct MockUnitful{T<:TNumber} <: Number
9787
data::T

test/hessenberg.jl

Lines changed: 16 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,6 @@ module TestHessenberg
55
using Test, LinearAlgebra, Random
66

77
const BASE_TEST_PATH = joinpath(Sys.BINDIR, "..", "share", "julia", "test")
8-
isdefined(Main, :Furlongs) || @eval Main include(joinpath($(BASE_TEST_PATH), "testhelpers", "Furlongs.jl"))
9-
using .Main.Furlongs
10-
118
isdefined(Main, :SizedArrays) || @eval Main include(joinpath($(BASE_TEST_PATH), "testhelpers", "SizedArrays.jl"))
129
using .Main.SizedArrays
1310

@@ -68,29 +65,20 @@ let n = 10
6865
@test Array(Hc + H) == Array(Hc) + Array(H)
6966
@test Array(Hc - H) == Array(Hc) - Array(H)
7067
@testset "Preserve UpperHessenberg shape (issue #39388)" begin
71-
for H = (UpperHessenberg(Areal), UpperHessenberg(Furlong.(Areal)))
72-
if eltype(H) <: Furlong
73-
A = Furlong.(rand(n,n))
74-
d = Furlong.(rand(n))
75-
dl = Furlong.(rand(n-1))
76-
du = Furlong.(rand(n-1))
77-
us = Furlong(1)*I
78-
else
79-
A = rand(n,n)
80-
d = rand(n)
81-
dl = rand(n-1)
82-
du = rand(n-1)
83-
us = 1*I
84-
end
85-
@testset "$op" for op = (+,-)
86-
for x = (us, Diagonal(d), Bidiagonal(d,dl,:U), Bidiagonal(d,dl,:L),
87-
Tridiagonal(dl,d,du), SymTridiagonal(d,dl),
88-
UpperTriangular(A), UnitUpperTriangular(A))
89-
@test op(H,x) == op(Array(H),x)
90-
@test op(x,H) == op(x,Array(H))
91-
@test op(H,x) isa UpperHessenberg
92-
@test op(x,H) isa UpperHessenberg
93-
end
68+
H = UpperHessenberg(Areal)
69+
A = rand(n,n)
70+
d = rand(n)
71+
dl = rand(n-1)
72+
du = rand(n-1)
73+
us = 1*I
74+
@testset "$op" for op = (+,-)
75+
for x = (us, Diagonal(d), Bidiagonal(d,dl,:U), Bidiagonal(d,dl,:L),
76+
Tridiagonal(dl,d,du), SymTridiagonal(d,dl),
77+
UpperTriangular(A), UnitUpperTriangular(A))
78+
@test op(H,x) == op(Array(H),x)
79+
@test op(x,H) == op(x,Array(H))
80+
@test op(H,x) isa UpperHessenberg
81+
@test op(x,H) isa UpperHessenberg
9482
end
9583
end
9684
H = UpperHessenberg(Areal)
@@ -102,8 +90,8 @@ let n = 10
10290
UpperTriangular(A), UnitUpperTriangular(A))
10391
@test (H*x)::UpperHessenberg Array(H)*x
10492
@test (x*H)::UpperHessenberg x*Array(H)
105-
@test H/x Array(H)/x# broken = eltype(H) <: Furlong && x isa UpperTriangular
106-
@test x\H x\Array(H)# broken = eltype(H) <: Furlong && x isa UpperTriangular
93+
@test H/x Array(H)/x
94+
@test x\H x\Array(H)
10795
@test H/x isa UpperHessenberg
10896
@test x\H isa UpperHessenberg
10997
end
@@ -113,23 +101,6 @@ let n = 10
113101
@test H/x == Array(H)/x
114102
@test x\H == x\Array(H)
115103
end
116-
H = UpperHessenberg(Furlong.(Areal))
117-
for A in (A, Furlong.(A))
118-
@testset "Multiplication/division Furlong" begin
119-
for x = (5, 5I, Diagonal(d), Bidiagonal(d,dl,:U),
120-
UpperTriangular(A), UnitUpperTriangular(A))
121-
@test map(x -> x.val, (H*x)::UpperHessenberg) map(x -> x.val, Array(H)*x)
122-
@test map(x -> x.val, (x*H)::UpperHessenberg) map(x -> x.val, x*Array(H))
123-
@test map(x -> x.val, (H/x)::UpperHessenberg) map(x -> x.val, Array(H)/x)
124-
@test map(x -> x.val, (x\H)::UpperHessenberg) map(x -> x.val, x\Array(H))
125-
end
126-
x = Bidiagonal(d, dl, :L)
127-
@test H*x == Array(H)*x
128-
@test x*H == x*Array(H)
129-
@test H/x == Array(H)/x
130-
@test x\H == x\Array(H)
131-
end
132-
end
133104
end
134105
end
135106

test/lu.jl

Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -338,22 +338,6 @@ include("trickyarithmetic.jl")
338338
@test B isa LinearAlgebra.LU{ElT,Matrix{ElT}}
339339
end
340340

341-
# dimensional correctness:
342-
const BASE_TEST_PATH = joinpath(Sys.BINDIR, "..", "share", "julia", "test")
343-
isdefined(Main, :Furlongs) || @eval Main include(joinpath($(BASE_TEST_PATH), "testhelpers", "Furlongs.jl"))
344-
using .Main.Furlongs
345-
346-
@testset "lu factorization with dimension type" begin
347-
n = 4
348-
A = Matrix(Furlong(1.0) * I, n, n)
349-
F = lu(A).factors
350-
@test Diagonal(F) == Diagonal(A)
351-
# upper triangular part has a unit Furlong{1}
352-
@test all(x -> typeof(x) == Furlong{1, Float64}, F[i,j] for j=1:n for i=1:j)
353-
# lower triangular part is unitless Furlong{0}
354-
@test all(x -> typeof(x) == Furlong{0, Float64}, F[i,j] for j=1:n for i=j+1:n)
355-
end
356-
357341
@testset "Issue #30917. Determinant of integer matrix" begin
358342
@test det([1 1 0 0 1 0 0 0
359343
1 0 1 0 0 1 0 0

test/special.jl

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -376,11 +376,6 @@ end
376376
end
377377
end
378378

379-
# for testing types with a dimension
380-
const BASE_TEST_PATH = joinpath(Sys.BINDIR, "..", "share", "julia", "test")
381-
isdefined(Main, :Furlongs) || @eval Main include(joinpath($(BASE_TEST_PATH), "testhelpers", "Furlongs.jl"))
382-
using .Main.Furlongs
383-
384379
@testset "zero and one for structured matrices" begin
385380
for elty in (Int64, Float64, ComplexF64)
386381
D = Diagonal(rand(elty, 10))
@@ -440,27 +435,6 @@ using .Main.Furlongs
440435
@test one(T) isa Tridiagonal
441436
@test zero(S) isa SymTridiagonal
442437
@test one(S) isa SymTridiagonal
443-
444-
# eltype with dimensions
445-
D0 = Diagonal{Furlong{0, Int64}}([1, 2, 3, 4])
446-
Bu0 = Bidiagonal{Furlong{0, Int64}}([1, 2, 3, 4], [1, 2, 3], 'U')
447-
Bl0 = Bidiagonal{Furlong{0, Int64}}([1, 2, 3, 4], [1, 2, 3], 'L')
448-
T0 = Tridiagonal{Furlong{0, Int64}}([1, 2, 3], [1, 2, 3, 4], [1, 2, 3])
449-
S0 = SymTridiagonal{Furlong{0, Int64}}([1, 2, 3, 4], [1, 2, 3])
450-
F2 = Furlongs.Furlong{2}(1)
451-
D2 = Diagonal{Furlong{2, Int64}}([1, 2, 3, 4].*F2)
452-
Bu2 = Bidiagonal{Furlong{2, Int64}}([1, 2, 3, 4].*F2, [1, 2, 3].*F2, 'U')
453-
Bl2 = Bidiagonal{Furlong{2, Int64}}([1, 2, 3, 4].*F2, [1, 2, 3].*F2, 'L')
454-
T2 = Tridiagonal{Furlong{2, Int64}}([1, 2, 3].*F2, [1, 2, 3, 4].*F2, [1, 2, 3].*F2)
455-
S2 = SymTridiagonal{Furlong{2, Int64}}([1, 2, 3, 4].*F2, [1, 2, 3].*F2)
456-
mats = Any[D0, Bu0, Bl0, T0, S0, D2, Bu2, Bl2, T2, S2]
457-
for A in mats
458-
@test iszero(zero(A))
459-
@test isone(one(A))
460-
@test zero(A) == zero(Matrix(A))
461-
@test one(A) == one(Matrix(A))
462-
@test eltype(one(A)) == typeof(one(eltype(A)))
463-
end
464438
end
465439

466440
@testset "== for structured matrices" begin

0 commit comments

Comments
 (0)