next up previous index
Next: Library Predicates Up: RIA: ECLiPSe Real Number Previous: RIA: ECLiPSe Real Number   Index

Subsections

Introduction


What Ria does

The Ria library solves constraint problems over the reals. It is not limited to linear constraints. So it can be used to solve general problems like:
[eclipse 2]: ln(X) *>= sin(X).

X = X{0.36787944117144233 .. Infinity}
yes.
The Ria library has two different algorithms built in. The default one is arc-consistency and is quite cheap, the other provides a stronger consistency but is slower.

Both algorithms work on the same data representation. That is real numbers in a closed range between (and including) two floats. The library will reduce this range if possible. It never gets as far as reducing a variable to a single float.

Usage

Load the library by using
:- lib(ria).
You will need ECLiPSe version 3.5.2 or higher.

Note that version 3.5.2 does not treat floating point infinities properly, in particular, they are printed in a strange way and the normal arithmetic predicates like is/2 cannot cope with them. However, the ria-library still works fine. Use inf to denote infinity in version 3.5.2. Later versions of ECLiPSe fully support computation with infinities and allow the syntax [+-]1.0Inf.

History

This work was triggered by the work of Slava Zilberfaine on an interface between ECLiPSe and Unicalc. Several shortcomings of this interface prompted us to develop lib(ria), which does not share any code with Unicalc.


next up previous index
Next: Library Predicates Up: RIA: ECLiPSe Real Number Previous: RIA: ECLiPSe Real Number   Index

1999-08-06