JuliaSmoothOptimizers / LinearOperators.jl

Linear Operators for Julia
Other
149 stars 31 forks source link

Missing `mul!(::Matrix, ::LinearOperator, ::Matrix)` #322

Closed gdalle closed 2 months ago

gdalle commented 3 months ago
julia> using LinearOperators, LinearAlgebra

julia> mul!(zeros(2, 2), LinearOperator(rand(2, 2)), rand(2, 2))
ERROR: MethodError: no method matching mul!(::Matrix{…}, ::LinearOperator{…}, ::Matrix{…}, ::Bool, ::Bool)

Closest candidates are:
  mul!(::AbstractMatrix, ::LinearAlgebra.AbstractTriangular, ::AbstractMatrix, ::Number, ::Number)
   @ LinearAlgebra ~/.julia/juliaup/julia-1.10.2+0.x64.linux.gnu/share/julia/stdlib/v1.10/LinearAlgebra/src/triangular.jl:736
  mul!(::AbstractMatrix, ::Union{Bidiagonal, Diagonal, SymTridiagonal, Tridiagonal}, ::AbstractMatrix, ::Number, ::Number)
   @ LinearAlgebra ~/.julia/juliaup/julia-1.10.2+0.x64.linux.gnu/share/julia/stdlib/v1.10/LinearAlgebra/src/bidiag.jl:427
  mul!(::AbstractVecOrMat, ::UniformScaling, ::AbstractVecOrMat, ::Number, ::Number)
   @ LinearAlgebra ~/.julia/juliaup/julia-1.10.2+0.x64.linux.gnu/share/julia/stdlib/v1.10/LinearAlgebra/src/uniformscaling.jl:284
  ...

Stacktrace:
 [1] mul!(C::Matrix{…}, A::LinearOperator{…}, B::Matrix{…})
   @ LinearAlgebra ~/.julia/juliaup/julia-1.10.2+0.x64.linux.gnu/share/julia/stdlib/v1.10/LinearAlgebra/src/matmul.jl:237
 [2] top-level scope
   @ REPL[103]:1
Some type information was truncated. Use `show(err)` to see complete types

I think this is what caused https://github.com/JuliaSmoothOptimizers/Krylov.jl/issues/854