home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / lang / c / 17059 < prev    next >
Encoding:
Internet Message Format  |  1992-11-23  |  18.3 KB

  1. Path: sparky!uunet!usc!usc!not-for-mail
  2. From: ajayshah@almaak.usc.edu (Ajay Shah)
  3. Newsgroups: comp.lang.c
  4. Subject: Re: Looking for public domain math software
  5. Date: 23 Nov 1992 13:21:38 -0800
  6. Organization: University of Southern California, Los Angeles, CA
  7. Lines: 511
  8. Message-ID: <1eri12INNi1v@almaak.usc.edu>
  9. References: <98834@netnews.upenn.edu> <1992Nov23.181838.15228@linus.mitre.org>
  10. NNTP-Posting-Host: almaak.usc.edu
  11.  
  12.  
  13. Welcome to $Revision: 1.5 $ of the index of free source code for
  14. numerical computation written in either of C or C++.
  15. This file is also stored on netlib, it's c/free-c.
  16.  
  17. Table of Contents:
  18.  
  19. * Explanations of fields
  20. * The index
  21. * f2c
  22. * Other pointers
  23. * Interesting sites
  24. * Credits
  25.  
  26. The index is biased towards fields I work in.
  27. Please send me suggestions, corrections and improvements.
  28.  
  29.         -Ajay Shah, ajayshah@usc.edu
  30.         $Date: 1992/11/05 00:58:47 $
  31.  
  32.  
  33. * Explanations of fields
  34.  
  35. Name        if the archive has a obvious name, then that is shown.
  36.             Otherwise I invent something sensible.
  37. Where       is a pointer into a ftp site, or sufficient information to
  38.             figure that out.  The information at EOF may enlighten
  39.             you if you are still stuck.
  40. Systems     The default is Unix.  If it runs on other systems this is shown,
  41.             if it does NOT run on Unix this is shown.
  42. Language    The default is ANSI C.  The alternatives are K&R and C++.
  43. Author      I try to give the name(s) and email addresses.  Sometimes the
  44.             email address is a contact person, even if it's not the author.
  45. Version     This tries to identify a most-recent version and gives it's date.
  46. Description A one-line description
  47. Comments    Are a few keywords thrown in to help you egrep.
  48.  
  49. Many things are incomplete; please tell me of anything which hurts
  50. your eyes.  Please point me to goodies I've overlooked.  If you have
  51. source code which may be of wide interest, please make it available to
  52. the net.
  53.  
  54.  
  55. * The index
  56.  
  57. Name: BSDmath
  58. Where: e.g. agate.berkeley.edu
  59. Description: BSD implementation of math.h
  60.  
  61. Name: BigNum
  62. Where: mail to librarian@decprl.dec.com or serpette@inria.inria.inria.fr
  63. Systems: Unix
  64. Description: Arbitrary Precision Integer Arithmetic
  65. Author: Serpette, Vuillemin, Jean-Claude Herve 
  66. Version: ??
  67. Comments:  Excellent. very fast. possible problems with unalloc call. 
  68.  
  69. Name: SPARSE
  70. Where: in sparse on Netlib
  71. Description: library for LU factorisation for large sparse matrices 
  72. Author: Ken Kundert, Alberto Sangiovanni-Vincentelli, sparse@ic.berkeley.edu
  73.  
  74. Name: XLispStat
  75. Where: pub/xlispstat on umnstat.stat.umn.edu
  76. Systems: Unix, Macintosh, MSW
  77. Description: a statistical package
  78. Author: Luke Tierney, luke%umnstat@umn-cs.cs.umn.edu
  79. Version: ??
  80. Comments: object-oriented, EDA, graphics, lisp
  81.  
  82. Name: ajay
  83. Where: in general on Statlib
  84. Description: cholesky decomposition and drawing from MVN
  85. Author: Ajay Shah, ajayshah@usc.edu
  86. Version: 23 Sept 1991
  87.  
  88. Name: brent rootfinding, aitken-lagrange interpolation, hooke-jeeve minimiser
  89. Where: in c on Netlib
  90. Author: Oleg Keselyov, oleg@nrcbsa.bio.nrc.ca
  91. Comments: includes a vectors library.  Netlib:c++/brent has C++ version.
  92. Version: May 1991
  93.  
  94. Name: cephes
  95. Author: Stephen L. Moshier, moshier@world.std.com
  96. 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.
  97. Where: in pub/C-numanal on usc.edu, should soon appear on Netlib too
  98. Version: 2.2, June 1992
  99.  
  100. Name: dcg.shar
  101. Where: in c on Netlib
  102. Description: preconditioned conjugate gradient method
  103. Author: Mark K. Seager, seager@lll-crg.llnl.gov
  104.  
  105. Name: dddd
  106. Where: in pub/dddd on madvax.uwa.edu.au
  107. Description: dynamical data determinism detector.  works with OW3.
  108. Version: 21 Oct 1992
  109. Author: Dave Watson, watson@maths.uwa.edu.au
  110.  
  111. Name: dstool
  112. Where: in ?? on macomb.tn.cornell.edu
  113. Description: dynamical systems simulation package (xview3 and ow3)
  114. Author: ??
  115. Version: 1.1
  116.  
  117. Name: dtoa.c
  118. Where: in fp on Netlib
  119. Description: correctly rounded decimal <--> binary conversion
  120.  
  121. Name: fft.shar
  122. Where: in c++ on Netlib
  123. Description: radix 2 FFT
  124.  
  125. Name: fftsing
  126. Where: in edu/math/msdos/modelling on wuarchive.wustl.edu
  127. Description: FFT of extremely long series; Singleton's mixed radix algo
  128. Author: Javier Soley, FJSOLEY@UCRVM2.BITNET
  129.  
  130. Name: frac
  131. Where: in c on Netlib
  132. Description: finds rational approximation to floating point value
  133. Author: Robert Craig, AT&T Bell Labs - Naperville
  134.  
  135. Name: fromskip
  136. Where: send email to Skip Carter (address at EOF)
  137. Language: C++
  138. Description: numerical derivatives with richardson extrapolation, runge-kutta code, monte-carlo integration, fredholm and voltera integral equation solvers, etc.
  139.  
  140. Name: fudgit
  141. Author: Martin-D. Lacasse, isaac@physics.mcgill.ca
  142. Where: from ftp.physics.mcgill.ca
  143. Description: C-based fitting and data manipulation program (works on top of gnuplot).  Gives you a C-like interpreted script language.
  144. Systems: Unix only.
  145.  
  146. Name: gaut
  147. Where: in general on Statlib
  148. Description: upper-tail probabilities on normal and t densities
  149. Author: Ajay Shah, ajayshah@usc.edu
  150. Version: 12 May 1991
  151.  
  152. Name: ga's
  153. Where: pub/galist/source-code/ga-source on ftp.aic.nrl.navy.mil (192.26.18.74)
  154. Description: many genetic algorithm optimisation libraries, all in C
  155. 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
  156.  
  157. Name: gemmw
  158. Description: a highly portable Level 3 BLAS implementation of Winograd's variant Strassen's matrix multiplication algorithm
  159. Where: in misc on Netlib
  160. Author: Craig C. Douglas, douglas-craig@CS.YALE.EDU
  161. Version: 22 May 1992
  162.  
  163. Name: genocop
  164. Where: in ?? unccsun.uncc.edu (152.15.10.88)
  165. 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".
  166. Author: ??, zbyszek@unccvax.ucc.edu
  167.  
  168. Name: go.c.Z
  169. Where: in C-numanal on usc.edu
  170. Description: Calculate gaussian quadrature rules.  Translation of Netlib: go/gausq.f using f2c with some hand-cleaning.  You need a log gamma function.
  171. Comments: numerical integration
  172.  
  173. Name: ieeetest.zoo
  174. Where: in C-numanal on usc.edu
  175. Author: Stephen L. Moshier, moshier@world.std.com
  176. Description: includes a improved version of paranoia, and code for testing the precision of the C I/O library on floating point I/O.
  177. Version: v1.0, October 1992
  178.  
  179. Name: in-spice
  180. Where: part of Spice.  SPICE3E1 is free, SPICE3E2 is not-free less-buggy.
  181. Description: files src/lib/ni/ni{integ,comcof}.c are first- (backward euler) and second- (trapezoidal) order integrator and a >6 order GEAR.
  182.  
  183. Name: kalman.zoo
  184. Where: in C-numanal on usc.edu
  185. Author: Skip Carter (skip@taygeta.oc.nps.navy.mil)
  186. Description: A class library for Kalman filtering
  187. Language: C++
  188. Version: v1.0, 6 October 1992
  189.  
  190. Name: lin_alg.shar
  191. Where: in c++ on Netlib
  192. Description: BLAS 1 and 2 in C++
  193. Comments: doesn't seem to exist -- can you tell me more?
  194.  
  195. Name: lpsolve
  196. Where: volume02 of comp.sources.reviewed
  197. Description: very good mixed integer linear program solver
  198. Author: Michel Berkelaar, ??
  199. 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).
  200.  
  201. Name: machar
  202. Where: in misc on Netlib
  203. Description: find out properties of floating point hardware
  204. Author: William J. Cody, cody@antares.mcs.anl.gov, and Tim Hopkins
  205. Version: October 1985
  206.  
  207. Name: madpack
  208. Where: Netlib, in pdes/madpack/c
  209. DescriptioN: multigrid/aggregation/diaggregation package for PDEs
  210.  
  211. Name: matrix.tar.Z
  212. Where: in ftp-raimund/pub/src/Math on nestroy.wu-wien.ac.at (137.208.3.4)
  213. Author: Paul Schmidt, TI
  214. Description: Small matrix library, including SOR, WLS
  215.  
  216. Name: matrix04.zip
  217. Where: in mirrors/msdos/c on wuarchive.wustl.edu
  218. Description: Small matrix toolbox
  219.  
  220. Name: Matrix.tar.Z
  221. Where: in pub ftp.cs.ucla.edu
  222. 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
  223. Author: E. Robert (Bob) Tisdale, edwin@cs.ucla.edu
  224.  
  225. Name: meschach
  226. Where: in c/meschach on netlib
  227. Systems: Unix, PC
  228. Description: a library for matrix computation; more functionality than Linpack; nonstandard matrices
  229. Author: David E. Stewart, des@thrain.anu.edu.au
  230. Version: 1.0, Feb 1992
  231.  
  232. Name: minit
  233. Where: volume 7 of comp.sources.misc
  234. Systems: Unix
  235. Description: linear programming by dual simplex method
  236. Author: Badri Lokanathan
  237. Version: 1.0, July 1989
  238. Comments: don't miss minit.p1
  239.  
  240. Name: Mrandom (version 1)
  241. Where: Comp.sources.unix, Volume 25, Issue 23, December 1991
  242. Systems: 4.3bsd Unix
  243. Language: C
  244. Author: Clark Thomborson
  245. Version: 1, 12/91
  246. Description: bug fix for 4.3bsd Unix random()
  247. Comments: random number generator, 4.3bsd Unix library routine
  248.  
  249. Name: Mrandom (version 2.3)
  250. Where: anon ftp from theory.lcs.mit.edu, directory pub/cthombor, have submitted to comp.sources.unix
  251. Systems: 4.3bsd Unix
  252. Language: C
  253. Author: Clark Thomborson
  254. Version: 2.3, 8/92
  255. Description: bug fix for 4.3bsd Unix random(), interface to other RNGs
  256. Comments: random number generator, 4.3bsd Unix library routine
  257.  
  258. Name: newmat
  259. Where: volume26 of comp.sources.misc
  260. Language: C++
  261. Systems: Unix, MS-DOS (Borland C++)
  262. Description: a very thorough matrix class
  263. Author: Robert Davies (robertd@kauri.vuw.ac.nz)
  264. Comments: Version 4 has problems with gnu g++, request v5 from author
  265. Version: v4
  266.  
  267. Name: nlmdl
  268. Where: in pub/arg/nlmdl at ccvr1.cc.ncsu.edu (128.109.212.20)
  269. Language: C++
  270. Systems: Unix, MS-DOS (Turbo C++)
  271. Description: a library for estimation of nonlinear models
  272. Author: A. Ronald Gallant, arg@ccvr1.cc.ncsu.edu
  273. Comments: nonlinear maximisation, estimation, includes a real matrix class
  274. Version: January 1991
  275.  
  276. Name: nonlinear
  277. Where: in pub on lyapunov.ucsd.edu (132.239.86.10)
  278. Language: various
  279. Description: archive of programs in nonlinear dynamics, signal processing
  280. Author: various, contact person is mbk@lyapunov.ucsd.edu (Matt Kennel)
  281.  
  282. Name: nurbs.tar.Z
  283. Where: in /pub/misc/unix/nurbs/nurbs.tar.Z on unix.hensa.ac.uk
  284. Author: W. T. Hewitt et.al.
  285. Description: Data structures and procedures for creation and manipulation of B-Spline curves and surfaces.    
  286.  
  287. Name: ols
  288. Where: ftp.uu.net in usenet/comp.sources.reviewed/volume01/ols
  289. Systems: almost anything, but it's most useful under Unix
  290. Description: A small linear regression package dressed as a Unix tool
  291. Author: Ajay Shah, ajayshah@usc.edu
  292. Version: v1.00, late 1991
  293.  
  294. Name: p4.tar.Z
  295. Where: pub/p4 on info.mcs.anl.gov
  296. 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.
  297. Author: lusk@mcs.anl.gov
  298. Version: July 28, 1992
  299.  
  300. Name: paranoia
  301. Where: research.att.com in dist
  302. Systems: Unix
  303. Description: exercise the edges of your floating point implementation
  304.  
  305. Name: pca
  306. Where: in multi on Statlib
  307. Description: principal component analysis
  308.  
  309. Name: perlman
  310. Where: in misc on Netlib
  311. Description: normal, chi-squared and F distributions
  312. Author: Gary Perlman
  313.  
  314. Name: pierreQP.tar.Z
  315. Where: in C-numanal on usc.edu
  316. Author: Pierre Asselin, pa@verano.sba.ca.us
  317. Description: Extremely good package for calculation of gaussian quadrature rules
  318. Comments: numerical integration
  319.  
  320. Name: pinv
  321. Where: in dhlib on elib.ZIB-Berlin.de
  322. Description: cholesky decomp. for possibly rank-deficient PD matrices, householder
  323.  
  324. Name: polyfit.tar.Z
  325. Description: fit polynomials to data
  326. Where: in ftp-raimund/pub/src/Math on nestroy.wu-wien.ac.at (137.208.3.4)
  327. Author: Ted Stefanik, ted@adelie.Adelie.COM
  328. Version: 8 August 1989
  329.  
  330. Name: praxis
  331. Where: in math on Simtel
  332. Description: derivative-free maximisation
  333. Version: July 1987
  334.  
  335. Name: presto
  336. Where: ??
  337. Description: C++ routines for (simulating?) parallel programming
  338.  
  339. Name: random
  340. Where: bsd-sources/src/lib/libc/gen on gatekeeper.dec.com
  341. Description: the BSD C library random number generator
  342.  
  343. Name: random-c
  344. Where: in c on Simtel
  345. Description: portable, good random number generator
  346.  
  347. Name: ranpm
  348. Where: in prog/libraries on nuri.inria.fr (128.93.1.26)
  349. Where: also in volume5 of comp.sources.misc in "random"
  350. Description: the Park-Miller "minimal standard" random-number generator
  351. Author: Ajay Shah, ajayshah@usc.edu
  352. Version: February 1992
  353. Comments: there are several other independent implementations, all are quite alike
  354.  
  355. Name: ranlib-c
  356. Where: pub/unix on odin.mda.uth.tmc.edu or in general on Statlib
  357. Description: large library for random variate generation from many univariate and multivariate distributions
  358. Author: Barry Brown, bwb@odin.mda.uth.tmc.edu
  359. Version: 16 Jan 1992
  360.  
  361. Name: rktec.Z
  362. Where: in misc on netlib
  363. Description: computes the truncation error coefficients, tecs, of a Runge-Kutta formula, or a pair of formulas, specified in an input file.
  364. Author: Mike Hosea (mhosea@sun.cis.smu.edu)
  365. Version: Sep 26 14:04:23 1992
  366.  
  367. Name: robot
  368. Description: a scientific graph plotting and data analysis package
  369. Where: in pub/astrod on astrod.astro.psu.edu (128.118.147.28)
  370. Author: Robin Corbet (corbet@astro.psu.edu)
  371.  
  372. Name: rpart
  373. Where: in general on Statlib
  374. Description: Routines for recursive partitioning
  375. Author: Terry Therneau, therneau@mayo.edu
  376. Version: Feb 1991
  377.  
  378. Name: sa.zoo
  379. Where: in pub/C-numanal on usc.edu
  380. Description: library for simulated annealing
  381. Language: versions for C, C++ and Ada exist.
  382. Author: Skip Carter (skip@taygeta.oc.nps.navy.mil)
  383. Version: Tue Nov 10 12:00:42 PST 1992
  384.  
  385. Name: sge.shar
  386. Where: in c on Netlib
  387. Description: Linpack functions geco, gefa, gesl and a little of BLAS; nonstandard matrices
  388. Author: Mark K. Seager, seager@lll-crg.llnl.gov
  389. Version: April 88
  390.  
  391. Name: simpack
  392. Author: Paul A. Fishwick, fishwick@cis.ufl.edu
  393. Description: tools for writing simulations with a EECS bias
  394. Where: pub/simdigest/tools on bikini.cis.ufl.edu, also see tr92-022.ps.Z from cis/tech-reports/tr92
  395. Language: C and C++ versions exist
  396. Version: v2.0, June 1992
  397.  
  398. Name: smooth.tar.Z
  399. Description: Unix tool for smoothing
  400. Where: in ftp-raimund/pub/src/Math on nestroy.wu-wien.ac.at (137.208.3.4)
  401. Author: Bill Davidsen (davisen@crd.ge.com)
  402. Version: v1.9, 15 Aug 1989
  403.  
  404. Name: spline
  405. Where: in misc on Netlib
  406. Description: splines under tension, dressed as a Unix tool
  407. Author: J. R. Van Zandt and A. K. Cline
  408.  
  409. Name: submit1
  410. Where: in jcgs on Statlib
  411. Description: damped convex minorant algorithm
  412. Author: David Eberly, eberly@cs.unc.edu
  413. Version: May 1992
  414.  
  415. Name: totinfo
  416. Where: in volume7 of comp.sources.misc
  417. Description: info statistic and chi-square for 2-D contingency tables
  418. Date: August 1989
  419.  
  420. Name: vspline
  421. Where: in gcv on Netlib
  422. Description: non-parametric estimate of a smooth vector-valued function from noisy data
  423. Author: Jeff Fessler
  424. Comments: splines
  425.  
  426. Name: xgobi
  427. Systems: Unix, needs X Windows
  428. Description: a data analysis package emphasising graphical data exploration
  429. Author: Debby Swayne, dfs@bellcore.com; Dianne Cook, dcook@fisher.rutgers.edu
  430. Date: 25 March 1992
  431. Comments: EDA
  432.  
  433. Name: xtrap.c.Z
  434. Author: Bryan M. Gorman, gorman@scri.fsu.edu
  435. Version: 28 July 1992
  436. 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.
  437. Where: pub/C-numanal on usc.edu
  438.  
  439. Name: xvgr/xmgr (open look or motif versions)
  440. Where: /CCALMR/pub/acegr on amb4.ccalmr.ogi.edu
  441. Systems: Unix, with either open look or motif
  442. Description: graphics for EDA
  443. Author: Paul J. Turner, pturner@amb4.ccalmr.ogi.edu
  444. Versions: 2.09
  445.  
  446. * f2c
  447.  
  448. In case you had not already noticed it: a public domain, industrial
  449. strength, fortran-to-C translator named f2c exists.  It has one great
  450. strength and one great weakness: "It is a true compiler".  Thus the
  451. code generated always "works", at the price of frequently looking like
  452. fortran.
  453.  
  454. A lot of useful fortran libraries can readily be turned into working C
  455. using f2c, and the resulting C can often be made almost human after
  456. some hand-editing.  The weakest link of f2c is code which involves
  457. matrices.
  458.  
  459. A pointer to f2c is at EOF.  f2c is also inside Netlib, so you are
  460. probably better off figuring out how to use Netlib.
  461.  
  462.  
  463. * Other pointers:
  464.  
  465. There is a lot of interesting C source in these fields which I know nothing
  466. about:
  467.         - signal processing
  468.         - pattern recognition, neural networks
  469. The comp.dsp FAQ has some pointers to source code.
  470. Please send me complete entries to include in the above index.
  471.  
  472. A lot of 3rd party source code which hooks into the S statistical package
  473. uses computational engines written in C.  With a little work you can extract
  474. useful source from this.  Look in the S directory on Statlib for more
  475. pointers.  If you find something which is remarkably useful and easy
  476. to extract, please tell me about it.
  477.  
  478. The same phenomenon operates to some extent for the XLispStat package.
  479. Look around on the umnstat.stat.umn.edu site.
  480.  
  481.  
  482. * Interesting sites:
  483.  
  484. If you don't have ftp access, send email to ftpmail@decwrl.dec.com
  485. saying "help".  You will get instructions on how to do ftp via email.
  486.  
  487. source-code newsgroups:
  488.         ftp.uu.net
  489. f2c:
  490.         research.att.com
  491.         prep.ai.mit.edu
  492. Netlib:
  493.         netlib@ornl.gov is a mail server useful for the US
  494.         research.att.com
  495.         ci.cs.uow.edu.au (130.130.64.3)
  496.         lanl.gov (ornl.gov?) in pub/clamsx/MATH.SOFTWARE
  497.         netlib@unix.hensa.ac.uk is a mail server useful for UK/Europe.
  498. Statlib:
  499.         lib.stat.cmu.edu (as statlib)
  500.         dmssyd.syd.dms.csiro.au (130.155.96.1)
  501. others:
  502.         qiclab.scn.rain.com has a small collection in pub/math, including
  503.             fft stuff not listed above
  504.  
  505.  
  506. * Credits
  507.  
  508. The following people helped me put this index together:
  509.  
  510. Bardo Muller                    bardo@gonzales.ief-paris-sud.fr 
  511. David E. Stewart                des@thrain.anu.edu.au 
  512. Skip Carter                     skip@taygeta.oc.nps.navy.mil
  513. John Gregory                    jwg@db.cray.com
  514. John Eaton                      jwe@che.utexas.edu
  515. P. G. Hamer                     P.G.Hamer@bnr.co.uk
  516. Alan Magnuson                   awm@osc.edu
  517. David Rapoport                  actize@garnet.berkeley.edu
  518.  
  519. Of course, we owe infinite gratitude to the authors themselves, for
  520. making their work available in the public domain.
  521. -- 
  522. Ajay Shah, (213)749-8133, ajayshah@usc.edu
  523.