Welcome to $Revision: 1.1 $ of the index of free source code for
numerical computation written in either of C or C++. The most
recent version of this file may be found in netlib/c/free-c.
Table of Contents:
* Explanations of fields
* The index
* f2c
* Other pointers
* Interesting sites
* Credits
The index is biased towards fields I work in.
Please send me suggestions, corrections and improvements.
-Ajay Shah, Ajay_Shah at rand.org
$Date: 1992/07/28 13:08:31 $
* Explanations of fields
Name if the archive has a obvious name, then that is shown.
Otherwise I invent something sensible.
Where is a pointer into a ftp site, or sufficient information to
figure that out. The information at EOF may enlighten
you if you are still stuck.
Systems If it does not run on "almost any computer on earth", a
list of systems is shown.
Language If it's not ANSI C, then the language is shown. The
alternatives are K&R and C++.
Author I try to give the name(s) and email addresses. Sometimes the
email address is a contact person, even if it's not the author.
Version This tries to identify a most-recent version and gives it's date.
Description A one-line description
Comments Are a few keywords thrown in to help you egrep.
Many things are incomplete; please tell me of anything which hurts
your eyes. Please point me to goodies I've overlooked. If you have
source code which may be of wide interest, please make it available to
the net.
* The index
Name: SPARSE
Where: in sparse on Netlib
Description: library for LU factorisation for large sparse matrices
Author: Ken Kundert, Alberto Sangiovanni-Vincentelli, sparse at ic.berkeley.edu
Name: XLispStat
Where: pub/xlispstat on umnstat.stat.umn.edu
Systems: Unix, Macintosh, MSW
Description: a statistical package
Author: Luke Tierney, luke%umnstat at umn-cs.cs.umn.edu
Comments: object-oriented, EDA, graphics, lisp
Name: ajay
Where: in general on Statlib
Description: cholesky decomposition and drawing from MVN
Author: Ajay Shah, ajayshah at usc.edu
Version: 23 Sept 1991
Name: brent rootfinding, aitken-lagrange interpolation, hooke-jeeve minimiser
Where: in c on Netlib
Author: Oleg Keselyov, oleg at nrcbsa.bio.nrc.ca
Comments: includes a vectors library. Netlib:c++/brent has C++ version.
Version: May 1991
Name: cephes
Author: Stephen L. Moshier
Description: extremely good library of 100 special functions and probability densities
Where: in pub/C-numanal on usc.edu, should soon appear on Netlib too
Version: 2.0, April 1987
Name: dcg.shar
Where: in c on Netlib
Description: preconditioned conjugate gradient method
Author: Mark K. Seager, seager at lll-crg.llnl.gov
Name: dtoa.c
Where: in fp on Netlib
Description: correctly rounded decimal <--binary conversion
Name: fft.shar
Where: in c++ on Netlib
Description: radix 2 FFT
Name: fftsing
Where: in edu/math/msdos/modelling on wuarchive.wustl.edu
Description: FFT of extremely long series; Singleton's mixed radix algo
Author: Javier Soley, FJSOLEY at UCRVM2.BITNET
Name: frac
Where: in c on Netlib
Description: finds rational approximation to floating point value
Author: Robert Craig, AT&T Bell Labs - Naperville
Name: fromskip
Where: send email to Skip Carter (address at EOF)
Language: C++
Description: numerical derivatives with richardson extrapolation, runge-kutta code, monte-carlo integration, fredholm and voltera integral equation solvers, etc.
Name: gaut
Where: in general on Statlib
Description: upper-tail probabilities on normal and t densities
Author: Ajay Shah, ajayshah at usc.edu
Version: 12 May 1991
Name: ga's
Where: pub/galist/source-code/ga-source on ftp.aic.nrl.navy.mil (192.26.18.74)
Description: many genetic algorithm optimisation libraries, all in C
Comments: they are GAucsd 1.4 (Nici Schraudolph, nici at cs.ucsd.edu), GENEsYS 1.0 (Thomas Baeck, baeck at home.informatik.uni-dortmund.de), Genesis 5.0 (John J. Grefenstette, gref at aic.nrl.navy.mil), Goldberg's SGA in C (with a nCube version) by Rob Smith, rob at galab2.mh.ua.edu
Name: gemmw
Description: a highly portable Level 3 BLAS implementation of Winograd's variant Strassen's matrix multiplication algorithm
Where: in misc on Netlib
Author: Craig C. Douglas, douglas-craig at CS.YALE.EDU
Version: 22 May 1992
Name: go.c.Z
Where: in C-numanal on usc.edu
Description: Calculate gaussian quadrature rules. Translation of Netlib: go/gausq.f using f2c with some hand-cleaning. You need a log gamma function.
Comments: numerical integration
Name: in-spice
Where: part of Spice. SPICE3E1 is free, SPICE3E2 is not-free less-buggy.
Description: files src/lib/ni/ni{integ,comcof}.c are first- (backward euler) and second- (trapezoidal) order integrator and a >6 order GEAR.
Name: lin_alg.shar
Where: in c++ on Netlib
Description: BLAS 1 and 2 in C++
Name: lpsolver
Where: volume02 of comp.sources.reviewed (Real Soon Now)
Description: very good mixed integer linear problem solver
Author:
Comments: Its core is a sparse matrix dual simplex LP solver. MILP problems are solved with a branch-and-bound iteration over LP solutions. It uses a lex+yacc parser to read a human-friendly algebraic input format. The author has used the program to solve LP problems up to about 30000 variables and 50000 constraints (on a 22 MFLOPS HP9000/750).
Name: machar
Where: in misc on Netlib
Description: find out properties of floating point hardware
Author: William J. Cody, cody at antares.mcs.anl.gov, and Tim Hopkins
Version: October 1985
Name: madpack
Where: in pdes/madpack/c
DescriptioN: multigrid/aggregation/diaggregation package for PDEs
Name: matrix.tar.Z
Where: in ftp-raimund/pub/src/Math on nestroy.wu-wien.ac.at (137.208.3.4)
Author: Paul Schmidt, TI
Description: Small matrix library, including SOR, WLS
Name: matrix04.zip
Where: in mirrors/msdos/c on wuarchive.wustl.edu
Description: Small matrix toolbox
Name: matrix++
Where: some site in UCLA
Description: a recently released C++ matrix class
Name: meschach
Where: in c/meschach on netlib
Systems: Unix, PC
Description: a library for matrix computation; more functionality than Linpack; nonstandard matrices
Author: David E. Stewart, des at thrain.anu.edu.au
Version: 1.0, Feb 1992
Name: minit
Where: volume 7 of comp.sources.misc
Systems: Unix
Description: linear programming by dual simplex method
Author: Badri Lokanathan
Version: 1.0, July 1989
Comments: don't miss minit.p1
Name: newmat
Where: volume26 of comp.sources.misc
Language: C++
Systems: Unix, MS-DOS (Turbo C++)
Description: a very thorough matrix class
Author:
Version: v4
Name: nlmdl
Where: in pub/arg/nlmdl at ccvr1.cc.ncsu.edu (128.109.212.20)
Language: C++
Systems: Unix, MS-DOS (Turbo C++)
Description: a library for estimation of nonlinear models
Author: A. Ronald Gallant, arg at ccvr1.cc.ncsu.edu
Comments: nonlinear maximisation, estimation, includes a real matrix class
Version: January 1991
Name: nonlinear
Where: in pub on lyapunov.ucsd.edu (132.239.86.10)
Language: various
Description: archive of programs in nonlinear dynamics, signal processing
Author: various, contact person is mbk at lyapunov.ucsd.edu (Matt Kennel)
Name: ols
Where: ftp.uu.net in usenet/comp.sources.reviewed/volume01/ols
Systems: almost anything, but it's most useful under Unix
Description: A small linear regression package dressed as a Unix tool
Author: Ajay Shah, ajayshah at usc.edu
Version: v1.00, late 1991
Name: p4.tar.Z
Where: pub/p4 on info.mcs.anl.gov
Description: a library for writing parallel programs for shared-memory or message-passing. It will work on a network of workstations or on parallel hardware.
Author: lusk at mcs.anl.gov
Version: July 28, 1992
Name: paranoia
Where: research.att.com in dist
Systems: Unix
Description: exercise the edges of your floating point implementation
Name: pca
Where: in multi on Statlib
Description: principal component analysis
Name: perlman
Where: in misc on Netlib
Description: normal, chi-squared and F distributions
Author: Gary Perlman
Name: pierreQP.tar.Z
Where: in C-numanal on usc.edu
Author: Pierre Asselin
Description: Extremely good package for calculation of gaussian quadrature rules
Comments: numerical integration
Name: pinv
Where: in dhlib on elib.ZIB-Berlin.de
Description: cholesky decomp. for possibly rank-deficient PD matrices, householder
Name: polyfit.tar.Z
Description: fit polynomials to data
Where: in ftp-raimund/pub/src/Math on nestroy.wu-wien.ac.at (137.208.3.4)
Author: Ted Stefanik, ted at adelie.Adelie.COM
Version: 8 August 1989
Name: praxis
Where: in math on Simtel
Description: derivative-free maximisation
Version: July 1987
Name: presto
Where: ??
Description: C++ routines for (simulating?) parallel programming
Name: random
Where: bsd-sources/src/lib/libc/gen on gatekeeper.dec.com
Description: the BSD C library random number generator
Name: random-c
Where: in c on Simtel
Description: portable, good random number generator
Name: ranpm
Where: in prog/libraries on nuri.inria.fr (128.93.1.26)
Where: also in volume5 of comp.sources.misc in "random"
Description: the Park-Miller "minimal standard" random-number generator
Author: Ajay Shah, ajayshah at usc.edu
Version: February 1992
Comments: there are several other independent implementations, all are quite alike
Name: ranlib-c
Where: pub/unix on odin.mda.uth.tmc.edu or in general on Statlib
Description: large library for random variate generation from many univariate and multivariate distributions
Author: Barry Brown, bwb at odin.mda.uth.tmc.edu
Version: 16 Jan 1992
Name: rpart
Where: in general on Statlib
Description: Routines for recursive partitioning
Author: Terry Therneau, therneau at mayo.edu
Version: Feb 1991
Name: sge.shar
Where: in c on Netlib
Description: Linpack functions geco, gefa, gesl and a little of BLAS; nonstandard matrices
Author: Mark K. Seager, seager at lll-crg.llnl.gov
Version: April 88
Name: smooth.tar.Z
Description: Unix tool for smoothing
Where: in ftp-raimund/pub/src/Math on nestroy.wu-wien.ac.at (137.208.3.4)
Author: Bill Davidsen (davisen at crd.ge.com)
Version: v1.9, 15 Aug 1989
Name: spline
Where: in misc on Netlib
Description: splines under tension, dressed as a Unix tool
Author: J. R. Van Zandt and A. K. Cline
Name: submit1
Where: in jcgs on Statlib
Description: damped convex minorant algorithm
Author: David Eberly, eberly at cs.unc.edu
Version: May 1992
Name: totinfo
Where: in volume7 of comp.sources.misc
Description: info statistic and chi-square for 2-D contingency tables
Date: August 1989
Name: vspline
Where: in gcv on Netlib
Description: non-parametric estimate of a smooth vector-valued function from noisy data
Author: Jeff Fessler
Comments: splines
Name: xgobi
Systems: Unix, needs X Windows
Description: a data analysis package emphasising graphical data exploration
Author: Debby Swayne, dfs at bellcore.com; Dianne Cook, dcook at fisher.rutgers.edu
Versions: 25 March 1992
Comments: EDA
Name: xvgr/xmgr (open look or motif versions)
Where: pub/grtool on ese3.ese.ogi.edu
Systems: Unix, with either open look or motif
Description: graphics for EDA
Author: Paul J. Turner, pturner at ese.ese.ogi.edu
Versions: 2.0?
* f2c
In case you had not already noticed it: a public domain, industrial
strength, fortran-to-C translator named f2c exists. It has one great
strength and one great weakness: "It is a true compiler". Thus the
code generated always "works", at the price of frequently looking like
fortran.
A lot of useful fortran libraries can readily be turned