Symbolics.jl icon indicating copy to clipboard operation
Symbolics.jl copied to clipboard

Method ambiguity for `*`

Open baggepinnen opened this issue 2 years ago • 0 comments

julia> using Symbolics

julia> @variables u[1:2, 1:5]
1-element Vector{Symbolics.Arr{Num, 2}}:
 u[1:2,1:5]

julia> Q2 = I(2)
2×2 Diagonal{Bool, Vector{Bool}}:
 1  ⋅
 ⋅  1

julia> dot(u, Q2, u)
ERROR: MethodError: *(::Diagonal{Bool, Vector{Bool}}, ::Symbolics.Arr{Num, 2}) is ambiguous. Candidates:
  *(A::AbstractMatrix, B::Symbolics.Arr{<:Any, 2}) in Symbolics at /home/fredrikb/.julia/packages/Symbolics/sDAUx/src/wrapper-types.jl:129
  *(D::Diagonal, A::AbstractMatrix) in LinearAlgebra at /home/fredrikb/julia-1.8.0-rc1/share/julia/stdlib/v1.8/LinearAlgebra/src/diagonal.jl:249
Possible fix, define
  *(::Diagonal, ::Symbolics.Arr{<:Any, 2})
Stacktrace:
 [1] dot(x::Symbolics.Arr{Num, 2}, A::Diagonal{Bool, Vector{Bool}}, y::Symbolics.Arr{Num, 2})
   @ LinearAlgebra ~/julia-1.8.0-rc1/share/julia/stdlib/v1.8/LinearAlgebra/src/generic.jl:916

julia> u'Q2*u
ERROR: MethodError: *(::Symbolics.Arr{Num, 2}, ::Diagonal{Bool, Vector{Bool}}) is ambiguous. Candidates:
  *(A::AbstractMatrix, D::Diagonal) in LinearAlgebra at /home/fredrikb/julia-1.8.0-rc1/share/julia/stdlib/v1.8/LinearAlgebra/src/diagonal.jl:247
  *(A::Symbolics.Arr{<:Any, 2}, B::AbstractMatrix) in Symbolics at /home/fredrikb/.julia/packages/Symbolics/sDAUx/src/wrapper-types.jl:129
Possible fix, define
  *(::Symbolics.Arr{<:Any, 2}, ::Diagonal)

baggepinnen avatar Jun 29 '22 11:06 baggepinnen