Guaranteed upper and lower bounds for entropy
Click here for a plot of the entropy when b=1
(area preserving orientation reversing case).
Click here for a plot of the entropy (accurate
values only, good to within +-0.01).
Click here for another plot of the entropy (all
values, errors may be big).
Click here for a plot of all known upper bounds
for the entropy.
Click here for a plot of all known lower bounds
for the entropy.
Click here for a plot of the differences between
the upper and lower bounds.
calculate_entropy
Usage: calculate_entropy [-v] A_Numerator A_Denominator B_Numerator B_Denominator
Here is an example:
calculate_entropy -v 2 1 -1 1
This calculates an upper bound when a = 2 (i.e. 2 / 1) and b = -1 (i.e. -1 / 1). The program keeps going until its estimate stabilizes. This make time a long time, and your machine may well run out of memory first! The -v option causes the program to output estimates as it goes (all estimates are guaranteed upper bounds for the entropy).
The source for calculate_entropy is available as a compressed tar file. In addition to the program, the tar file contains a copy of this page as well as the copyright notices. The program is also available as a text file in which the various routines are simply listed one after the other. You will need to cut it up into the individual files. The gnatchop tool can do this for you (see the section on compiling below). You can also browse the source code.
Compiling
You need to link calculate_entropy with the ARPACK sparse matrix code. Since ARPACK is written in Fortran, you will need a Fortran compiler as well (such is life). I suggest you download the GNU Fortran compiler (g77). Then follow the instructions in the ARPACK source.
In what follows I will suppose that the ARPACK library is in the same directory as the calculate_entropy source, and is called libarpack.a. Now compile calculate_entropy with the following command:
gnatmake -s -O2 -gnatn calculate_entropy -largs -s libarpack.a
You may well have problems during the linking phase due to missing Fortran libraries. I'm afraid this depends a lot on your installation. On my machine I have to do
gnatmake -s -O2 -gnatn calculate_entropy -largs -s libarpack.a -lblas -lg2c -L/usr/lib/gcc-lib/i386-linux/2.95.3
Ada 95
Please let me know what you think
of this page.
Back to Duncan's home page.