You will find in this directory seven small numerical codes. For each
code, a classical version (using the classical floating-point
arithmetic) and a CADNA version (using Discrete Stochastic Arithmetic)
are presented.

To generate the binary codes of the examples, use the "make"
instruction or "make clean" to clean them.

============================
Brief description of the examples
============================

All examples are described in the documentation
(in the doc directory).

Example 1: A polynomial function of two variables 

Example 2: A second degree equation where the exact discriminant is
the null value.

Example 3: Computation of the discriminant of Hilbert's matrix of
dimension 11. All the pivots are also printed.

Example 4: Computation of a second order recurrent sequence.
From the instability report, "UNSTABLE DIVISION(S)" are generated by
divisions where the denominator is numerical noise.  Such operations
make the computed trajectory turn off the exact trajectory and then,
the estimation of accuracy is not possible any more.

Example 5: An algebraic equation solved by Newton's method. In
the ex5_cad.cc file, one can change the stopping criterion by moving
<= into < and try to explain the difference ... that leads to the
ex5_cad_opt.cc file.

Example 6: A linear system is solved using Gaussian elimination
with partial pivoting.

Example 7: Example created on purpose to make CADNA fail.
The same result r is computed for a number of iterations
chosen by the user. The exact result is 1.4E-10.
But in 1 case out of 4, CADNA estimates an incorrect accuracy.
