Numerical experiments, Tips, Tricks and Gotchas

Numerically speaking

Computer Methods for Mathematical Computations

1. Introduction

Computer Methods for Mathematical Computations by George Forsythe, Michael Malcolm and Cleve Moler (FMM) is one of the great classic textbooks on numerical methods. First I read it in Russian translation [1] and later bought the original [2].

I used the book both as a reference to numerical concepts and the source of working efficient algorithms. During my work as a researcher and scientific programmer, I translatedand the original FORTRAN code to several languages.

I am going to share these translations on GitHub: FMM ( Direct link: https://github.com/dr-nikolai/FMM ). All updates will be documented at FMM Wiki..

2. Fortran-90 translation

The original FMM algorithms are perfectly usable and available at NetLib. However, Ralph Carmichael made translation to a modern version of FOFTRAN: [3]. He also added several testing routines.

3. Pascal translation

I translated the FMM routines to Object Pascal (Delphi). They are included into my numerical library PasMatLib [4].

These algorithm, along with some dependencies and DUnit tests are collected in fmm.pas [5]. They can be used independently from PasMatLib.



  1. Форсайт Дж., Малькольм М., Моулер К. Машинные методы математических вычислений. М.: Мир, 1980.
  2. Forsythe, George E.; Malcolm, Michael A.; Moler, Cleve B.: Computer Methods for Mathematical Computations, Prentice-Hall, 1977.
  3. Computer Methods for Mathematical Computations FMM Fortran-90.
  4. Scientific programming with Delphi PasMatLib.
  5. Delphi/Pascal implementation (Delphi 5+, Lazarus) by Nikolai Shokhirev fmm.pas .
  6. Brent, R.P.: Algorithms for Minimization without Derivatives, Prentice-Hall, 1973.


© Nikolai Shokhirev, 2012-2017

email: nikolai(dot)shokhirev(at)gmail(dot)com