This package contains code and appendix.
Containing proofs and benchmark details.
See file appendix.PDF
The code uses the CMake compilation system. It has been tested on a MAC OSX machine.
To compile, you will need to install the libraries
- C++ BOOST library
- GNU MPFR library for multi precision floating point
- MPFI library
- glpk library
You will also need parser generator and lexical analyzers
- Flex
- Bison
These are installed from packages on homebrew (MAC OSX) or apt (Linux/Ubuntu).
$ apt-get install -y cmake libmpfr-dev libmpfi-dev flex bison libglpk
Type
$ cmake ./CMakeLists.txt
$ make
If your system has libraries installed at non-standard locations, you will
need to edit the files in the directory cmake-includes
. Specifically the files FindMPFR.cmake and FindMPFI.cmake specify where to search for these libraries.
First go to the test directory
$ cd ./tests
../polynomialFormUncertaintyPropagation -n 2000 -t -d 2 -w 4
../polynomialFormUncertaintyPropagation -n 100 -d 2 -r
../polynomialFormUncertaintyPropagation -n 8 -d 2 -c
$ cat ebola-model.sys
$ ../polynomialFormUncertaintyPropagation -d 6 -n 25 -4 ebola-model.sys
$ cat honeybee.sys
$ ../polynomialFormUncertaintyPropagation -n 25 -d 4 -4 honeybee.sys
$ cat coupledVanderpol-3.sys
$ ../polynomialFormUncertaintyPropagation -n 15 -d 2 coupledVanderPolOscillators-3.sys
$ cat laub-loomis.sys
$ ../polynomialFormUncertaintyPropagation -n 25 -d 4 laub-loomis.sys
$ cat 1d-lattice-10.sys
$ ../polynomialFormUncertaintyPropagation -n 15 -d 4 1d-lattice-10.sys
NOTE: Code requested and provided as is by Bouissou et al. Used as a library inside our tool. Rimless wheel, 2D robot and Cartpole model results reported directly from Bouissou et al.
$ cat ebola-model.sys
$ ../polynomialFormUncertaintyPropagation -n 25 -a ebola-model.sys
$ cat honeybee.sys
$ ../polynomialFormUncertaintyPropagation -n 25 -a honeybee.sys
$ cat coupledVanderpol-3.sys
$ ../polynomialFormUncertaintyPropagation -n 15 -a coupledVanderPolOscillators-3.sys
$ cat laub-loomis.sys
$ ../polynomialFormUncertaintyPropagation -n 25 -a laub-loomis.sys
$ cat 1d-lattice-10.sys
$ ../polynomialFormUncertaintyPropagation -n 15 -a 1d-lattice-10.sys
cd ../python-simulation
Each python file corresponds to the model of the same name
python3 rimlessWheel.py
python3 roboticArm.py
python3 cartpole.py
python3 ebola-model.py
python3 honeybee.py
python3 coupledVanderPolOscillators-3.py
python3 laub-loomis.py
python3 1d-lattice-10.py