home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / comp / lang / c / 13546 < prev    next >
Encoding:
Internet Message Format  |  1992-09-11  |  13.4 KB

  1. Xref: sparky comp.lang.c:13546 comp.lang.c++:13540 sci.math.num-analysis:2693
  2. Path: sparky!uunet!usc!usc!not-for-mail
  3. From: ajayshah@usc.edu
  4. Newsgroups: comp.lang.c,comp.lang.c++,sci.math.num-analysis
  5. Subject: Index of free C or C++ source code for numerical computation
  6. Date: 11 Sep 1992 11:33:29 -0700
  7. Organization: University of Southern California, Los Angeles, CA, US
  8. Lines: 392
  9. Sender: ajayshah@almaak.usc.edu
  10. Distribution: world
  11. Message-ID: <18qoppINNgoo@almaak.usc.edu>
  12. Reply-To: ajayshah@usc.edu
  13. NNTP-Posting-Host: almaak.usc.edu
  14. Keywords: source code, numerical statistical scientific computation
  15.  
  16.  
  17. Welcome to $Revision: 1.1 $ of the index of free source code for
  18. numerical computation written in either of C or C++.  The most
  19. recent version of this file may be found in netlib/c/free-c.
  20.  
  21. Table of Contents:
  22.  
  23. * Explanations of fields
  24. * The index
  25. * f2c
  26. * Other pointers
  27. * Interesting sites
  28. * Credits
  29.  
  30. The index is biased towards fields I work in.
  31. Please send me suggestions, corrections and improvements.
  32.  
  33.         -Ajay Shah, Ajay_Shah@rand.org
  34.         $Date: 1992/07/28 13:08:31 $
  35.  
  36.  
  37. * Explanations of fields
  38.  
  39. Name        if the archive has a obvious name, then that is shown.
  40.             Otherwise I invent something sensible.
  41. Where       is a pointer into a ftp site, or sufficient information to
  42.             figure that out.  The information at EOF may enlighten
  43.             you if you are still stuck.
  44. Systems     If it does not run on "almost any computer on earth", a
  45.             list of systems is shown.
  46. Language    If it's not ANSI C, then the language is shown.  The
  47.             alternatives are K&R and C++.
  48. Author      I try to give the name(s) and email addresses.  Sometimes the
  49.             email address is a contact person, even if it's not the author.
  50. Version     This tries to identify a most-recent version and gives it's date.
  51. Description A one-line description
  52. Comments    Are a few keywords thrown in to help you egrep.
  53.  
  54. Many things are incomplete; please tell me of anything which hurts
  55. your eyes.  Please point me to goodies I've overlooked.  If you have
  56. source code which may be of wide interest, please make it available to
  57. the net.
  58.  
  59.  
  60. * The index
  61.  
  62. Name: SPARSE
  63. Where: in sparse on Netlib
  64. Description: library for LU factorisation for large sparse matrices 
  65. Author: Ken Kundert, Alberto Sangiovanni-Vincentelli, sparse@ic.berkeley.edu
  66.  
  67. Name: XLispStat
  68. Where: pub/xlispstat on umnstat.stat.umn.edu
  69. Systems: Unix, Macintosh, MSW
  70. Description: a statistical package
  71. Author: Luke Tierney, luke%umnstat@umn-cs.cs.umn.edu
  72. Comments: object-oriented, EDA, graphics, lisp
  73.  
  74. Name: ajay
  75. Where: in general on Statlib
  76. Description: cholesky decomposition and drawing from MVN
  77. Author: Ajay Shah, ajayshah@usc.edu
  78. Version: 23 Sept 1991
  79.  
  80. Name: brent rootfinding, aitken-lagrange interpolation, hooke-jeeve minimiser
  81. Where: in c on Netlib
  82. Author: Oleg Keselyov, oleg@nrcbsa.bio.nrc.ca
  83. Comments: includes a vectors library.  Netlib:c++/brent has C++ version.
  84. Version: May 1991
  85.  
  86. Name: cephes
  87. Author: Stephen L. Moshier
  88. Description: extremely good library of > 100 special functions and probability densities
  89. Where: in pub/C-numanal on usc.edu, should soon appear on Netlib too
  90. Version: 2.0, April 1987
  91.  
  92. Name: dcg.shar
  93. Where: in c on Netlib
  94. Description: preconditioned conjugate gradient method
  95. Author: Mark K. Seager, seager@lll-crg.llnl.gov
  96.  
  97. Name: dtoa.c
  98. Where: in fp on Netlib
  99. Description: correctly rounded decimal <--> binary conversion
  100.  
  101. Name: fft.shar
  102. Where: in c++ on Netlib
  103. Description: radix 2 FFT
  104.  
  105. Name: fftsing
  106. Where: in edu/math/msdos/modelling on wuarchive.wustl.edu
  107. Description: FFT of extremely long series; Singleton's mixed radix algo
  108. Author: Javier Soley, FJSOLEY@UCRVM2.BITNET
  109.  
  110. Name: frac
  111. Where: in c on Netlib
  112. Description: finds rational approximation to floating point value
  113. Author: Robert Craig, AT&T Bell Labs - Naperville
  114.  
  115. Name: fromskip
  116. Where: send email to Skip Carter (address at EOF)
  117. Language: C++
  118. Description: numerical derivatives with richardson extrapolation, runge-kutta code, monte-carlo integration, fredholm and voltera integral equation solvers, etc.
  119.  
  120. Name: gaut
  121. Where: in general on Statlib
  122. Description: upper-tail probabilities on normal and t densities
  123. Author: Ajay Shah, ajayshah@usc.edu
  124. Version: 12 May 1991
  125.  
  126. Name: ga's
  127. Where: pub/galist/source-code/ga-source on ftp.aic.nrl.navy.mil (192.26.18.74)
  128. Description: many genetic algorithm optimisation libraries, all in C
  129. 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
  130.  
  131. Name: gemmw
  132. Description: a highly portable Level 3 BLAS implementation of Winograd's variant Strassen's matrix multiplication algorithm
  133. Where: in misc on Netlib
  134. Author: Craig C. Douglas, douglas-craig@CS.YALE.EDU
  135. Version: 22 May 1992
  136.  
  137. Name: go.c.Z
  138. Where: in C-numanal on usc.edu
  139. Description: Calculate gaussian quadrature rules.  Translation of Netlib: go/gausq.f using f2c with some hand-cleaning.  You need a log gamma function.
  140. Comments: numerical integration
  141.  
  142. Name: in-spice
  143. Where: part of Spice.  SPICE3E1 is free, SPICE3E2 is not-free less-buggy.
  144. Description: files src/lib/ni/ni{integ,comcof}.c are first- (backward euler) and second- (trapezoidal) order integrator and a >6 order GEAR.
  145.  
  146. Name: lin_alg.shar
  147. Where: in c++ on Netlib
  148. Description: BLAS 1 and 2 in C++
  149.  
  150. Name: lpsolver
  151. Where: volume02 of comp.sources.reviewed (Real Soon Now)
  152. Description: very good mixed integer linear problem solver
  153. Author:
  154. 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).
  155.  
  156. Name: machar
  157. Where: in misc on Netlib
  158. Description: find out properties of floating point hardware
  159. Author: William J. Cody, cody@antares.mcs.anl.gov, and Tim Hopkins
  160. Version: October 1985
  161.  
  162. Name: madpack
  163. Where: in pdes/madpack/c
  164. DescriptioN: multigrid/aggregation/diaggregation package for PDEs
  165.  
  166. Name: matrix.tar.Z
  167. Where: in ftp-raimund/pub/src/Math on nestroy.wu-wien.ac.at (137.208.3.4)
  168. Author: Paul Schmidt, TI
  169. Description: Small matrix library, including SOR, WLS
  170.  
  171. Name: matrix04.zip
  172. Where: in mirrors/msdos/c on wuarchive.wustl.edu
  173. Description: Small matrix toolbox
  174.  
  175. Name: matrix++
  176. Where: some site in UCLA
  177. Description: a recently released C++ matrix class
  178.  
  179. Name: meschach
  180. Where: in c/meschach on netlib
  181. Systems: Unix, PC
  182. Description: a library for matrix computation; more functionality than Linpack; nonstandard matrices
  183. Author: David E. Stewart, des@thrain.anu.edu.au
  184. Version: 1.0, Feb 1992
  185.  
  186. Name: minit
  187. Where: volume 7 of comp.sources.misc
  188. Systems: Unix
  189. Description: linear programming by dual simplex method
  190. Author: Badri Lokanathan
  191. Version: 1.0, July 1989
  192. Comments: don't miss minit.p1
  193.  
  194. Name: newmat
  195. Where: volume26 of comp.sources.misc
  196. Language: C++
  197. Systems: Unix, MS-DOS (Turbo C++)
  198. Description: a very thorough matrix class
  199. Author:
  200. Version: v4
  201.  
  202. Name: nlmdl
  203. Where: in pub/arg/nlmdl at ccvr1.cc.ncsu.edu (128.109.212.20)
  204. Language: C++
  205. Systems: Unix, MS-DOS (Turbo C++)
  206. Description: a library for estimation of nonlinear models
  207. Author: A. Ronald Gallant, arg@ccvr1.cc.ncsu.edu
  208. Comments: nonlinear maximisation, estimation, includes a real matrix class
  209. Version: January 1991
  210.  
  211. Name: nonlinear
  212. Where: in pub on lyapunov.ucsd.edu (132.239.86.10)
  213. Language: various
  214. Description: archive of programs in nonlinear dynamics, signal processing
  215. Author: various, contact person is mbk@lyapunov.ucsd.edu (Matt Kennel)
  216.  
  217. Name: ols
  218. Where: ftp.uu.net in usenet/comp.sources.reviewed/volume01/ols
  219. Systems: almost anything, but it's most useful under Unix
  220. Description: A small linear regression package dressed as a Unix tool
  221. Author: Ajay Shah, ajayshah@usc.edu
  222. Version: v1.00, late 1991
  223.  
  224. Name: p4.tar.Z
  225. Where: pub/p4 on info.mcs.anl.gov
  226. 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.
  227. Author: lusk@mcs.anl.gov
  228. Version: July 28, 1992
  229.  
  230. Name: paranoia
  231. Where: research.att.com in dist
  232. Systems: Unix
  233. Description: exercise the edges of your floating point implementation
  234.  
  235. Name: pca
  236. Where: in multi on Statlib
  237. Description: principal component analysis
  238.  
  239. Name: perlman
  240. Where: in misc on Netlib
  241. Description: normal, chi-squared and F distributions
  242. Author: Gary Perlman
  243.  
  244. Name: pierreQP.tar.Z
  245. Where: in C-numanal on usc.edu
  246. Author: Pierre Asselin
  247. Description: Extremely good package for calculation of gaussian quadrature rules
  248. Comments: numerical integration
  249.  
  250. Name: pinv
  251. Where: in dhlib on elib.ZIB-Berlin.de
  252. Description: cholesky decomp. for possibly rank-deficient PD matrices, householder
  253.  
  254. Name: polyfit.tar.Z
  255. Description: fit polynomials to data
  256. Where: in ftp-raimund/pub/src/Math on nestroy.wu-wien.ac.at (137.208.3.4)
  257. Author: Ted Stefanik, ted@adelie.Adelie.COM
  258. Version: 8 August 1989
  259.  
  260. Name: praxis
  261. Where: in math on Simtel
  262. Description: derivative-free maximisation
  263. Version: July 1987
  264.  
  265. Name: presto
  266. Where: ??
  267. Description: C++ routines for (simulating?) parallel programming
  268.  
  269. Name: random
  270. Where: bsd-sources/src/lib/libc/gen on gatekeeper.dec.com
  271. Description: the BSD C library random number generator
  272.  
  273. Name: random-c
  274. Where: in c on Simtel
  275. Description: portable, good random number generator
  276.  
  277. Name: ranpm
  278. Where: in prog/libraries on nuri.inria.fr (128.93.1.26)
  279. Where: also in volume5 of comp.sources.misc in "random"
  280. Description: the Park-Miller "minimal standard" random-number generator
  281. Author: Ajay Shah, ajayshah@usc.edu
  282. Version: February 1992
  283. Comments: there are several other independent implementations, all are quite alike
  284.  
  285. Name: ranlib-c
  286. Where: pub/unix on odin.mda.uth.tmc.edu or in general on Statlib
  287. Description: large library for random variate generation from many univariate and multivariate distributions
  288. Author: Barry Brown, bwb@odin.mda.uth.tmc.edu
  289. Version: 16 Jan 1992
  290.  
  291. Name: rpart
  292. Where: in general on Statlib
  293. Description: Routines for recursive partitioning
  294. Author: Terry Therneau, therneau@mayo.edu
  295. Version: Feb 1991
  296.  
  297. Name: sge.shar
  298. Where: in c on Netlib
  299. Description: Linpack functions geco, gefa, gesl and a little of BLAS; nonstandard matrices
  300. Author: Mark K. Seager, seager@lll-crg.llnl.gov
  301. Version: April 88
  302.  
  303. Name: smooth.tar.Z
  304. Description: Unix tool for smoothing
  305. Where: in ftp-raimund/pub/src/Math on nestroy.wu-wien.ac.at (137.208.3.4)
  306. Author: Bill Davidsen (davisen@crd.ge.com)
  307. Version: v1.9, 15 Aug 1989
  308.  
  309. Name: spline
  310. Where: in misc on Netlib
  311. Description: splines under tension, dressed as a Unix tool
  312. Author: J. R. Van Zandt and A. K. Cline
  313.  
  314. Name: submit1
  315. Where: in jcgs on Statlib
  316. Description: damped convex minorant algorithm
  317. Author: David Eberly, eberly@cs.unc.edu
  318. Version: May 1992
  319.  
  320. Name: totinfo
  321. Where: in volume7 of comp.sources.misc
  322. Description: info statistic and chi-square for 2-D contingency tables
  323. Date: August 1989
  324.  
  325. Name: vspline
  326. Where: in gcv on Netlib
  327. Description: non-parametric estimate of a smooth vector-valued function from noisy data
  328. Author: Jeff Fessler
  329. Comments: splines
  330.  
  331. Name: xgobi
  332. Systems: Unix, needs X Windows
  333. Description: a data analysis package emphasising graphical data exploration
  334. Author: Debby Swayne, dfs@bellcore.com; Dianne Cook, dcook@fisher.rutgers.edu
  335. Versions: 25 March 1992
  336. Comments: EDA
  337.  
  338. Name: xvgr/xmgr (open look or motif versions)
  339. Where: pub/grtool on ese3.ese.ogi.edu
  340. Systems: Unix, with either open look or motif
  341. Description: graphics for EDA
  342. Author: Paul J. Turner, pturner@ese.ese.ogi.edu
  343. Versions: 2.0?
  344.  
  345.  
  346. * f2c
  347.  
  348. In case you had not already noticed it: a public domain, industrial
  349. strength, fortran-to-C translator named f2c exists.  It has one great
  350. strength and one great weakness: "It is a true compiler".  Thus the
  351. code generated always "works", at the price of frequently looking like
  352. fortran.
  353.  
  354. A lot of useful fortran libraries can readily be turned into working C
  355. using f2c, and the resulting C can often be made almost human after
  356. some hand-editing.  The weakest link of f2c is code which involves
  357. matrices.
  358.  
  359. A pointer to f2c is at EOF.
  360.  
  361.  
  362. * Other pointers:
  363.  
  364. There is a lot of interesting C source in these fields which I know nothing
  365. about:
  366.         - signal processing
  367.         - pattern recognition, neural networks
  368. Please send me complete entries to include in the above index.
  369.  
  370. A lot of 3rd party source code which hooks into the S statistical package
  371. uses computational engines written in C.  With a little work you can extract
  372. useful source from this.  Look in the S directory on Statlib for more
  373. pointers.  If you find something which is remarkably useful and easy
  374. to extract, please tell me about it.
  375.  
  376. The same phenomenon operates to some extent for the XLispStat package.
  377. Look around on the umnstat.stat.umn.edu site.
  378.  
  379.  
  380. * Interesting sites:
  381.  
  382. source-code newsgroups:
  383.         ftp.uu.net
  384. f2c:
  385.         research.att.com
  386.         prep.ai.mit.edu
  387. Netlib:
  388.         research.att.com
  389.         ci.cs.uow.edu.au (130.130.64.3)
  390.         lanl.gov (ornl.gov?) in pub/clamsx/MATH.SOFTWARE
  391. Statlib:
  392.         lib.stat.cmu.edu (as statlib)
  393.         dmssyd.syd.dms.csiro.au (130.155.96.1)
  394. others:
  395.         qiclab.scn.rain.com has a small collection in pub/math, including
  396.             fft stuff not listed above
  397.  
  398.  
  399. * Credits
  400.  
  401. The following people helped me put this index together:
  402.  
  403. Bardo Muller                    bardo@gonzales.ief-paris-sud.fr 
  404. David E. Stewart                des@thrain.anu.edu.au 
  405. Skip Carter                     skip@taygeta.oc.nps.navy.mil
  406. -- 
  407. Ajay Shah, (213)749-8133, ajayshah@usc.edu
  408.