-
Notifications
You must be signed in to change notification settings - Fork 70
Symmetric(sparse(A)) * X' yields MethodError on 1.11 and 1.12.3 #662
Copy link
Copy link
Closed
Description
julia> using LinearAlgebra, SparseArrays
julia> sparse([4.0 2.0; 2.0 3.0]) * rand(1, 2)'
2×1 Matrix{Float64}:
0.2695554566531757
0.1706769017521641
julia> Symmetric(sparse([4.0 2.0; 2.0 3.0])) * rand(1, 2)'
ERROR: MethodError: no method matching _generic_matmatmul!(::Matrix{…}, ::Char, ::Char, ::Symmetric{…}, ::Transpose{…}, ::LinearAlgebra.MulAddMul{…})
The function `_generic_matmatmul!` exists, but no method is defined for this combination of argument types.
Closest candidates are:
_generic_matmatmul!(::AbstractVecOrMat{R}, ::AbstractVecOrMat, ::AbstractVecOrMat, ::Number, ::Number) where R
@ LinearAlgebra ~/.julia/juliaup/julia-1.12.3+0.x64.linux.gnu/share/julia/stdlib/v1.12/LinearAlgebra/src/matmul.jl:1018
_generic_matmatmul!(::AbstractVecOrMat, ::AbstractVecOrMat, ::AbstractVecOrMat, ::LinearAlgebra.MulAddMul)
@ LinearAlgebra ~/.julia/juliaup/julia-1.12.3+0.x64.linux.gnu/share/julia/stdlib/v1.12/LinearAlgebra/src/matmul.jl:1015
Stacktrace:
[1] macro expansion
@ ~/.julia/juliaup/julia-1.12.3+0.x64.linux.gnu/share/julia/stdlib/v1.12/LinearAlgebra/src/generic.jl:100 [inlined]
[2] spdensemul!(C::Matrix{Float64}, tA::LinearAlgebra.WrapperChar, tB::Char, A::SparseMatrixCSC{Float64, Int64}, B::Matrix{Float64}, alpha::Bool, beta::Bool)
@ SparseArrays ~/.julia/juliaup/julia-1.12.3+0.x64.linux.gnu/share/julia/stdlib/v1.12/SparseArrays/src/linalg.jl:72
[3] generic_matmatmul!
@ ~/.julia/juliaup/julia-1.12.3+0.x64.linux.gnu/share/julia/stdlib/v1.12/SparseArrays/src/linalg.jl:50 [inlined]
[4] generic_matmatmul_wrapper!(C::Matrix{Float64}, tA::LinearAlgebra.WrapperChar, tB::Char, A::SparseMatrixCSC{Float64, Int64}, B::Matrix{Float64}, α::Bool, β::Bool, val::Any)
@ LinearAlgebra ~/.julia/juliaup/julia-1.12.3+0.x64.linux.gnu/share/julia/stdlib/v1.12/LinearAlgebra/src/matmul.jl:343
[5] _mul!
@ ~/.julia/juliaup/julia-1.12.3+0.x64.linux.gnu/share/julia/stdlib/v1.12/LinearAlgebra/src/matmul.jl:328 [inlined]
[6] mul!
@ ~/.julia/juliaup/julia-1.12.3+0.x64.linux.gnu/share/julia/stdlib/v1.12/LinearAlgebra/src/matmul.jl:297 [inlined]
[7] mul!(C::Matrix{Float64}, A::Symmetric{Float64, SparseMatrixCSC{Float64, Int64}}, B::Adjoint{Float64, Matrix{Float64}})
@ LinearAlgebra ~/.julia/juliaup/julia-1.12.3+0.x64.linux.gnu/share/julia/stdlib/v1.12/LinearAlgebra/src/matmul.jl:265
[8] mul(A::Symmetric{Float64, SparseMatrixCSC{Float64, Int64}}, B::Adjoint{Float64, Matrix{Float64}})
@ LinearAlgebra ~/.julia/juliaup/julia-1.12.3+0.x64.linux.gnu/share/julia/stdlib/v1.12/LinearAlgebra/src/matmul.jl:118
[9] *(A::Symmetric{Float64, SparseMatrixCSC{Float64, Int64}}, B::Adjoint{Float64, Matrix{Float64}})
@ LinearAlgebra ~/.julia/juliaup/julia-1.12.3+0.x64.linux.gnu/share/julia/stdlib/v1.12/LinearAlgebra/src/matmul.jl:114
[10] top-level scope
@ REPL[16]:1
Some type information was truncated. Use `show(err)` to see complete types.It works on 1.10, however.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels