This program solves the initial value problem of explicit ordinary differential equations with multinomial right hand side functions. The ordinary differential equation set is transformed into an ordinary differential equation set by with purely second degree right hand side functions by introducing new unknown functions. Beam search is utilized for this transformation. The new ordinary differential equation set is solved by probabilistic evolution theory. Probabilistic evolution theory produces a finite series expansion of the solution. By plugging in different time values and using different truncation levels, the numerical results are shown.
The arithmetic is performed using exact arithmetic (rational numbers), therefore avoiding error buildup because of multiplication of very small numbers with very large numbers. The sparsity of the coefficient matrix is also taken into account, improving the performance.
The systems that are used in the implementation are van der Pol, classical quartic anharmonic oscillator, Henon-Heiles and Rabinovich-Fabrikant.
The program is compiled with g++ (Ubuntu) 11.3.0 using libraries libgmp 6.2.1 and libgmp C++ bindings. The program has been tested with GNU compiler g++-10 and above.
The command to compile is
g++ -std=c++20 main.cpp -lgmp -lgmpxx -o main.x
which would create the executable main.x.
The van der Pol ODE is
where there are two sought functions. The definition
can be used to rewrite in the form
using the heuristic H4 used in beam search for pure quadratization. We will take
The Quartic anharmonic oscillator ODE is
where there are two sought functions. The definition
can be used to rewrite in the form
using the heuristic H4 used in beam search for pure quadratization. We will take
The Henon-Heiles ODE is
where there are four sought functions. The definition
can be used to rewrite in the form
using the heuristic H4 used in beam search for pure quadratization. We will take
The Rabinovich-Fabrikant ODE is
where there are two sought functions. The definition
can be used to rewrite in the form
using the heuristic H4 used in beam search for pure quadratization. We will take