240

edits

Jump to navigation
Jump to search
~~The most complete and conservative information ~~All other GNU Octave arithmetic functions are not guaranteed to produce accurate results, because they are based on ~~worst-case error boundaries of ~~C99 floating-point routines ~~has been found in a ~~[http://www.~~lehman~~gnu.~~cuny~~org/software/libc/manual/html_node/Errors-in-Math-Functions.~~edu/cgi~~html#Errors-in-~~bin/man~~Math-~~cgi?libm+3 man page for a C99 implementation ~~Functions]. Their results depend on ~~SunOS] ~~hardware, system libraries and ~~is assumed to hold for all systems where the ~~compilation options. The interval package ~~is used. Worst-case error estimations are added to ~~handles these functions with the ~~results ~~help of ~~several interval arithmetic operations, which decreases their accuracy but tries to make the results contain the correct answer.~~ ~~Possibly, the accuracy is going to be improved in a future release with ~~the [http://~~sourceforge~~www.~~net~~mpfr.org/~~p/octave/multi-precision/ multi-precision package~~GNU MPFR library] ~~or a similar approach~~. With MPFR it is possible to compute valid and tight enclosure of the correct results.

Added library dependency for GNU MPFR

The [https://sourceforge.net/p/octave/interval/ interval package] provides data types and fundamental operations for real valued interval arithmetic based on the common floating-point format “binary64” a. k. a. double-precision. It aims to be standard compliant with the (upcoming) [http://standards.ieee.org/develop/project/1788.html IEEE 1788] and therefore implements the ''set-based'' interval arithmetic flavor. '''Interval arithmetic''' produces mathematically proven numerical results.

Warning: The package has not yet been released. If you want to experience the development version, you may (1) install the (currently deprecated) [http://octave.sourceforge.net/fenv/ fenv package], (2) download a [https://sourceforge.net/p/octave/interval/ci/default/tarball snapshot version of the interval package], (3) install the [http://www.mpfr.org/mpfr-current/#download development library of MPFR] for your system, (4) execute <code>make install</code> in the <code>src/</code> subfolder, (5) navigate to the <code>inst/</code> subfolder and run octave.

== Motivation ==

== What to expect ==

The interval arithmetic provided by this interval package is '''slow''' ~~and several functions compute valid enclosures of exact results~~, but ~~are ~~'''~~not ~~accurate'''.

''Why is the interval package slow?''

Great algorithms and optimizations exist for matrix arithmetic in GNU octave. Good interval versions of these still have to be found and implemented.

''Why is the interval package ~~not ~~accurate?''Some basic operations are provided by the C library with ~~best possible accuracy~~directed rounding and correctly rounded result: plus, ~~i. e.~~minus, ~~tightest results. Some arithmetic functions are not. Again~~division, ~~this is because interval operations are based on C99 floating-point routines~~multiplication and square root. ~~The latter ~~These are ~~not guaranteed ~~used to ~~be accurate and their results can depend on hardware, system libraries and compilation options. [http://www.gnu.org/software/libc/manual/html_node/Errors-in-Math-Functions~~build the most basic interval functions.~~html#Errors-in-Math-Functions]~~

== Quick start introduction ==

240

edits

Retrieved from "https://wiki.octave.org/Special:MobileDiff/5259"

- Not logged in
- Talk
- Contributions
- Create account
- Log in