This can be seen with non linear
iterative processes. Let's see what happens with
the Verhulst dynamics:
2
X = (R+1)X - RX
n n-1 n-1
We can rewrite this expression in five different mathematically equivalent ways.
X = X + (R(X - (X X )))
n n-1 n-1 n-1 n-1
X = (RX ) + ((1 - (RX ))X )
n n-1 n-1 n-1
X = (((R+1) - (RX ))X )
n n-1 n-1
X = ((R+1)X ) - ((RX )X )
n n-1 n-1 n-1
X = ((R+1)X ) - (R(X X ))
n n-1 n-1 n-1
Let's compare the results of
these five different formulations on a computer.
Such astonishing differences could appear in any program as soon as:
- -the user moves the parentheses,
- -the user changes the system and compiler releases,
- -the user changes the compiling options,
- -the instruction scheduling is disturbed,
- -the floating point processor and the internal format of numbers are changed,
- -etc...