Sites in Source Code
GAMS : Guide to Available Mathematical Software
Guide to mathematical software in Fortran held at a small number of US government establishments. Some sources are in commercial libraries and are not directly accessible. The code is of a uniformly high quality but usually old; there may be more recent and better algorithms available.
Index of /pub/ger/fortran/hdk
A useful small collection of snippets of code, some of which is for non-numeric purposes, such as manipulating dates and times.
Overflow from Alan Miller's Fortran web site
Includes updates of some TOMS algorithms, logistic regression, a Fortran 90 version of the special functions from the NSWC (Naval Surface Warfare Center) Math. Library, quadruple precision using 10-byte reals for the NAS Fortran-Plus compiler giving about 38 decimal digit accuracy, and code for Imagine1's F compiler, including the author's least-squares package. F code should compile using any standard Fortran compiler.
Numerical Recipes Home Page
Home of the Numerical Recipes series of books on scientific programming, including the Numerical Recipes On-Line Software Store, free upgrades and bug fixes, and the complete books on-line in PostScript and Acrobat formats. The Numerical Recipes code in Fortran 77 and Fortran 90 is not in the public domain.
Fortran Resources (Lahey)
A collection of links provided by a vendor of Fortran compilers.
NSWC Library of Mathematics Subroutines
NSWC (Naval Surface Warfare Center) Library of Mathematics Subroutines written in Fortran 66. Old but very high quality code. Unfortunately the manual is only available in hard copy, and is very difficult to obtain. The source code is also available by ftp from: ftp://math.jpl.nasa.gov/pub/nswc.93
Free Fortran Software
A collection of useful links from the Fortran Market.
Automatic Differentiation of Fortran Codes (ADIFOR)
Given code as input, it generates code for derivatives including gradients and hessians.
Sugihara's Integer-Arithmetic Geometric Software
Geometric Software (by Kokichi Sugihara) for Voronoi diagrams in 2D and 3D, and convex hulls in 3D and 4D.
Fortran Library Links
Gary Scott's extensive collection of source code links.
Ooura's Mathematical Software Packages
Quadrature, FFT (1D & 2D), Bessel functions, and GAMERF (gamma and error functions, including quadruple precision).
Orderpack 1.0 sorting and ranking routines in Fortran 90
Public domain package by Michel Olagnon of general and specialized sorting and ranking routines in Fortran 90. Specialized routines include partial sorts, partial ranks, unique sorts, unique ranks, partial and unique sorts, as well as partial and unique ranks.
Combinatorial algorithms
Generation of subsets and permutations, Hamiltonian cycles, determinants and permanents, network flow, and minimum spanning trees.
CHIRP-Z transform for FFTs
Little known algorithm for calculating the FFT of a series of any length. Based upon Applied Statistics algorithms 117 & 83.
Alan Genz's homepage
Multi-dimensional integration, particularly for statistical applications.
F2KCLI
Implements the draft F2K standard for accessing the command line and arguments. Site answers questions and lists supported compilers and platforms.
PNNL Fortran Library (FLIB)
Mainly non-numeric library for handling text, including parsing, accessing the command line, dates and times, and some random number generation.
Tomasz Plewa's Numerical methods directory
Directory of links to numerical analysis sites, many of which contain software.
Jon Ahlquist's date manipulation code
Conversion to and from Julian dates, day-of-week and other date calculations, plus historical information. See also datesub.f90 at http://users.bigpond.net.au/amiller/
Lucent Technologies (Bell Labs.) Non-Exclusive Limited-Use Software
An old but dependable library of Fortran 77 code which includes approximation, ODE/PDE solution, linear algebra, optimization, quadrature, root finding, special functions and FFTs. You must agree to single-user licence conditions before downloading a gzipped tar file (1Mb).
Roland Schmehl's Fortran parser
Another parser of Fortran code.
Fortran Bits'n'pieces
Fortran sources, including Function Parser, that caches functions (for repetitive calling) and compiles functions to a byte-code representation to speed repeated evaluations. By Stuart Midgley.
Fortran 90 codes of John Burkardt
Translations of Fortran 77 packages Lapack, Linpack, Eispack, Quadpack, and others. Code for graphics, finite elements, random number generation, and other topics.
xmlf90, an XML parser in Fortran90
Written by Alberto Garcia in the F subset of Fortran 95, freely available under the BSD license.
Jugoslav Dujic's Fortran Resources
XFT (eXtended Fortran Types) is a set of Fortran modules which wrap some Win32 APIs, the Dialog Management section has an enhanced DFLOGM module from CVF 6 and the Win32 Headers section has translations of some C header files that were not (yet?) incorporated in CVF.
Introducing Fortran 95
Code from the book by Ian Chivers and Jane Sleightholme.
PORT Mathematical Subroutine Library
Collection of Fortran 77 routines that address many traditional areas of mathematical software, including approximation, ordinary and partial differential equations, linear algebra and eigensystems, optimization, quadrature, root finding, special functions, and Fourier transforms, but excluding statistical calculations. PORT stands for Portable, Outstanding, Reliable, and Tested.
Numerical Electromagnet Code (NEC) Archives
Code in Fortran, C, and Basic.
JPL Planetary and Lunar Ephemerides on CD-ROM by Standish, et. al
Contains three different Jet Propulsion Laboratory Planetary and Lunar Ephemerides (DE200, DE405, and DE406) along with associated reading and interpolating routines, allowing the user to obtain the rectangular coordinates of the sun, moon, and nine major planets by means of a subroutine written in standard Fortran.
ASTEM97 Steam Tables
By Edward D. Throm, contains routines to provide a wide range of interfaces to the thermodynamic and transport properties. [Commercial]
Panel Code (Aeronautics)
By Professor Kevin D. Jones of the U.S. Naval Postgraduate School.
Special Functions code
Routines to accompany the book "Computation of Special Functions", by Shanjie Zhang and Jianming Jin.
XML-Fortran
Aims to be a library that allows programmers to access XML files.
Fluid Mechanics
NCSE Numerical Methods Library, FDLIB Fluid Dynamics Library, CFDLAB Computational Fluid Dynamics Laboratory, and BEMLIB Boundary-Element Software Library by C. Pozrikidis, Professor of Fluid Mechanics.
Check compiler and run-time environment (CHKSYS)
Chksys.f determines the properties of the run-time environment for Fortran 77 programs. Chkcomp.f is a Fortran 77 code containing deliberate deviations from the standard and deliberate bad statements for testing the compiler's accuracy. Chksysff.f90 is a program to determine the properties of the run-time environment for Fortran 90 programs. Chkcomff.f90 is a Fortran 90 source file containing deliberate deviations from the standard and deliberate bad statements for testing the compiler's accuracy.
Alan R. Miller
Code from the book "Fortran Programs for Scientists and Engineers", 2nd. ed. (1988).
Memory Leaks
Fortran 90 test program by Arjen Markus to see if memory leaks originating from derived-types can be circumvented.
Compiler Diagnostic Test Sets
Fortran 77/90/95 codes to test run-time diagnostic/debug capability of Windows and Linux Fortran Compilers, by Arnaud Desitter and Herman D. Knoble.
Starlink
Astronomy software, much in Fortran.
Computer Methods for Mathematical Computations
Code from the book, translated to ELF, a Fortran 90 subset. Algorithms for calculations in science and engineering, including linear equations, spline interpolation, integration, differential equations, zero finding, minimization and singular value decomposition.
Public Domain Aeronautical Software (PDAS)
Programs for aeronautical engineering, many from NASA or USAF, complete with public domain source code, instructions and sample cases on CD-ROM. [Commercial]
GBYTES/SBYTES Library
Packages to handle binary unpacking and packing, in Fortran 77 and 90.
Fortran Tools by Nelson Beebe
Dcl2inc postprocesses ftnchek .dcl files to create separate include files; dtosstod converts Fortran floating-point precision; fpp is a reversible Fortran preprocessor; lprsf3 is a filter to print Fortran and SFTRAN3 files with boldface keywords; and pretty is a Fortran 66 prettyprinter.
Dan Nagle (Purple Sage Consulting) code
Fortran Portability Project, Fortran 2003 examples, and Fortran modules.
Utilities in Fortran 90
Fortran 90 code by Michel Olagnon: pre-processor and pretty-printer, with command-line interface for Unix, fsplit utility for splitting large files into separate ones for each procedure, PostScript converter, interface bloc generator, and format creator for numeric strings.
NAS Parallel Benchmarks
Set of eight programs designed to help evaluate the performance of parallel supercomputers. The benchmarks, which are derived from computational fluid dynamics (CFD) applications, consist of five kernels and three pseudo-applications.
StopWatch
Fortran 90 module, by William Mitchell, for measuring execution time of program segments. It is designed to be a portable, easy-to-use means of measuring execution time.
f90gl
Interface for OpenGL and GLUT. By William Mitchell.
FXDR
Library by David W. Pierce that allows calls to the XDR (eXternal Data Representation) routines from Fortran.
Fortran Programmers Club
Windows 95/98/NT/2000 applications programming in FORTRAN, by Vladimir V. Vasilchenko. Numerous samples of GUIs, using controls and common controls.
DXFortran: Vectorial graphical library in DXF
Develops a vectorial graphical library in DXF (Drawing Interchange Format) format for Fortran 90 programmers. By Carlos Silva and Davide Santos.
F (Fortran 95 subset) Program Examples
Factorial function, iterative computation of the square root, nonadvancing I/O, dynamic arrays, Towers of Hanoi, and other topics.
MPLOT
Package of MATLAB-style-callable routines for plain graphics by Valery E.Grikurov, Professor of Mathematics and Mathematical Physics. RGB color scheme is used (TrueColor mode supported).
OSCall
OS Command line interface utility for Compaq/Intel Visual Fortran with immediate return or wait specified in milliseconds (routine automatically quotes the command string).
ShareBufferWin32
Easy Inter-Process Shared Memory Communication Utilities for Win32 using a simple Fortran 77-style interface. Written for Compaq Visual Fortran by Gary Scott.
BETADER
Derivatives of the Incomplete Beta Function, by Robert J. Boik and James F. Robison-Cox.
DownGradePrecision
Code by Kevin Rhoads to allow precision to be deliberately thrown away in an IEEE floating point compliant computing environment in order to more closely model computations in less precise floating point systems.
Prime
Counts prime numbers.
PSIDE (Parallel Software for Implicit Differential Equations)
Code for solving implicit differential equations on shared memory parallel computers, by Jacques J.B. de Swart, Walter M. Lioen, and Wolter A. van der Veen.
Rule Learning
Code estimates the population rule learning model on experimental data.
TLM3D
Code by J. L. Herring for transmission line modelling of electromagnetic fields in 3-dimensions using the symmetrical condensed node.
MathFinance - Financial Functions Library
Fortran 90 code for the Cox-Ross-Rubinstein binomial model, the analytic Black-Scholes formula, and Monte Carlo Simulation.
Multivariate Normal Probabilities and Quadratic Assignment Problems
Codes by Professor Zvi Drezner.
Numerical and Statistical Codes
By Jean-Pierre Moreau.
Time Series, Climate Modeling, and other Code
By Richard Blender.
Numerical Methods and Software
Code from book and for nonlinear optimization and matrix equations, by Stephen Nash.
Wavelet Analysis
Code to accompany book by Christopher Torrence and Gilbert P. Compo.
Numerical Methods
Code for algebraic and transcendental equations, systems of linear equations, interpolation routines, numerical integration, eigenvalues, and special functions, by Abdusamad Salih.
PsSchur
Computes the periodic real Schur decomposition of a matrix product. By Kurt Lust.
Gaussm3
Fortran 90 code for Gauss-Legendre and Gaussian quadrature, and solving linear equations by Gauss and Gauss-Jordan elimination, LU and Singular Value Decomposition.
Examples
Fortran 90 codes from introductory course by John Mahaffy.
SophtwareKodeWerks
Fortran 77 codes to solve the quadratic equation, solve a nonlinear equation using the Newton-Raphson method, fit a simple linear regression, and solve a system of equations using Gaussian elimination.
Benchmarks of N. Tajima
Codes to time floating point and integer arithmetic, intrinsic functions, and random access to memory.
Algorithms and Data Structures in F and Fortran
Codes from book by Robin Vowels for sorting, linked lists and trees, complex arithmetic, text processing, solving linear equations, graphics, searching, numerical methods, and whole array operations.
BIEPACK
Code for boundary integral equations, by Kendall E. Atkinson.
Numerical Analysis
Codes for the book by Richard L. Burden and J. Douglas Faires.
Introduction to F
Examples of the F (Fortran 95 subset) language, by Harvey Gould.
Hompack90
Suite of Fortran 90 subroutines by Layne T. Watson for solving nonlinear systems of equations by homotopy methods. There are subroutines for fixed point, zero finding, and general homotopy curve tracking problems, utilizing both dense and sparse Jacobian matrices, and implementing three different algorithms: ODE-based, normal flow, and augmented Jacobian.
TRIMHAP
Implements linkage disequilibrium mapping techniques.
Ernesto Martin's codes
Random generator networks and other algorithms.
Finite Elements
Fortran 90 code by Jacques Laminie.
Helmholtz
Fortran 90 code to solve the Diffusion-Advection-Reaction equation in 2D.
Nick Yas'ko Products
Codes for ANSI control sequences, solving linear equations, and creating Poscript graphics. At http://www.uni-koblenz.de/~yasko/BEM/codes.htm there are links to codes for boundary elements and to test Fortran 90 and 95 compilers.
Fundamentals of Numerical Computing
Fortran 90 codes from book by Lawrence Shampine, Richard Allen, and Steven Pruess.
Jeff Cameron's Fortran code
Code for the VMS operating system and for a fractal figure called Sierpinski's Gasket.
Fortran 77 Codes
Programs by John A. Strain to count zeros of the zeta function, compute the Fast Gauss Transform, and use spectral methods to solve nonlinear parabolic systems.
Algorithms
Codes by Julio F. Fernández for uniform and Gaussian random number generation, matrix diagonalization, and physical simulations.
Simulation of Time-dependent Variable Density Flows
Uses a semi-implicit time marching scheme.
High Performance Finite Elements
Fortran 77 and 90 codes.
G77 i386 fpe demo
Demonstrates handling of floating point exceptions under g77/i386/Linux. By Tom Crane.
High Performance Fortran Applications Software Catalog
Links to fragments, which are very short codes or code fragments to demonstrate the language features and constructs, kernels, which are short self-contained codes chosen as representative of particular application algorithms and their language feature requirements, and full applications codes, not necessarily stored in full locally, but registered here with relevant pointers given to the code owner/contact person.
Fortran CGI
Fortran 77 CGI examples using GET and POST.
Hello, World
Example of simple program in Fortran.
Arithmetic with Error Bounds
Fortran 90 code by Abraham Agay.
Dave Gemini
Codes for a number-crunching benchmark, reading Internet URL addresses, and partially convertng C code to Fortran.
ISO Varying String
Implemented in the F subset by Rich Townsend.
Iounits.f
Fortran 77 module to automatically assign i/o unit numbers, by Judah Milgram.
Fortran Resources - Garnatz and Grovender
Keyed file shareware in Fortran 90 and 77, Fortran 90 interface to the X Window system.
LFA Search
Fortran 90 code by Chad M. Schafer to numerically approximate the least favorable alternative (LFA) and least regrettable alternative (LRA). These define the minimax expected size and minimax regret confidence procedures, respectively.
CASE Lab Codes
Space-time finite element solution for the 1-D Euler equations, STARS orientation angles calculator and elastics vector generator, simulation of a double wedge in a supersonic flow, atmospheric look-up tables, NACA 4-Digit Airfoil, and 2-D aerodynamic loads.
Stefan Goedecker's Free Software
Fast Fourier Transforms and Silicon interatomic potentials.
Fast Wavelet Transform
By Rick Ottolini, based on an article by Gilbert Strang.
Texas KZK Time Domain Code
Fortran 77 time-domain computer code to model axisymmetric sound beams in fluids. The code is based on an augmented KZK equation that accounts for nonlinearity, diffraction, thermoviscous absorption, and absorption and dispersion due to an arbitrary number of relaxation phenomena.
RIM: Computing the Acoutic Field Surrounding a Vibrating Plate
Shareware by Stephen Kirkup.
CFD Recipes
Computational fluid dynamics Fortran 77 code associated with "Computational Gasdynamics", a book by Culbert B. Laney.
Navier-Stokes equation
Fortran 90 and 77 codes by Reidar Kristoffersen.
Vadar
Structural analysis of protein coordinate data.
Fast Statistical Methods
Fortran 90 and 77 codes by W.H. Press and G.B. Rybicki, for fast inversion matrices of an exponential form arising from autocorrelation functions of Ornstein-Uhlenbeck processes.
Moisture Content Adjustment
Code to predict a property (P2) of dimension lumber at a target moisture content (MC2) given the value of the property (P1) at an initial moisture content (MC1).
Fortran78 Test Suite
Product of the NIST Information Technology Laboratory (ITL). It is used to determine, insofar as is practical, the degree to which a Fortran processor conforms to FIPS Fortran.
Twist: a Compression Utility
Compression tool tailored for fields where node-to-node variations are small, and where undefined (dry) nodes are abundant.
KindFinder
Fortran 90 program by Werner W. Schultz that checks for the available KIND parameters available for a given Fortran 90 or 95 compiler. It prints into a file a new Fortran program that can be compiled to write into a unit the various parameters that describe each integer/real representation.
Voigt and Complex Error Function
By F. Schreier.
OpenMP Tutorial
Has examples of Fortran codes using the Message-Passing Interface (MPI).
Parallel Sparse Symmetric Direct Solver (PSPASES)
High performance, scalable, parallel, MPI-based library, intended for solving linear systems of equations involving sparse symmetric positive definite matrices. The library provides various interfaces to solve the system using four phases of direct method of solution: compute fill-reducing ordering, perform symbolic factorization, compute numerical factorization, and solve triangular systems of equations.
Collaborative Computational Projects
Links to chemistry, physics, and engineering codes, many in Fortran.
Applied Numerical Methods for Scientists and Engineers
Fortran and C code from book by Singiresu Rao.
Wild-card String Matching
Fortran 77 code by Clive Page to do wild-card matching to a pattern, which may contain "?" to match any single character, and "*" to match zero or more consecutive characters of any type.
Free Software (of Craig C. Douglas)
Fortran and C codes for fast matrix multiplication and multigrid solution of PDEs.
Fortran 90 Software Repository
Has short, concise examples of specific features of the Fortran 90, 95 or 2003 language.
Lahey's Fortran Code Repository
Fortran codes for various tasks.
OpenMP: Sample Programs
Two simple examples of Fortran 77 and 90 programs using the OpenMP API for shared-memory parallel programming.
Input Routines
Fortran 90 module by Andy Stone that parses input lines into 'words', and routines that read a 'word' and translate it into a specified form, usually an integer or double-precision number. In conjunction with a simple CASE structure this provides a powerful and flexible method for organising data input. The package includes documentation, and an example program and data file as illustrations of the ways in which the module can be used to organise data. [gzipped tar file].
Single Crystal and Powder Diffraction
Many Fortran codes -- search for "fortran" on site.
Robert Parker Software
Plotxy allows the user, either interactively at the terminal, or though scripts, to create simple graphs in the x-y plane. It gives the user complete of control of many aspects of the graph (eg, picture size, text font, line weight, math and Greek symbols, color palette specification). Color produces contour diagrams, with Contour producing a B/W equivalent. Magmap maps magnetic field components using spherical harmonic representations. PSD estimates the Power Spectral Density of a time series. Cross calculates frequency domain functions from a pair of input time series.
PDEs and linear equations
Fortran and C codes by Dong Liang.
Practical Guide to Splines
Code from the book by Carl de Boor.
Benchmark
3-D Computational Fluid Dynamics code using the SOR method. There is a link to CPU times on various platforms, for two grid sizes.
Introduction to Scientific Computing
Fortran and C codes in gzipped tar file from book by Brigitte Lucquin and Olivier Pironneau.
Open-Source Software
Codes by Richard Brent for multiple precision arithmetic, uniform and normal random number generators, irreducible/primitive trinomials, and parallel sorting.
Daniel A. Steck
Fortran 90 codes to integrate Ito stochastic differential equations, generate random numbers, compute the FFT, and time programs.
Problem Generators
Generators for linear ordering and clustering problems, by John E. Mitchell.
Numerical Methods
Fortran 90 codes for a course.
Ncregrid
Tool by Patrick Jöckel for data transfer of gridded 2- and 3-dimensional (spatial) geophysical/geochemical scalar fields between grids of different resolutions. The algorithm handles data on rectangular latitude/longitude grids (not necessarily evenly spaced) and vertical pressure hybrid grids of arbitrary resolution. The input/output data format is netCDF.
H. D. Knoble's Collection of Fortran Algorithms
Briefly describes available programs, mostly of a tutorial nature. The codes can be obtained from http://ftp.cac.psu.edu/pub/ger/fortran/hdk/ .
Fortran 77 Codes
Programs by Niklaus Zimmermann for climate data analysis, moving window regression, soil profile analysis, and testing predictive (simulated) maps.
Software by P.B. Stark and Coauthors
Bvls.f solves least-squares problems with bounds on the variables. Qr.f computes QR decompositions in a stable way. Sbl1.f finds bounds on linear functionals of an n-vector subject to an l1 constraint on the misfit to a set of linear relations, and linear inequality constraints on the variables. Sbvq.f finds bounds on linear functionals of an n-vector subject to a quadratic constraint on the misfit to a set of linear relations, and linear inequality constraints on the variables.
Fortran code
Fortran 77 codes by Daniel Powers for optimization and statistics.
Selected Publications and Unpublished Software of Patrick Keast
Code for partial differential equations, quadrature, and the solution of linear systems, with associated papers.
Linear Algebra and Econometrics
SPARSEM is a collection of sparse matrix classes that makes programming with sparse matrices (and large problems) almost as easy as a matrix language. BLUPF90 is a BLUP program written using SPARSEM. REMLF90 is a REML version of BLUPF90 that uses accelerated EM algorithm. Other programs included are dense matrix module DENSEOP, Gibbs sampling program GIBBS90, and several versions of linear-threshold models. By Ignacy Misztal and collaborators.
Image Estimation by Example
Fortran 90 code of Jos Claerbout.
Fast Hankel Transform
By Steve Sheng -- further details can be found in his dissertation.
Peter Benner Fortran 77 code
SLICOT Subroutine Library in Control Theory, Parallel Library in Control (PLiC) for large-scale time-invariant linear control systems in state-space form on parallel distributed computers, eigenvalues of Hamiltonian Matrices, subroutines for compressing a symmetric or triangular matrix to packed storage mode or to unpack a packed array to full storage mode, benchmark examples of discrete-time algebraic Riccati equations, benchmark examples of continuous-time algebraic Riccati equations.
Token
Fortran 77 string tokenizer, similar to the C function.
Weekday
Fortran 77 code to compute the day of the week of a date using the Zeller congruence algorithm.
XML
Module by Mart Rentmeester that reads and interprets XML in standard Fortran 95.
Romo's Free Software
OFFT, "Outrageously Fast Fortran Transpose", and BFFFT, "Blazingly Fast FFT, 2-Dimensional Vectorized Fast Fourier Transform" written in Fortran 90. |
|
||
sub categories in Source Code
|
|||