Computing Health Expectancies using IMaCh

(a Maximum Likelihood Computer Program using Interpolation of Markov Chains)


May 2018

Authors of the program: Nicolas Brouard, senior researcher at the Institut National d'Etudes Démographiques (INED, Paris) in the "Mortality, Health and Epidemiology Research Unit"

with the collaboration of Agnès Lièvre (former PHD student at INED) until 2007

Contribution to the mathematics: C. R. Heathcote (Australian National University, Canberra).

Contact: Nicolas Brouard (

 Main publication concerning the method is Lièvre A., Brouard N. and Heathcote Ch. (2003) Estimating Health Expectancies from Cross-longitudinal surveys. Mathematical Population Studies.- 10(4), pp. 211-248. DOI 10.1080/713644739

Download and instructions for installation

Current versions May 2018

The grapher that IMaCh uses is gnuplot from Gnuplot has evolved since version IMaCh 0.98k and therefore you need at least Gnuplot 5. Otherwise you need to adapt the .gp file produced in order to run with your old gnuplot. With the installer provided for OS/X and Windows, a recent gnuplot binary is provided and will be installed on the same directory that the IMaCh binary. It is better to use your own Gnuplot installation and IMaCh will test the command '''gnuplot''' but if the binary in not in your path, it will make a first error but, in a second attempt, will use the binary provided by the installer. You can also add the gnuplot binary in your path.

On Windows (XP, Vista, Windows 7, Windows 8, Windows 10)

Until June 2004 the installation did consist in a zip file which had to be extracted in the directory of your choice. But with version 0.98d and above IMaCh we are using a windows installer (Inno setup 5.5.5).
In order to facilitate the use of IMaCh we associated the .imach extension to two features: editing and running. Thus by right clicking on a foo.imach file you can either 'edit'the file (default) with the notepad editor or 'run' it with gnuplot (you need a recent version).

You need to have the Administrator privileges to install the software. We don't propose anymore an installation which does not alter registry because we think that you all have access, even temporarly, to Administrator privileges (usally by right clicking the .exe you can choose "Install with Administrators privileges".

Imach version 0.99r16 of May 2018 can be downloaded below as a setup.exe file imach-0.99?-#-setup.exe. The ? corresponds to a version number while the # corresponds to same program but compiled differently.
After having tested crosscompilations from a Unix box we moved to native versions compiled with Visual Studio Express compiler 2013 32 and 64bit bits) and, better, Intel C/C++ compiler from the package Intel® Parallel Studio 2015 The IMaCh program and gnuplot will be installed in the directory of your choice (usually in Program or Program Files). Please check the corresponding md5sum, if the download is corrupted.
After installation, a right click on a .imach file lets you edit with the notepad text editor (which is less useful than other text editor like workpad but which have the advantage to be installed on any Windows).

Very old (historical) Windows versions are accessible here.

On Mac OS/X Lion and higher (May 2018)

IMaCh can be easily compiled with gcc on MacIntosh as soon as XCode (free download from Apple) is intalled on your MaCIntosh.

It take a litle more time to get version of Gnuplot 5+ for Mac OS/X and to compile it on a MaC. Currently graphs are output as svg because the svg format is scalable and thus figures are easier to improve and to insert in other documents. Sometimes the svg file is to big and is replaced by a png binary file. But you can get any other format with gnuplot (for example, on Emacs with gnuplot-mode, just edit the .gp file, send the first "cd " line to change to current directory, move to corresponding line of the plot, send the plot line to gnuplot, visualize on the screen, change the terminal as well as plot file names).

You can download below a dmg file, for example imach0.99X.dmg and install it. Like on Windows, two sub-directories are created bin and html . In the bin subdirectory you will find two executables imach itself and gnuplot. With recent versions, this tree is embedded in an Application. Be careful, that this version of Gnuplot is compiled with the Aquaterm App (which is no more distributed by Apple) which has to be installed by yourself. You can google for "Aquaterm dmg" and find one at sourceforge and install it. The aquaterm library is required by the currently included gnuplot package (even if imach doesn't use an aquaterm terminal, but .png and .svg mostly).

You need to click on imach application and IMaCh will be launched in a Terminal window, asking you to enter the name of a parameter file. A parameter file is a text file with an extension .imach (but you can use a .txt extension if you want. Among the parameters required, a data file name has to be entered. It can be a relative file name like ../../data/data1.txt.
If you open a new finder you can drag an IMaCh parameter file into the terminal IMaCh Window that you just created.

At the end of the run, and it order for the terminal window not to disappear, the program will prompt for a command like "e" for editing/viewing the results (with your browser) or "q" for quit.
You can use the finder or browser (there is no more difference now) and click on the main .html (or .htm) file created. The name of this main html file is the same name as your parameter file, only the extension .imach is changed to .html. If you slightly change the parameters, you just have to give another name and the new results will not override the former.

On Linux

There are various versions of Linux, gnuplot is distributed on most distributions. Just verify that your version of gnuplot is version 5+ . If I haven't had time to make a rpm yet, just ask us for the CVS tree location (not completely GPL today), and compile the sources. Remarks concerning the Linux versions are similar to the Mac OS/X version.

Old 0.99r14 You can download below a binary rpm file for a 64 bits Linux, for example: imach-0.99r14-1.x86-64.rpm

The Windows binaries have been compiled with native Intel Compiler on my OS/X Mac using Virtual Box and a Windows 8. Each binary contains two directories bin and html/doc . In the bin subdirectory you will find the imach executable and in html/doc the biaspar.imach test parameter file and its corresponding data file data1.txt. In order to run the test the command is ./bin/imach ./html/doc/biaspar.imach

gnuplot should be installed otherwise at the end of the run (optimization and calculations last at least 7 minutes on today most efficient hardwares) the command gnuplot will fail. If successful, typing e will open biaspar.htm with your browser and all the results including graphs generated by gnuplot will appear.

Differences between efficiency of binary versions, related to former errors in the likelihood optimizations algorithms, have be discussed at REVES 2015 meeting in Singapore.
OS OS subtype Version Compiler File to download MD5 cheksum
Windows 32&64bits 0.98p0
Intel Compiler 2015 with VisualStudio2013 imach-0.98p0-ilc-setup.exe c4c8d47d24c76f6d2a5b0bfc52c43395

0.98q0 Intel Compiler 2015 with VisualStudio2013 imach-0.98q0-ilc-setup.exe a7d40b3288d84187633a07289492f7dd
OS/X 64 bits 0.98p0
Apple LLVM version 6.0 (clang-600.0.56) imach0.98p0.dmg 94e75fe3d141d9e5394ce3c53b98b987

0.98q0 Apple LLVM version 6.0 (clang-600.0.56) imach0.98q0.dmg b4dbd03d9bb2039cfc6a013411789ad6
Linux 64bits 0.98p0
gcc-4.8.1-for-linux64 imach-Linux-0.98p0-linux-x86-64-bin.tar.bz2 0974bcf30596f94f97d0e80acaf5a1bb
0.98q0 gcc-4.8.1-for-linux64 imach-Linux-0.98q0-linux-x86-64-bin.tar.bz2 769f1153e78e6dd34d483aaa9fddd50b
32bits 0.98p0
gcc-4.8.1-for-linux32 imach-Linux-0.98p0-linux-i586-bin.tar.bz2 034fe6ca6dfeb84eb2d735dea7ad7a9b
0.98q0 gcc-4.8.1-for-linux32 imach-Linux-0.98q0-linux-i586-bin.tar.bz2 0d9c4d982ea43eda4b2dd058441459b3

Download (Old download) and bugs reported

Click here to access to the detailed documentation


In addition to INED, this software have been partly granted

Our work is copyrighted as a GNU software product, i.e. program and software can be distributed freely for non commercial use. We used some codes from the first book "Numerical Recipes in C" (Press et al, 1992) which is copyrighted. Today, the code of the optimization programme has been so altered and many bugs have been fixed, see communication at the 2015 REVES meeting in Singapore) that we consider that we are only in debt of the algorithm which has been published. If you want to get our sources, please ask us with a simple justification (name, email, Institute)

Latest documentation can be accessed on the wiki at

There is a public mailing list of IMaCh's users. You can subscribe by sending a mail to (and unsubscribe with for help, comments and reports on the performance (see the Performance section of the wiki). Archives can be accessed at

If you ask for help, it is usually easier to send the parameter file, the .log file as well as some records of the datafile.

IMaCh Wiki

As discussed at the REVES meeting in Beijing, we created a Wiki for IMaCh were people having used IMaCh (or having not been able to use it because of obscure or unadequate features) can add tips and discuss various aspects of IMaCh and interface with other statistical softwares. In many aspects, our "official documentation" is not accurate enough.

Wikis are a promising way to give information closer to your expectations. It also a very dynamic movement if you consider the first International Wikimedia Conference in Francfurt (August 2005), where most Wikis were represented and in particular Wikipedia.

Access to the IMaCh Wiki

. Please ask for a username and password.
$Id: index.htm,v 1.19 2017/06/29 11:18:21 brouard Exp $