Skip to content

caosuomo/rads

Repository files navigation

RADS -- Rigorous Analysis of Dynamical Systems
----------------------------------------------

RADS is a Python-based software toolkit which provides various
components for the rigorous analysis of a dynamical
system. Capabilities include:

* Construction of an outer approximation of the system in question
  using interval arithmetic (requires external CAPD library, see
  below)

* Analysis of maximal invariant sets.

* Pythonic interface to Chomp and Homcubes, with appropriate
  conversion of output.

* Given an index map (in the form of a Numpy matrix) and a map
  (dictionary) assigning generators to regions in phase space, RADS
  provides a stand alone construction of a symbolic system
  semi-conjugate to the original system.


Dependencies:
--------------

* Required:

Python >= 2.6
Numpy >= 1.0 
NetworkX >= 1.0

chomp and homcubes_rads (source included)
fabricate.py (included)

* Recommended dependencies:

CAPD (http://capd.ii.uj.edu.pl/) -- for interval arithmetic, a
dependency of RADS' internal interval arithmetic library

C-XSC (http://www2.math.uni-wuppertal.de/wrswt/xsc/cxsc_new.html) --
alternate interval arithmetic library

GNU gcc/g++ -- for compilation of CAPD and internal RADS interval
arithmetic and outer approximation library

Cython -- internal RADS interval arithmetic and outer approximation
library. Standard in Enthought distributions of Python, or from
package repo on most (any?) Linux flavor.

The interval arithmetic library is necessary for combinatorial
enclosure/outer approximation. The Chomp package is required for
computation of the Conley index.

Installation:
-------------

* To build the full package:
  --------------------------

1. Make sure C-XSC is compiled and installed on your system.

2. If your Python and Numpy install are different from the defaults found by get_python_lib() and friends, you should enter the appropriate values by hand in config.py. (There are two sample configuration files in sample_configs.) 

3. Make sure 'make_rads' is executable (eg. run 'chmod u+x make_rads'
if necessary).

4. Run 

   python setup.py build --cxsc=/path/to/cxsc/include	

4'. Compiled files should now appear in build/lib

5. Run

   python setup.py install --prefix=<dir where you want RADS to live>


* To build only the symbolic system subpackage (this process NOT IMPLEMENTED CURRENTLY)
  --------------------------------------------

1. Run 

   python setup.py build --sym

2. Run

   python setup.py install --prefix=<dir where you want RADS to live>

   The package built in this way will exclude the compilation of the
   combinatorial enclosure/outer approximation library. It will,
   however, be necessary to compile the Chomp library. Hence, GNU g++
   is necessary.

Remark:  --prefix=<dir where you want RADS to live> will automatically install all files in, eg.,

	 <dir where you want RADS to live>/lib/python2.7/site-packages/

About

Rigorous Analysis of Dynamical Systems

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •