Skip to content

Inconsistency in the NG flag for an example from the doctests #246

@Kolaru

Description

@Kolaru

In the following example, the Newton contractor doesn't result in the NG flag for some of the root, while Krawczyk does.

This is surprising and a bit suspicious.

ulia> g(x) = (x^2 - 2)^2 * (x^2 - 3)
g (generic function with 1 method)

julia> roots(g, interval(-10, 10) ; contractor = Newton)
4-element Vector{Root{Interval{Float64}}}:
 Root([-1.73205, -1.73205]_com_NG, :unique)
 Root([-1.41421, -1.41421]_com, :unknown)
    Not converged: region size smaller than the tolerance
 Root([1.41421, 1.41421]_com, :unknown)
    Not converged: region size smaller than the tolerance
 Root([1.73205, 1.73205]_com_NG, :unique)

julia> roots(g, interval(-10, 10) ; contractor = Krawczyck)
ERROR: UndefVarError: `Krawczyck` not defined in `Main`
Suggestion: check for spelling errors or missing imports.
Stacktrace:
 [1] top-level scope
   @ REPL[14]:1

julia> roots(g, interval(-10, 10) ; contractor = Krawczyk)
4-element Vector{Root{Interval{Float64}}}:
 Root([-1.73205, -1.73205]_com_NG, :unique)
 Root([-1.41421, -1.41421]_com_NG, :unknown)
    Not converged: region size smaller than the tolerance
 Root([1.41421, 1.41421]_com_NG, :unknown)
    Not converged: region size smaller than the tolerance
 Root([1.73205, 1.73205]_com_NG, :unique)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    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