-
-
Notifications
You must be signed in to change notification settings - Fork 69
Description
The linear solver produces an error when trying to solve a linear system Au = b with nonsquare A.
Minimal Reproducible Example 👇
import LinearSolve as LS
import LinearAlgebra as LA
n = 4
A = rand(n, n+2)
b1 = rand(n);
prob = LS.LinearProblem(A, b1)
linsolve = LS.init(prob)
sol1 = LS.solve!(linsolve)
Error & Stacktrace
ERROR: LoadError: TypeError: in setfield!, expected LinearAlgebra.QRPivoted{Float64, Matrix{Float64}, Vector{Float64}, Vector{Int64}}, got a value of type LinearAlgebra.QRPivoted{Float64, Matrix{Float64}, Vector{Float64}, Vector{Int32}}
Stacktrace:
[1] macro expansion
@ ~/.julia/packages/LinearSolve/KN05h/src/default.jl:31 [inlined]
[2] __setfield!(cache::LinearSolve.DefaultLinearSolverInit{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, LinearAlgebra.QRCompactWY{Float64, Matrix{Float64}, Matrix{Float64}}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, Vector{Int32}}, Nothing, Nothing, Nothing, LinearAlgebra.SVD{Float64, Float64, Matrix{Float64}, Vector{Float64}}, LinearAlgebra.Cholesky{Float64, Matrix{Float64}}, LinearAlgebra.Cholesky{Float64, Matrix{Float64}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, Base.RefValue{Int32}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, Base.RefValue{Int32}}, LinearAlgebra.QRPivoted{Float64, Matrix{Float64}, Vector{Float64}, Vector{Int64}}, Nothing, Nothing}, alg::LinearSolve.DefaultLinearSolver, v::LinearAlgebra.QRPivoted{Float64, Matrix{Float64}, Vector{Float64}, Vector{Int32}})
@ LinearSolve ~/.julia/packages/LinearSolve/KN05h/src/default.jl:27
[3] setproperty!(cache::LinearSolve.LinearCache{Matrix{Float64}, Vector{Float64}, Vector{Float64}, SciMLBase.NullParameters, LinearSolve.DefaultLinearSolver, LinearSolve.DefaultLinearSolverInit{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, LinearAlgebra.QRCompactWY{Float64, Matrix{Float64}, Matrix{Float64}}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, Vector{Int32}}, Nothing, Nothing, Nothing, LinearAlgebra.SVD{Float64, Float64, Matrix{Float64}, Vector{Float64}}, LinearAlgebra.Cholesky{Float64, Matrix{Float64}}, LinearAlgebra.Cholesky{Float64, Matrix{Float64}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, Base.RefValue{Int32}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, Base.RefValue{Int32}}, LinearAlgebra.QRPivoted{Float64, Matrix{Float64}, Vector{Float64}, Vector{Int64}}, Nothing, Nothing}, SciMLOperators.IdentityOperator, SciMLOperators.IdentityOperator, Float64, Bool, LinearSolve.LinearSolveAdjoint{Missing}}, name::Symbol, x::LinearAlgebra.QRPivoted{Float64, Matrix{Float64}, Vector{Float64}, Vector{Int32}})
@ LinearSolve ~/.julia/packages/LinearSolve/KN05h/src/common.jl:98
[4] macro expansion
@ ~/.julia/packages/LinearSolve/KN05h/src/LinearSolve.jl:164 [inlined]
[5] solve!(cache::LinearSolve.LinearCache{Matrix{Float64}, Vector{Float64}, Vector{Float64}, SciMLBase.NullParameters, LinearSolve.DefaultLinearSolver, LinearSolve.DefaultLinearSolverInit{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, LinearAlgebra.QRCompactWY{Float64, Matrix{Float64}, Matrix{Float64}}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, Vector{Int32}}, Nothing, Nothing, Nothing, LinearAlgebra.SVD{Float64, Float64, Matrix{Float64}, Vector{Float64}}, LinearAlgebra.Cholesky{Float64, Matrix{Float64}}, LinearAlgebra.Cholesky{Float64, Matrix{Float64}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, Base.RefValue{Int32}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, Base.RefValue{Int32}}, LinearAlgebra.QRPivoted{Float64, Matrix{Float64}, Vector{Float64}, Vector{Int64}}, Nothing, Nothing}, SciMLOperators.IdentityOperator, SciMLOperators.IdentityOperator, Float64, Bool, LinearSolve.LinearSolveAdjoint{Missing}}, alg::LinearSolve.QRFactorization{LinearAlgebra.ColumnNorm}; kwargs::@kwargs{})
@ LinearSolve ~/.julia/packages/LinearSolve/KN05h/src/LinearSolve.jl:159
[6] solve!
@ ~/.julia/packages/LinearSolve/KN05h/src/LinearSolve.jl:159 [inlined]
[7] macro expansion
@ ~/.julia/packages/LinearSolve/KN05h/src/default.jl:339 [inlined]
[8] solve!(::LinearSolve.LinearCache{Matrix{Float64}, Vector{Float64}, Vector{Float64}, SciMLBase.NullParameters, LinearSolve.DefaultLinearSolver, LinearSolve.DefaultLinearSolverInit{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, LinearAlgebra.QRCompactWY{Float64, Matrix{Float64}, Matrix{Float64}}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, Vector{Int32}}, Nothing, Nothing, Nothing, LinearAlgebra.SVD{Float64, Float64, Matrix{Float64}, Vector{Float64}}, LinearAlgebra.Cholesky{Float64, Matrix{Float64}}, LinearAlgebra.Cholesky{Float64, Matrix{Float64}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, Base.RefValue{Int32}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, Base.RefValue{Int32}}, LinearAlgebra.QRPivoted{Float64, Matrix{Float64}, Vector{Float64}, Vector{Int64}}, Nothing, Nothing}, SciMLOperators.IdentityOperator, SciMLOperators.IdentityOperator, Float64, Bool, LinearSolve.LinearSolveAdjoint{Missing}}, ::LinearSolve.DefaultLinearSolver; assump::LinearSolve.OperatorAssumptions{Nothing}, kwargs::@kwargs{})
@ LinearSolve ~/.julia/packages/LinearSolve/KN05h/src/default.jl:332
[9] solve!
@ ~/.julia/packages/LinearSolve/KN05h/src/default.jl:332 [inlined]
[10] #solve!#8
@ ~/.julia/packages/LinearSolve/KN05h/src/common.jl:307 [inlined]
[11] solve!(::LinearSolve.LinearCache{Matrix{Float64}, Vector{Float64}, Vector{Float64}, SciMLBase.NullParameters, LinearSolve.DefaultLinearSolver, LinearSolve.DefaultLinearSolverInit{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, LinearAlgebra.QRCompactWY{Float64, Matrix{Float64}, Matrix{Float64}}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, Vector{Int32}}, Nothing, Nothing, Nothing, LinearAlgebra.SVD{Float64, Float64, Matrix{Float64}, Vector{Float64}}, LinearAlgebra.Cholesky{Float64, Matrix{Float64}}, LinearAlgebra.Cholesky{Float64, Matrix{Float64}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, Base.RefValue{Int32}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, Base.RefValue{Int32}}, LinearAlgebra.QRPivoted{Float64, Matrix{Float64}, Vector{Float64}, Vector{Int64}}, Nothing, Nothing}, SciMLOperators.IdentityOperator, SciMLOperators.IdentityOperator, Float64, Bool, LinearSolve.LinearSolveAdjoint{Missing}})
@ LinearSolve ~/.julia/packages/LinearSolve/KN05h/src/common.jl:306
[12] top-level scope
@ ~/Documents/People/Titus/Phil_code/LinearSolve_ex.jl:12
Environment (please complete the following information):
- Output of
using Pkg; Pkg.status()
Status ~/.julia/environments/v1.11/Project.toml
[4fba245c] ArrayInterface v7.18.0
[0d1a4710] ITensorMPS v0.3.16
[9136182c] ITensors v0.9.1
[7ed4a6bd] LinearSolve v3.7.2
[37e2e46d] LinearAlgebra v1.11.0
- Output of
using Pkg; Pkg.status(; mode = PKGMODE_MANIFEST)
julia> using Pkg; Pkg.status(; mode = PKGMODE_MANIFEST)
Status ~/.julia/environments/v1.11/Manifest.toml
[47edcb42] ADTypes v1.14.0
[7d9f7c33] Accessors v0.1.42
[79e6a3ab] Adapt v4.3.0
[dce04be8] ArgCheck v2.5.0
[4fba245c] ArrayInterface v7.18.0
[4c555306] ArrayLayouts v1.11.1
[198e06fe] BangBang v0.4.4
[9718e550] Baselet v0.1.1
[c3b6d118] BitIntegers v0.3.5
[8e7c35d0] BlockArrays v1.5.0
[d360d2e6] ChainRulesCore v1.25.1
[38540f10] CommonSolve v0.2.4
[f70d9fcc] CommonWorldInvalidations v1.0.0
[34da2185] Compat v4.16.0
[a33af91c] CompositionsBase v0.1.2
[2569d6c7] ConcreteStructs v0.2.3
[187b0558] ConstructionBase v1.5.8
[9a962f9c] DataAPI v1.16.0
[e2d170a0] DataValueInterfaces v1.0.0
[244e2a9f] DefineSingletons v0.1.2
[85a47980] Dictionaries v0.4.5
[ffbed154] DocStringExtensions v0.9.4
[da5c29d0] EllipsisNotation v1.8.0
[4e289a0a] EnumX v1.0.5
[e2ba6199] ExprTools v0.1.10
[55351af7] ExproniconLite v0.10.14
[e189563c] ExternalDocstrings v0.1.1
[1a297f60] FillArrays v1.13.0
[41a02a25] Folds v0.2.10
[069b7b12] FunctionWrappers v1.1.3
[77dc65aa] FunctionWrappersWrappers v0.1.3
[d9f16b24] Functors v0.5.2
[46192b85] GPUArraysCore v0.2.0
[f0d1745a] HalfIntegers v1.6.0
[0d1a4710] ITensorMPS v0.3.16
[9136182c] ITensors v0.9.1
[615f187c] IfElse v0.1.1
[313cdc1a] Indexing v1.1.1
[22cec73e] InitialValues v0.3.1
[842dd82b] InlineStrings v1.4.3
[3587e190] InverseFunctions v0.1.17
[28f27b66] IsApprox v2.0.0
[82899510] IteratorInterfaceExtensions v1.0.0
[692b3bcd] JLLWrappers v1.7.0
[ae98c720] Jieko v0.2.1
[ba0b0d4f] Krylov v0.9.10
[0b1a1467] KrylovKit v0.9.5
[5078a376] LazyArrays v2.6.1
[7ed4a6bd] LinearSolve v3.7.2
[1914dd2f] MacroTools v0.5.15
[128add7d] MicroCollections v0.2.0
[2e0e35c7] Moshi v0.3.5
[23ae76d9] NDTensors v0.4.6
[bac558e1] OrderedCollections v1.8.0
[65ce6f38] PackageExtensionCompat v1.0.2
⌅ [aea7be01] PrecompileTools v1.2.1
[21216c6a] Preferences v1.4.3
[3cdcf5f2] RecipesBase v1.3.4
[731186ca] RecursiveArrayTools v3.31.2
[189a3867] Reexport v1.2.2
[42d2dcc6] Referenceables v0.1.3
[ae029012] Requires v1.3.1
[7e49a35a] RuntimeGeneratedFunctions v0.5.13
[0bca4576] SciMLBase v2.82.0
[c0aeaf25] SciMLOperators v0.3.13
[53ae85a6] SciMLStructures v1.7.0
[d3ce8812] SerializedElementArrays v0.1.0
[efcf1570] Setfield v1.1.2
[699a6c99] SimpleTraits v0.9.4
[03a91e81] SplitApplyCombine v1.2.3
[171d559e] SplittablesBase v0.1.15
[aedffcd0] Static v1.2.0
[0d7ed370] StaticArrayInterface v1.8.0
[90137ffa] StaticArrays v1.9.13
[1e83bf80] StaticArraysCore v1.4.3
[10745b16] Statistics v1.11.1
[5e0ebb24] Strided v2.3.0
[4db3bf67] StridedViews v0.4.1
[2efcf032] SymbolicIndexingInterface v0.3.38
[3783bdb8] TableTraits v1.0.1
[bd369af6] Tables v1.12.0
[24d252fe] ThreadedScans v0.1.0
[a759f4b9] TimerOutputs v0.5.28
[28d57a85] Transducers v0.4.84
[9d95972d] TupleTools v1.6.0
[7e5a90cf] TypeParameterAccessors v0.3.9
[3a884ed6] UnPack v1.0.2
[409d34a3] VectorInterface v0.5.0
[bd1ec220] Zeros v0.3.0
[1d5cc7b8] IntelOpenMP_jll v2025.0.4+0
[856f044c] MKL_jll v2025.0.1+1
[1317d2d5] oneTBB_jll v2022.0.0+0
[0dad84c5] ArgTools v1.1.2
[56f22d72] Artifacts v1.11.0
[2a0f44e3] Base64 v1.11.0
[ade2ca70] Dates v1.11.0
[8ba89e20] Distributed v1.11.0
[f43a241f] Downloads v1.6.0
[7b1f6079] FileWatching v1.11.0
[9fa8497b] Future v1.11.0
[b77e0a4c] InteractiveUtils v1.11.0
[4af54fe1] LazyArtifacts v1.11.0
[b27032c2] LibCURL v0.6.4
[76f85450] LibGit2 v1.11.0
[8f399da3] Libdl v1.11.0
[37e2e46d] LinearAlgebra v1.11.0
[56ddb016] Logging v1.11.0
[d6f4376e] Markdown v1.11.0
[ca575930] NetworkOptions v1.2.0
[44cfe95a] Pkg v1.11.0
[de0858da] Printf v1.11.0
[9a3f8284] Random v1.11.0
[ea8e919c] SHA v0.7.0
[9e88b42a] Serialization v1.11.0
[6462fe0b] Sockets v1.11.0
[2f01184e] SparseArrays v1.11.0
[fa267f1f] TOML v1.0.3
[a4e569a6] Tar v1.10.0
[8dfed614] Test v1.11.0
[cf7118a7] UUIDs v1.11.0
[4ec0a83e] Unicode v1.11.0
[e66e0078] CompilerSupportLibraries_jll v1.1.1+0
[deac9b47] LibCURL_jll v8.6.0+0
[e37daf67] LibGit2_jll v1.7.2+0
[29816b5a] LibSSH2_jll v1.11.0+1
[c8ffd9c3] MbedTLS_jll v2.28.6+0
[14a3606d] MozillaCACerts_jll v2023.12.12
[4536629a] OpenBLAS_jll v0.3.27+1
[bea87d4a] SuiteSparse_jll v7.7.0+0
[83775a58] Zlib_jll v1.2.13+1
[8e850b90] libblastrampoline_jll v5.11.0+0
[8e850ede] nghttp2_jll v1.59.0+0
[3f19e933] p7zip_jll v17.4.0+2
Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use status --outdated -m
- Output of
versioninfo()
Julia Version 1.11.6
Commit 9615af0f26* (2025-07-09 12:58 UTC)
Build Info:
Built by Homebrew (v1.11.6)
Note: This is an unofficial build, please report bugs to the project
responsible for this build and not to the Julia project unless you can
reproduce the issue using official builds available at https://julialang.org
Platform Info:
OS: macOS (x86_64-apple-darwin23.6.0)
CPU: 12 × Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz
WORD_SIZE: 64
LLVM: libLLVM-16.0.6 (ORCJIT, skylake)
Threads: 1 default, 0 interactive, 1 GC (on 12 virtual cores)
Additional context