Home
Contact
Short CV
Research
Publications
Software
Links
Impressum

 

University of Plymouth | Centre for Theoret. and Comput. Neuroscience | Home   

 

Example 1: One Dimensional Coupled Map Lattice

This simple example demonstrates the most basic principles of felix. It implements a one-dimensional coupled map lattice, i.e. a grid of N maps wich interact laterally. Each map j is described by a variable u[j] which maps to f(u[j]) in every simulation step. f(u) is a nonlinear function (here, a modified tent-map). The next value of u[j] is computed as u[j] = f(u[j]) + epsilon { f(u[j-1]) - 2 f(u[j]) + f(u[j+1]) } where indexes are taken modulo N and epsilon is some coupling strength. Update can be synchronous, in which case all units are updated in every step, or asynchronous, which means one randomly connected unit is updated at a time. The variable m measures the fraction of cells with u>1 in every step. Depending on the coupling strength epsilon and an additonal parameter r of the function f, the collective dynamics of the net can be in a persistent chaotic state (m fluctuates around some finite value) or die out in a finite time (m goes to zero after a while).

The following picture displays a screen shot of the simulation program. You'll find explanations below the figure.

         

Shown on top of the figure is the lattice activity as a raster plot over time, ie. time runs from left to right and units from top to bottom. White indicates unit values above 1, black values below one. Initially, most units had values above one, but the fraction decays during the initial phase of the simulation. This is obvious from the middle frame, which shows the fraction of white units over time. From the displayed short simulation it cannot yet be judged whether the activity will finally die out or not. The bottom frame is the main control frame of felix. This appears similarly in every felix simulation program and contains control elements for parameters of the simulation (here, a button "synch/asynch and sliders for epsilon and r) as well as a couple of other sliders and buttons which initialize, run, stop, or step through the simulation. The slider "Steps" gives the number of steps performed when the corresponding button "Steps" is pressed, "Displaysteps" is the number of steps between displayed simulation values in a freely running simulation. The upper two frames show views on the simulation variables, whereas the lower frame allows to control the simulation instantaneously.

Downloads

Statically linked executable (Right-click and store using "Save Link Target .." or similar. Start by clicking on it after download.)

Environment file (Put this file into a subdirectory "env" in the directory of the executable, which will then start with appropriate parameters.)

Source code

Shared library executable (Right-click and store using "Save Link Target .." or similar.)


Note 1: If the statically linked executable does not start, you might need to make it executable by setting the right permissions. It might also be that you don't have all necessary libraries (none of which is, however, very exotic). Try "ldd cml" on the command line to see if something is missing.

Note 2: To run the shared library executable you need to install the felix runtime libraries; to compile the source code you need to install in addition the felix development tools. See HERE for more info.
 
   

   © 2004 by -thowe-