The Forth Scientific Library

The complete library and auxiliary files: Gnu-zipped TAR file.

In order of Algorithm number:

1. Real Exponential Integral (ACM #20), V1.1.
2. Complete Elliptic Integral (ACM #149), V1.2.
3. Polynomial evaluation by the Horner method, V1.5.
4. Logistic function and its first derivative, V1.2.
5. Cube root of real number by Newton's method, V1.2.
6. Solution of cubic equations with real coefficients, V 10/6/94.
7. Regula Falsi root finder, V1.0.
8. Fast Hartley (Bracewell) Transform, V1.3.
9. Aitken interpolation (ACM #70), V1.1.2.
10. Hermite interpolation (ACM #211), V1.2.
11. Lagrange interpolation (ACM #210), V1.2.
12. Forward and Backward divided differences, V1.3.
13. Newton interpolation (ACM #168 & #169), V1.4 (requires divided differences).
14. Factorial function, V1.1.
15. Shell sort for floating point arrays, V1.3.
16. Exponentiation of a series (ACM #158), V1.3.
17. Polynomial and Rational function interpolation and extrapolation, V1.2.
18. The Gamma, LogGamma and reciprocal Gamma functions (real args), V1.2.
19. Adaptive Integration using Trapezoid rule, V1.1.
20. Parabolic Cylinder functions and related Confluent Hypergeometric functions, V1.1.
21. Special Polynomial (Chebyshev, Hermite, Laguerre, Generalized Laguerre, Legendre and Bessel) Evaluation, V1.1.
22. Conversion between calendar date and Julian day (ACM #199), V1.2.
23. R250 (also minimal standard) Pseudo-random number generator, V1.5.
24. RAN4 Pseudo-random number generator, V1.1.
25. Finite segment of Hilbert Matrices, their inverses and determinants,V1.1.
26. FIND nth element of an unsorted array (ACM #65), V1.0.
27. Gauss-Legendre Integration, V1.1.
28. Complete Elliptic Integrals of the first and second kinds (ACM #55 and #56), V1.1.
29. 4th order and adaptive Runge-Kutta solvers for systems of ODEs, V1.2.
30. Complete Elliptic Integrals of the first and second kinds (ACM #165), V1.2.
31. Telescope 1 (reduction of degree of polynomial approximations) (ACM #37)
32. Telescope 2 (reduction of degree of polynomial approximations) (ACM #38)
33. LUFACT, LU Factorization of square matrices
34. Determinant of an LU factored matrix
35. Back-substitution solution for LU factored linear systems
36. Inverse of an LU factored matrix
37. Direct Fourier Transforms (four methods)
38. Radix-2 Fast Fourier Transform routines (five methods)
39. Singular Value Decomposition
40. Amoeba -- Multidimensional Simplex minimization of a function
41. Sunday Quicksearch
42. Gauss probability function (ACM #209)
43. Regular spherical Bessel functions jn(x), n=0-9
44. 16-bit Cyclic Redundancy Checksums
45. Simpsons rule and Romberg algorithm Quadrature routines
46. Basic arithmetic and conversions for rational numbers
47. BIG -- Arithmetic on big signed magnitude numbers (updated May 1999)
48. Gauss Jordan Elimination,V1.2.
49. Levenberg-Marquardt nonlinear fit
50. Fast Walsh Transform
51. Random Number distributions
52. ISAAC Random Number generator
53. Adaptive integration using trapezoidal rule with Richardson extrapolation
54. Adaptive integration using 3 point Gauss-Legendre with Richardson extrapolation
55. shanks, Nonlinear transformation of series (ACM Algorithm #215)
56. Quaternions and rotation matrices
57. GGUBS floating point random number generator
58. One-dimensional Monte-Carlo integration
59. Permutations and combinations
60. Complex numbers and functions,V1.0.3
61. Laguerre algorithm for polynomial roots
62. Error functions
63. Roots of a real quadratic
64. Medium accuracy error function
65. Complete and incomplete gamma and beta functions

By Algorithm category:

Special Functions

4. Logistic function and its first derivative.
14. Factorial function.
18. The Gamma, LogGamma and reciprocal Gamma functions (real args).
20. Parabolic Cylinder functions and related Confluent Hypergeometric functions.
42. Gauss probability function (ACM #209)
43. Regular spherical Bessel functions jn(x), n=0-9
62. Error functions
64. Medium accuracy error function
65. Complete and incomplete gamma and beta functions

Special Integrals

1. Real Exponential Integral (ACM #20).
2. Complete Elliptic Integral (ACM #149).
28. Complete Elliptic Integrals of the first and second kinds (ACM #55 and #56), V1.1.
30. Complete Elliptic Integrals of the first and second kinds (ACM #165), V1.2.

Interpolators

9. Aitken interpolation (ACM #70).
10. Hermite interpolation (ACM #211).
11. Lagrange interpolation (ACM #210).
13. Newton interpolation (ACM #168 & #169) (requires divided differences).
17. Polynomial and Rational function interpolation and extrapolation.

Integrators

19. Adaptive Integration using Trapezoid rule, V1.1.
27. Gauss-Legendre Integration, V1.1.
45. Simpsons rule and Romberg algorithm Quadrature routines
53. Adaptive integration using trapezoidal rule with Richardson extrapolation
54. Adaptive integration using 3 point Gauss-Legendre with Richardson extrapolation
58. One-dimensional Monte-Carlo integration

Polynomial/Power series algorithms

3. Polynomial evaluation by the Horner method.
16. Exponentiation of a series (ACM #158).
17. Polynomial and Rational function interpolation and extrapolation.
21. Special Polynomial (Chebyshev, Hermite, Laguerre, Generalized Laguerre, Legendre and Bessel) Evaluation.
31. Telescope 1 (reduction of degree of polynomial approximations) (ACM #37)
32. Telescope 2 (reduction of degree of polynomial approximations) (ACM #38)
55. shanks, Nonlinear transformation of series (ACM Algorithm #215)
61. Laguerre algorithm for polynomial roots
63. Roots of a real quadratic

Transforms

8. Fast Hartley (Bracewell) Transform.
37. Direct Fourier Transforms (four methods)
38. Radix-2 Fast Fourier Transform routines (five methods)
50. Fast Walsh Transform

Matrix algorithms

25. Finite segment of Hilbert Matrices, their inverses and determinants,V1.1.
33. LUFACT, LU Factorization of square matrices
34. Determinant of an LU factored matrix
35. Back-substitution solution for LU factored linear systems
36. Inverse of an LU factored matrix
39. Singular Value Decomposition
48. Gauss Jordan Elimination,V1.2.
56. Quaternions and rotation matrices

Random numbers and related

23. R250 (also minimal standard) Pseudo-random number generator.
24. RAN4 Pseudo-random number generator, V1.1.
51. Random Number distributions
52. ISAAC Random Number generator
57. GGUBS floating point random number generator

Miscellaneous algorithms

5. Cube root of real number by Newton's method.
6. Solution of cubic equations with real coefficients.
7. Regula Falsi root finder.
12. Forward and Backward divided differences.
15. Shell sort for floating point arrays.
22. Conversion between calendar date and Julian day (ACM #199).
26. FIND nth element of an unsorted array (ACM #65), V1.0.
29. 4th order and adaptive Runge-Kutta solvers for systems of ODEs, V1.2.
40. Amoeba -- Multidimensional Simplex minimization of a function
41. Sunday Quicksearch
44. 16-bit Cyclic Redundancy Checksums
46. Basic arithmetic and conversions for rational numbers
47. BIG -- Arithmetic on big signed magnitude numbers (updated May 1999)
49. Levenberg-Marquardt nonlinear fit
59. Permutations and combinations
60. Complex numbers and functions, V1.0.3
  

Auxiliary code

 

Please note that the auxiliary files do not go through the reviewing process used for the Library Algorithms. They have been contributed by various authors in the hope they will be of use to some Library users. In particular, some may have dependencies on particular systems or implementations.

FSL auxiliary code by Skip Carter
for F-PC, ThisForth, or GFORTH
FSL auxiliary code from Krishna Myneni suitable for either
PFE or Gforth
FSL auxiliary code by Pierre Abbat, revised by Marcel Hendrix,
for Win32For
FSL auxiliary code for Julian Noble's contributions.
ttester for the testing of Forth words, based on the Hayes suite
and subsequently extended by several authors, and
ttester-xf, a revision by David N. Williams
with new relative error comparisons suggested by Krishna Myneni.
Links to related utilities are included.
Complex number testing code for the words in Algorithm 60, V1.0.3.
A set of syntactically equivalent complex number implementations
by Skip Carter, using
the float stack
a separate complex number stack.
data structures.
data structures and a complex number stack.
Some complex number operations by Skip Carter
dynamic memory package for arrays and structures.
extra double precision words (used by ThisForth).
Supplemental Hartley Transform Utilities and Tests.
ASCII file I/O utility words.
Structures package.
supplemental Quaternion code for Win32Forth


<-- Back to Forth Scientific Library page.