Friday 11 July 2008

Released a minor new version of iDMC

As the title suggests, a minor new version of iDMC has been released. The version 2.0.10 can be download from here, and has the following changes w.r.t. version 2.0.9:
  1. fixed legend in Lyap.exp. map plot: 'NA' instead of 'divergent'
  2. fixed bug in trajectory initialization code
  3. misc internal code cleaning
  4. silent error message is reported when 'NaN' values on trajectory rendering
So, if you have some problems with trajectory plots, try out this new version.
Thanks to prof. M. Lines for suggesting point (1), and to prof. A. Medio for pointing out issue (2).

Friday 30 May 2008

Released idmclib 0.10.0

A new version of the idmclib has been released.
The API is backward compatible, so that any project using previous versions of the library can switch to this new release efforthlessy.

Beside the usual (minor) bug fixes, this release display some important changes:
  • added TCL bindings
  • added a new 'attractor' module
  • upgraded documentation
  • upgraded dependency on the 5.1.x series of the Lua library
As a demo of the capabilities of the new TCL bindings, a command line script which computes trajectories of discrete and continuous models has been added to the source distribution.
TCL bindings will allow much easier testing of old and new C code, and the eventual development of special purpose, cross-platform applications. In this respect, the Tk toolkit is also a valid option for prototyping GUIs around crude library functionalities.

The new attractor module has been added mostly for internal use, and provides data structures and methods for handling sets of arbitrary-dimensional points (which can be read, for instance, as 'attractors'), and lists of those lists of points.

Finally, some words on the Lua upgrade. Until version 0.9.0, the idmclib was based on the release 5.0.x of the Lua library. This was released on April 2003, and got last update on on 26 Jun 2006. Now development of series 5.0.x seems to be stalled, so the need to upgrade to the more recent release of the Lua library: 5.1.3. This new version has some interesting new features, is considerably easier to compile and, most important, is actively maintained.

Tuesday 13 May 2008

Models archive

A web space has been prepared for collecting iDMC models. Submission of models from all iDMC users is strongly encouraged.

To submit, send a message to the iDMC mailing list:
idmc-discussion_at_googlegroups_dot_com
with the lua file attached and a link to model documentation (a related paper or at least a file with model description and typical initial and parameter values). Model files are made freely available to the public under the GPLv2 license.

Wednesday 16 April 2008

iDMC - version 2.0.9 released

iDMC version 2.0.9 has been released.
That version sees the core numerical idmclib upgraded to version 0.9.0 (which in turn fixes a serious numerical bug affecting computation of Lyapunov exponents on systems with no jacobian information).
Fixed also a minor bug affecting trajectory plot with manual chart bounds.

Monday 24 March 2008

iDMC - version 2.0.8 released

A minor new version of iDMC has been released (previous release was on 2/11/2007).
That fixes a regression introduced in 2.0.7, causing problems in handling trajectory plots of models with more than 2 dimensions, and uses a more recent version of the idmclib (0.8.0).

Thanks again, Marji, for pointing me the bug!

Monday 18 February 2008

RiDMC 0.9-0 released

Following the recent release of the 0.9.0 version of idmclib, RiDMC 0.9-0 has been released. As usual, platform independent sources and windows binary packages can be downloaded.

This version is more a development snapshot than a milestone release. However, there are some interesting changes:
  • upgraded idmclib to version 0.9.0
  • added some as.matrix methods (now all idmc_xxx classes have an as.matrix method)
  • fixed (many) bugs in Trajectory, TrajectoryList, LyapunpovExponents plotting functions
  • added detailed LUA syntax errors reporting

Saturday 16 February 2008

Released idmclib 0.9.0

A new version of the idmclib has been released.

From the change log:
- added tutorial chapter to documentation
- added intro section to documentation
- fixes and additions to documentation
- robustified IDMC_EPS_VALUE definition
- added pkg-config support
- added C++ compatibility directives to include files

The online html developers guide has been updated accordingly.

Monday 4 February 2008

idmclib developers guide now online

After some delay, I've finally put online the html version of the idmclib developers guide.
The idmclib manual is already shipped with the idmclib, and can be compiled in html and pdf format. However, potential users which might want to just give a brief look to what idmclib is can now look at the developers guide without ever downloading the source package.

Note that the published guide is relative to the latest release of the library. I will try to keep it up-to-date with future releases. However, for older/newer versions, one can always look at the distributed idmclib packages.

Friday 18 January 2008

iDMC 3D: a demo C++ application which uses the idmclib

I've written from scratch a new application, tentativly called iDMC-3D, a demo application based on the idmclib, largely inspired by iDMC, which lets you visualize trajectories of continuous-time dynamical systems in a 3D space. You can download the win32 binary package here, and package sources with compiling instructions here. It doesn't require Java or something else, so windows users can just unzip on their desktop and launch the binary 'idmc.exe'.

The application is essentially GUI and some logic, and uses the powerful, small and fast FOX library for cross-platform GUI building and OpenGL handling.

This application is to be intended as just a demo: is likely to be full of bugs, but working correctly with shipped models in most common situations. Moreover, it isn't officially supported by anyone, even if I appreciate feedback, comments and suggestions. Note that this is my first FOX application, as well as my first C++ program after a couple of years, so please be gentle in reviewing the sources:-)

Lets see how it works with a couple of screenshots...


This is how it looks when started on my linux box:

After opening a model (here the Rossler model), a new subordinate window pops up:

Now we can compute a trajectory:

Feed in sensible starting values, parameters, time span (in time units), transient and step size to be used in numerical integration:
After clicking 'Ok', you can watch the result:
You can interactively drag with the mouse pointer to rotate, right-click for the above shown menu, mouse wheel for zooming.
On the left side, you can choose which variables to show. Here the model has just 3 variables, named 'x','y' and 'z', so not many options. But you can always include the time axis in the plot:


That's all. Have fun!