Skip to content

Use Estrin's Scheme for polynomial evaluation #924

@thomasahle

Description

@thomasahle

According to https://www.boost.org/doc/libs/1_81_0/libs/math/doc/html/math_toolkit/rational.html Boost currently evaluates Polynomials (and rational functions) using Horner's rule.
However, a simple change of the algorithm, known as Estrin's scheme is known to both improve performance and reduce numerical instability.

Maybe there's a reason this method is not currently used?
Otherwise I can provide a pull request.

There are also quite a few other algorithms for polynomial evaluation: https://en.wikipedia.org/wiki/Polynomial_evaluation though most of them requires some preprocessing of the polynomial, so they are only useful if you are going to evaluate it many times. I don't know if something like that would be useful for Boost?

Metadata

Metadata

Assignees

No one assigned

    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