Article View: sci.math.num-analysis
Article #46Re: Looking for C-routines for Cholesky factorization
From: Ajay Shah
Date: Sat, 31 Oct 1992 04:27
Date: Sat, 31 Oct 1992 04:27
472 lines
17806 bytes
17806 bytes
Welcome to $Revision: 1.4 $ of the index of free source code for
numerical computation written in either of C or C++.
This file is also stored on netlib, it's 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, ajayshah@usc.edu
$Date: 1992/10/23 16:39:21 $
* 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: BSDmath
Where: e.g. agate.berkeley.edu
Description: BSD implementation of math.h
Name: SPARSE
Where: in sparse on Netlib
Description: library for LU factorisation for large sparse matrices
Author: Ken Kundert, Alberto Sangiovanni-Vincentelli, sparse@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@umn-cs.cs.umn.edu
Version: ??
Comments: object-oriented, EDA, graphics, lisp
Name: ajay
Where: in general on Statlib
Description: cholesky decomposition and drawing from MVN
Author: Ajay Shah, ajayshah@usc.edu
Version: 23 Sept 1991
Name: brent rootfinding, aitken-lagrange interpolation, hooke-jeeve minimiser
Where: in c on Netlib
Author: Oleg Keselyov, oleg@nrcbsa.bio.nrc.ca
Comments: includes a vectors library. Netlib:c++/brent has C++ version.
Version: May 1991
Name: cephes
Author: Stephen L. Moshier, moshier@world.std.com
Description: extremely good library for numerical computation in C. Emphasis on special functions (of very high accuracy), but also contains useful code for matrices, eigenvalues, integration, ODEs, complex arithmetic, chebyshev approximation.
Where: in pub/C-numanal on usc.edu, should soon appear on Netlib too
Version: 2.2, June 1992
Name: dcg.shar
Where: in c on Netlib
Description: preconditioned conjugate gradient method
Author: Mark K. Seager, seager@lll-crg.llnl.gov
Name: dstool
Where: in ?? on macomb.tn.cornell.edu
Description: dynamical systems simulation package (xview3 and ow3)
Author: ??
Version: 1.1
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@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@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@cs.ucsd.edu), GENEsYS 1.0 (Thomas Baeck, baeck@home.informatik.uni-dortmund.de), Genesis 5.0 (John J. Grefenstette, gref@aic.nrl.navy.mil), Goldberg's SGA in C (with a nCube version) by Rob Smith, rob@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@CS.YALE.EDU
Version: 22 May 1992
Name: genocop
Where: in ?? unccsun.uncc.edu (152.15.10.88)
Description: nonlinear maximisation with linear constraints. You write C code for the function to optimise and link into genocop. Allowable ranges for each parameter can be defined. Author plans to do nonlinear constraints "soon".
Author: ??, zbyszek@unccvax.ucc.edu
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: ieeetest.zoo
Where: in C-numanal on usc.edu
Author: Stephen L. Moshier, moshier@world.std.com
Description: includes a improved version of paranoia, and code for testing the precision of the C I/O library on floating point I/O.
Version: v1.0, October 1992
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: kalman.zoo
Where: in C-numanal on usc.edu
Author: Skip Carter (skip@taygeta.oc.nps.navy.mil)
Description: A class library for Kalman filtering
Language: C++
Version: v1.0, 6 October 1992
Name: lin_alg.shar
Where: in c++ on Netlib
Description: BLAS 1 and 2 in C++
Comments: doesn't seem to exist -- can you tell me more?
Name: lpsolve
Where: volume02 of comp.sources.reviewed
Description: very good mixed integer linear program solver
Author: Michel Berkelaar, ??
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@antares.mcs.anl.gov, and Tim Hopkins
Version: October 1985
Name: madpack
Where: Netlib, 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.tar.Z
Where: in pub ftp.cs.ucla.edu
Description: The C++ Matrix class, including a matrix implementation of the backward error propagation (backprop) algorithm for training multi-layer, feed-forward artificial neural networks
Author: E. Robert (Bob) Tisdale, edwin@cs.ucla.edu
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@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: Mrandom (version 1)
Where: Comp.sources.unix, Volume 25, Issue 23, December 1991
Systems: 4.3bsd Unix
Language: C
Author: Clark Thomborson
Version: 1, 12/91
Description: bug fix for 4.3bsd Unix random()
Comments: random number generator, 4.3bsd Unix library routine
Name: Mrandom (version 2.3)
Where: anon ftp from theory.lcs.mit.edu, directory pub/cthombor, have submitted to comp.sources.unix
Systems: 4.3bsd Unix
Language: C
Author: Clark Thomborson
Version: 2.3, 8/92
Description: bug fix for 4.3bsd Unix random(), interface to other RNGs
Comments: random number generator, 4.3bsd Unix library routine
Name: newmat
Where: volume26 of comp.sources.misc
Language: C++
Systems: Unix, MS-DOS (Borland C++)
Description: a very thorough matrix class
Author: Robert Davies (robertd@kauri.vuw.ac.nz)
Comments: Version 4 has problems with gnu g++, request v5 from 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@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@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@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@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, pa@verano.sba.ca.us
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@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@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@odin.mda.uth.tmc.edu
Version: 16 Jan 1992
Name: rktec.Z
Where: in misc on netlib
Description: computes the truncation error coefficients, tecs, of a Runge-Kutta formula, or a pair of formulas, specified in an input file.
Author: Mike Hosea (mhosea@sun.cis.smu.edu)
Version: Sep 26 14:04:23 1992
Name: rpart
Where: in general on Statlib
Description: Routines for recursive partitioning
Author: Terry Therneau, therneau@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@lll-crg.llnl.gov
Version: April 88
Name: simpack
Author: Paul A. Fishwick, fishwick@cis.ufl.edu
Description: tools for writing simulations with a EECS bias
Where: pub/simdigest/tools on bikini.cis.ufl.edu, also see tr92-022.ps.Z from cis/tech-reports/tr92
Language: C and C++ versions exist
Version: v2.0, June 1992
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@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@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@bellcore.com; Dianne Cook, dcook@fisher.rutgers.edu
Date: 25 March 1992
Comments: EDA
Name: xtrap.c.Z
Author: Bryan M. Gorman, gorman@scri.fsu.edu
Version: 28 July 1992
Descriptions: extrapolation program. Supports 6 algorithms: VBS approximants, Aitken delta-squared, Wynn epsilon algo, Wynn rho algo, Brezenski theta algo, Levin u-transform. Is dressed up as a Unix tool.
Where: pub/C-numanal on usc.edu
Name: xvgr/xmgr (open look or motif versions)
Where: /CCALMR/pub/acegr on amb4.ccalmr.ogi.edu
Systems: Unix, with either open look or motif
Description: graphics for EDA
Author: Paul J. Turner, pturner@amb4.ccalmr.ogi.edu
Versions: 2.09
* 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 into working C
using f2c, and the resulting C can often be made almost human after
some hand-editing. The weakest link of f2c is code which involves
matrices.
A pointer to f2c is at EOF. f2c is also inside Netlib, so you are
probably better off figuring out how to use Netlib.
* Other pointers:
There is a lot of interesting C source in these fields which I know nothing
about:
- signal processing
- pattern recognition, neural networks
The comp.dsp FAQ has some pointers to source code.
Please send me complete entries to include in the above index.
A lot of 3rd party source code which hooks into the S statistical package
uses computational engines written in C. With a little work you can extract
useful source from this. Look in the S directory on Statlib for more
pointers. If you find something which is remarkably useful and easy
to extract, please tell me about it.
The same phenomenon operates to some extent for the XLispStat package.
Look around on the umnstat.stat.umn.edu site.
* Interesting sites:
If you don't have ftp access, send email to ftpmail@decwrl.dec.com
saying "help". You will get instructions on how to do ftp via email.
source-code newsgroups:
ftp.uu.net
f2c:
research.att.com
prep.ai.mit.edu
Netlib:
netlib@ornl.gov is a mail server useful for the US
research.att.com
ci.cs.uow.edu.au (130.130.64.3)
lanl.gov (ornl.gov?) in pub/clamsx/MATH.SOFTWARE
netlib@unix.hensa.ac.uk is a mail server useful for UK/Europe.
Statlib:
lib.stat.cmu.edu (as statlib)
dmssyd.syd.dms.csiro.au (130.155.96.1)
others:
qiclab.scn.rain.com has a small collection in pub/math, including
fft stuff not listed above
* Credits
The following people helped me put this index together:
Bardo Muller bardo@gonzales.ief-paris-sud.fr
David E. Stewart des@thrain.anu.edu.au
Skip Carter skip@taygeta.oc.nps.navy.mil
John Gregory jwg@db.cray.com
John Eaton jwe@che.utexas.edu
P. G. Hamer P.G.Hamer@bnr.co.uk
Of course, we owe infinite gratitude to the authors themselves, for
making their work available in the public domain.
--
Ajay Shah, (213)749-8133, ajayshah@usc.edu
Technical Details
Message-ID:
<1ct1vcINN6l6@almaak.usc.edu>Path:
arc1-ca.pugleaf.net!sparky!uunet!hela.iti.org!usc!usc!not-for-mailReferences:
<1992Oct30.190809.19544@news.columbia.edu>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!sparky!uunet!hela.iti.org!usc!usc!not-for-mail From: ajayshah@almaak.usc.edu (Ajay Shah) Newsgroups: sci.math.num-analysis Subject: Re: Looking for C-routines for Cholesky factorization Date: 30 Oct 1992 20:27:24 -0800 Organization: University of Southern California, Los Angeles, CA Lines: 472 Distribution: inet Message-ID: <1ct1vcINN6l6@almaak.usc.edu> References: <1992Oct30.190809.19544@news.columbia.edu> NNTP-Posting-Host: almaak.usc.edu