Chaos is a relatively modern topic in physics and mathematics. To summarize, physical systems modelled with simplified linear equations produce answers that are regular such as a sine wave oscillation. Experiments verify this over a short time. But for longer times, it appears that the observed behavior diverges and this discrepancy grows. This is attributed to non-linearities in the system that tend to amplify small differences. However, the system may still operate in the neighborhood of the linear prediction but with more complex, ‘chaotic’ action. Interestingly, although the system may oscillate wildly, it is not random but deterministic and follows a repeatable pattern. Repeated calculations with the same initial conditions give the same irregular motion. However, instead of repeating the same calculation, we know that small differences in the initial conditions can be the ‘butterfly effect’ that is a small difference that grows to influence the mode of action. This should also be true of errors on the initial conditions, leaving a range of possible results. The non-linearities that amplify small differences in the initial conditions produce a mechanism for amplifying small errors. This cannot be argued away by assuming the system is dissipative and that the errors don’t count.
This project addresses the calculation of chaotic systems in the presence of error. The implementation of duals arithmetic follows the conversion approach, where every number is formatted as a dual and the traditional arithmetic used to solve differential equations are converted to duals arithmetic. It is expected that the errors evolve and flow. A part of this study also includes the ability to switch the error vector arithmetic off anywhere in time or constantly from the start so the ‘with-error’ and ‘without-error’ cases can be compared. Various levels of numerical integration, such as a variable-order Runge-Kutta, also provide a way to identify the dominant paths for error evolution and determine the effect of computational method on the error propagation.
The project has been completed for well-known systems with names such as Logistic, Lorenz, Rossler, Concentration-Lorenz and Henon. The first step is to establish a baseline solution using published values for parameters, initial conditions and traditional arithmetic. Verification is by comparing the solution’s graphical result and location of critical points. Next the conversion-to-duals is performed on every number and every numerical step. This has a built-in switch to ‘turn-off’ the error propagation and to obtain exact arithmetic that should match the traditional arithmetic’s results. The result is a numerical experiment where different levels of error on each input can be studied to identify its effect and influence on the overall results.
For example, the figure shown illustrates the result for the well-known Lorenz attractor. Initially the system follows the historic result of a double-wing. Eventually the error evolves enough to alter the Lorenz attractor and produce another level of complexity. It is a new attractor because the system stays in a neighborhood. Although this looks very irregular, this is deterministic and re-running the simulation gives the same graph. Also turning the error ‘off’ produces the historic Lorenz attractor. While this project provides direct proof that error matters to the calculation, a physical explanation is sought through the re-derivation of the governing equations but in the duals format.