Skip to content

inv of symbolic matrix failing #1683

@michakraus

Description

@michakraus

In the process of updating EulerLagrange.jl to Symbolics v7.0, I encountered an issue with the inversion of a symbolic matrix, which worked up to the latest pre-7 version of Symbolics. The stracktrace reads:

  Got exception outside of a @test
  LoadError: TypeError: non-boolean (SymbolicUtils.BasicSymbolicImpl.var"typeof(BasicSymbolicImpl)"{SymbolicUtils.SymReal}) used in boolean context
  Stacktrace:
    [1] _isbanded_impl(A::Matrix{SymbolicUtils.BasicSymbolicImpl.var"typeof(BasicSymbolicImpl)"{SymbolicUtils.SymReal}}, kl::Int64, ku::Int64)
      @ LinearAlgebra /Applications/Julia-1.12.app/Contents/Resources/julia/share/julia/stdlib/v1.12/LinearAlgebra/src/generic.jl:1543
    [2] _isbanded
      @ /Applications/Julia-1.12.app/Contents/Resources/julia/share/julia/stdlib/v1.12/LinearAlgebra/src/generic.jl:1489 [inlined]
    [3] isbanded
      @ /Applications/Julia-1.12.app/Contents/Resources/julia/share/julia/stdlib/v1.12/LinearAlgebra/src/generic.jl:1483 [inlined]
    [4] isdiag
      @ /Applications/Julia-1.12.app/Contents/Resources/julia/share/julia/stdlib/v1.12/LinearAlgebra/src/generic.jl:1606 [inlined]
    [5] inv(A::Matrix{SymbolicUtils.BasicSymbolicImpl.var"typeof(BasicSymbolicImpl)"{SymbolicUtils.SymReal}})
      @ LinearAlgebra /Applications/Julia-1.12.app/Contents/Resources/julia/share/julia/stdlib/v1.12/LinearAlgebra/src/dense.jl:1080
    [...]

The matrix is typically 2x2 or 4x4. The code around its generation is a bit involved, but I can try to cook up a MWE if the error message itself is not sufficiently indicative of the issue.

This is with Julia v1.12.1, SymbolicUtils v4.4.0 and Symbolics v7.0.1.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions