Miscellaneous FORTRAN Programs

Most of these are in the public domain, others are under free licenses.

Originals

CLUELA K-means data clustering with support for mixed data and missing data. Browse the source directory of FORTRAN code with complete C translation. Also see the accompanying article also available at codeproject.com

K-Means++ The simplest possible implementation of k-means data clustering. Browse the source directory of FORTRAN code with a complete C translation. Also see the accompanying article on codeproject.com

Package scat is a pair of programs. The first takes an audio file in .WAV format and produces a high-resolution spectrogram in .PGM format. The user may then edit the image in any fashion. The second program selects a melody line from the edited image and produces symbolic music in .MID format with expression and pitch bend. Together, the result is a precise transcription of a solo musical performance. Browse the source directory of FORTRAN code with a complete C translation. An article describing the programs is available at codeproject.com. Windows 64-bit .EXE files are also available as SPECTR.EXE and SCRIBE.EXE.

bfilt is a Butterworth digital filter of any order, that can be controlled by specifying the desired pass and stop frequencies, and the transmission in the passband and the stopband. Browse the source directory of FORTRAN code with a complete C translation. Also see the accompanying article on codeproject.com

circular 1.2 Computes the circular mean or circular median (and standard deviation or mean absolute deviation) appropriate for quantities that wrap around, like time of day or compass direction. A similar program, cyclic.c (not an exact translation) is available in C. Also see the accompanying article on codeproject.com

Weighted circular mean or weighted circular median are available in FORTRAN and in C.

MixMidi Mix together MIDI files. Feature-complete, with a brief manual. Now has its own web page.

imidiacy Browse the source directory. IMmediate MIDI - records keystrokes as musical notes. In C, not FORTRAN. Also has a sourceforge page.

Stable sorting with merge sort for real numbers, and radix sort for integers.

navier.f Solution to a homework problem in John D. Anderson's Computational Fluid Mechanics: the Basics with Applications

spacial.f The spatial median.

Gauss-Jordan elimination for solving systems of linear equations.

machine.f Wrapper around FORTRAN 95 routines for machine constants.

Translations:

fnv32.f Fowler-Noll-Vo 32 bit general-purpose hash function. Home page

poly.f Find an interpolating polynomial by the Bjorck-Pereyra algorithm.

By others:

graclus by Brian Kulis and Yuqiang Guan. Program for clustering graphs. (in C.)

Praxis by Richard Brent, revised by John Chandler. Unconstrained optimization of a function of several variables.

Random Forests by Leo Breiman and Adele Cutler. Statistics software for classification and clustering. This is the original version. It was released under the GNU GPL, but the authors do not give permission for it to be used commercially, so please don't.

ARPACK and its update patch. By Sorensen, et. al. The ARnoldi PACKage for computing eigenvalues and eigenvectors of sparse matrices.

Hermitian Lanczos Package By Osni Marques. Computes eigenvalues and eigenvectors of sparse Hermitian matrices.

zeta.f Gamma function and Riemann Zeta function, from the CERN library.

trapfpe.c Code snippet to turn on error trapping for floating point exceptions. Finds hard-to-find bugs.

Experimental Math

DAMED Differentiable approximation to the median, by means of an approximation to the absolute value. Browse the source directory of C and FORTRAN code. Explained in a brief technical report.

GOPAK is the first program to apply generalized orthogonality. It offers non-Euclidean solutions to overdetermined and underdetermined systems of linear equations. It also can compute a family of matrix factorizations analogous to the singular value decomposition (SVD). Browse the source directory of FORTRAN code. Also see the accompanying technical report.

l1trig.f Compute the taxicab sine, taxicab cosine, and taxicab arctangent on a plane measured by the L1 norm.

multitrans.m Fourier analysis of .wav files according to triangle waves and flattop waves (the L1 and L-infinity circular functions) as well as the usual sinusoid waves. Color-coded spectrogram. In Matlab.

Collections

Naval Surface Warfare Center (NSWC) Library Long (3.6 MB) collection of numerical subroutines in FORTRAN 66. Also comes with a manual.

SLATEC Library Sandia / Los Alamos National Laboratories numerical subroutine library. This version is from an old release of Debian GNU/Linux.

cmlib The National Bureau of Standards Core Mathematical Library . Edition of 1988, still available from NIST

CERN Mathlib Math subroutine library of the European physics laboratory, 2000 edition.

email: andy@13olive.net
updated: 6 November 2022