Skip to content

isapprox stackoverflows for monomial/variable expressions #347

Description

@DanielVandH
julia> using DynamicPolynomials

julia> @polyvar x
(x,)

julia> x + 1  x + 1 # works fine
true

julia> typeof(x+1)
Polynomial{DynamicPolynomials.Commutative{DynamicPolynomials.CreationOrder}, Graded{LexOrder}, Int64}

julia> x  x
Warning: detected a stack overflow; program state may be corrupted, so further execution might be unreliable.
ERROR: StackOverflowError:
Stacktrace:
     [1] isapprox(p1::Variable{…}, p2::Variable{…}; kwargs::@Kwargs{})
       @ MultivariatePolynomials C:\Users\djv23\.julia\packages\MultivariatePolynomials\yR88J\src\operators.jl:25
     [2] isapprox(p1::Variable{…}, p2::Variable{…})
       @ MultivariatePolynomials C:\Users\djv23\.julia\packages\MultivariatePolynomials\yR88J\src\operators.jl:24
--- the above 2 lines are repeated 39990 more times ---
 [79983] isapprox(p1::Variable{…}, p2::Variable{…}; kwargs::@Kwargs{})
       @ MultivariatePolynomials C:\Users\djv23\.julia\packages\MultivariatePolynomials\yR88J\src\operators.jl:25
Some type information was truncated. Use `show(err)` to see complete types.

julia> typeof(x)
Variable{DynamicPolynomials.Commutative{DynamicPolynomials.CreationOrder}, Graded{LexOrder}}

julia> x^0  x^0
Warning: detected a stack overflow; program state may be corrupted, so further execution might be unreliable.
ERROR: StackOverflowError:
Stacktrace:
     [1] isapprox(p1::DynamicPolynomials.Monomial{…}, p2::DynamicPolynomials.Monomial{…})
       @ MultivariatePolynomials C:\Users\djv23\.julia\packages\MultivariatePolynomials\yR88J\src\operators.jl:24
     [2] isapprox(p1::DynamicPolynomials.Monomial{…}, p2::DynamicPolynomials.Monomial{…}; kwargs::@Kwargs{})
       @ MultivariatePolynomials C:\Users\djv23\.julia\packages\MultivariatePolynomials\yR88J\src\operators.jl:25
--- the above 2 lines are repeated 39990 more times ---
 [79983] isapprox(p1::DynamicPolynomials.Monomial{…}, p2::DynamicPolynomials.Monomial{…})
       @ MultivariatePolynomials C:\Users\djv23\.julia\packages\MultivariatePolynomials\yR88J\src\operators.jl:24
Some type information was truncated. Use `show(err)` to see complete types.

julia> typeof(x^0)
DynamicPolynomials.Monomial{DynamicPolynomials.Commutative{DynamicPolynomials.CreationOrder}, Graded{LexOrder}}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions