Uniform expansivity in the quadratic map family
This page contains links to software and results of the computations
referred to in the paper
Uniform expansivity outside the critical neighbourhood
in the quadratic family
by Ali Golmakani, Stefano Luzzatto and Paweł Pilarczyk.
The 3D figure referred to in the paper,
as well as some additional technical descriptions and hints
are also provided here.
A preprint of this paper can be downloaded
here: [ PDF ]
The 3D Figure
An animation of the data referred to in the paper
is available for on-line viewing below. The animation uses
Datacratic's Data Projector script,
based on Three.js.
The data was split into clusters with a k-means algorithm,
using a program from the mlpack
software package (version 1.0.6).
- DATA 3D –
the 3D animation; please, be patient,
there are over 2MB to download in total;
note that it may take a while
before the dots in the animation appear
The following file is available here for download:
- quadratic-3d.zip –
the 3D animation for off-line viewing
(includes all the necessary 3rd party files)
Software and Data
The algorithms described in the paper are implemented in C++.
The software is published here under the terms
of the GNU GPL Version 3+.
The following files are available for download:
Compilation.
The GNU C++ compiler should be used.
The Boost C++ libraries
should be present in the system.
The CAPD and
CHomP
C++ libraries must be first downloaded and compiled.
Please, edit the file makefile
to make sure that the paths to those libraries are correct
and adjust them if necessary.
Then run the command make.
Note that in Linux the GNU C++ compiler and the GNU make
should be present in the system by default.
In other systems one should install them manually.
For example, in MacOSX one can use
MacPorts,
in Windows one can download and install
the Minimalist GNU for Windows
development environment.
(Note that these are not the only options.)
Computation.
The computation for all the N parameter subintervals
can be either done by a single process or in a distributed way
(at a multi-core computer or at a computer cluster, for example).
For the former, a command like the following may be issued:
- ./quadratic --flush -part derivative -e 3 -a 1.4 -a 2.0
-n 60000 --verbose 27 -d 0.001 -k 5000 --margin 0 -f coord60000.dat
-l exp60000.bin --log coord60000.log --debug
Please, see the description of the program (shown when called
without arguments) for the explanation of these
and other command-line arguments.
In order to benefit from the distributed computation,
the following command-line option should be added to the above:
where
-c instructs the program to work as a
coordinator
listening at the given TCP port number (7100 in this example).
Then several additional processes (
workers)
that will do the actual computations should be started,
either at the same machine, or at other computers connected by the network;
these should be run with a command like the following:
- ./quadratic -w server.com:7100 --log worker.log --debug
where
-w instructs the program to act as a
worker,
and to connect to the
coordinator at the given address
and at the given TCP port.
The communication between the coordinator and workers
is conducted using the sockets interface.
Data files.
There are 3 data files provided for each computation
that has been conducted (please, replace N
with its actual value):
- coordN.dat - a text listing of (approximate) results
of computations: the parameter range, the delta, the lambda
computed for that small delta for k=1000 (repeated 3 times),
the delta (again), the lambda computed for the target value of k,
and the computation time (in seconds);
the reason for the repetition of the data is the expected compatibility
with more advanced computations that are planned in the near future;
- coordN.log - the text output of the coordinator process
saved to a file; the first line contains the actual command line,
which may be helpful if one wishes to repeat the computations
with precisely the same parameters;
- expN.bin - a binary file with the exact values
of the computed delta and lambda (please, see the source code
of the program for the information on how to read this file).
Acknowledgment.
The research whose results are described here
has received funding from Abdus Salam
International Centre for Theoretical Physics (ICTP);
from the Portuguese research project FCOMP-01-0124-FEDER-010645
(ref. FCT PTDC/MAT/098871/2008);
and also from the People Programme (Marie Curie Actions)
of the European Union's Seventh Framework Programme (FP7/2007-2013)
under REA grant agreement no. 622033.