Skip to content

TODO #10

@mlliarm

Description

@mlliarm

Here I'll write the future ideas that I have so far for this project.

Core features:

  • Support SWI-Prolog (threaded, 64 bits, version 8.5.5-3-gb856d332c-DIRTY) backend.
  • Support GNU-Prolog (64 bits, 1.5.0) backend.

Examples

  • Add basic examples of interval arithmetic.
    • See the first 3 chapters of the book of Moore et al (ref. no 1). There are some excellent examples there, from experimental physics and error propagation.
      • Chapter 1: [X].
      • Chapter 2: [X].
      • Chapter 3: [X].

Additional features:

  • First finish writing the tests for all the predicates in the interval_arithmetic library.
  • Implement the interval power predicate : X^n, where X is an interval i(a,b) and n is a number. Use recursion.
  • I'm also thinking of implementing some elementary interval functions (such as sin(X), cos(X), tan(x), ctg(x), sqrt(x), exp(x)) defined on intervals. Neumaier's book looks good for such purpose as it's more mathematically strict comparing to Moore's.
  • The second step would be to implement some interval methods for finding roots of functions for a certain interval. Example of such methods are interval bisection and interval Newton (see here and here).
  • The next step would be to create an automatic differentiation library for interval functions, as we'll be needing finding derivatives for methods such as the Interval Newton.
  • Then we could move into interval linear algebra. Perhaps the work of prof. Shary will be useful there, as he's been very active in the area of interval linear algebra.
  • The next step could be to implement some global optimization methods, such as those explained in Shary's paper, or Hansen's book.
  • Next, some applications to control theory, robotics or other fields.

Additional ideas are welcome.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions