The IMSL libraries, from Visual Numerics, are a comprehensive set of mathematical and statistical functions that programmers can embed into their software applications. IMSL provides high-performance computing software and expertise needed to develop and execute sophisticated numerical analysis applications. These libraries free you from developing your own internal code by providing pre-written mathematical and statistical algorithms that you can embed into your C, Java, and Fortran applications.
NAG has a longstanding worldwide reputation for the excellence of its numerical and statistical libraries which contain over a thousand mathematical and statistical functions. This includes routines for distributed and shared memory in C and Fortran as well as compilers.
The BLAS (Basic Linear Algebra Subprograms) are high quality "building block" routines for performing basic vector and matrix operations. Level 1 BLAS do vector-vector operations, Level 2 BLAS do matrix-vector operations, and Level 3 BLAS do matrix-matrix operations. Because the BLAS are efficient, portable, and widely available, they're commonly used in the development of high quality linear algebra software, LINPACK and LAPACK for example. Vendor supplied versions of these routines tuned to a particular architecture are usually available.
LAPACK is written in Fortran77 and provides routines for solving systems of simultaneous linear equations, least-squares solutions of linear systems of equations, eigenvalue problems, and singular value problems. Vendor supplied versions of these routines tuned to a particular architecture are usually available.
The ScaLAPACK (or Scalable LAPACK) library includes a subset of LAPACK routines redesigned for distributed memory MIMD parallel computers. It is currently written in a Single-Program-Multiple-Data style using explicit message passing for interprocessor communication. It assumes matrices are laid out in a two-dimensional block cyclic decomposition. ScaLAPACK is designed for heterogeneous computing and is portable on any computer that supports MPI or PVM. Vendor supplied versions of these routines tuned to a particular architecture are usually available.
FFTW is a C subroutine library for computing the discrete Fourier transform (DFT) in one or more dimensions, of arbitrary input size, and of both real and complex data (as well as of even/odd data, i.e. the discrete cosine/sine transforms or DCT/DST). Authors of this (free) software claim to get very high, portable, performance, hence the name, "FFTW," which stands for the somewhat whimsical title of "Fastest Fourier Transform in the West."
Portable, Extensible Toolkit for Scientific Computation. PETSc is a suite of data structures and routines for the scalable (parallel) solution of scientific applications modeled by partial differential equations. It employs the MPI standard for all message-passing communication.
MPICH is a portable implementation of MPI, the Message Passing Interface standard. MPICH was developed by Argonne National Laboratory, is designed to be highly portable, and is currently used by a large number of providers of MPI implementations.
MPICH is a portable implementation of MPI, the Message Passing Interface standard. MPICH is often run over TCP/IP overEthernet. In order to exploit the lower latency and higher data rates of Myrinet networks, Myricom developed MPICH-GM as a port of MPICH on top of GM (ch_gm).
LAM/MPI is a high-quality open-source implementation of the Message Passing Interface specification, including all of MPI-1.2 and much of MPI-2. Intended for production as well as research use, LAM/MPI includes a rich set of features for system administrators, parallel programmers, application users, and parallel computing researchers.
VI-GM is an implementation of the Virtual Interface Architecture API directly over GM (GM is the low-level message-passing system for Myrinet networks).
PVM (Parallel Virtual Machine) is a software package that permits a heterogeneous collection of Unix and/or Windows computers hooked together by a network to be used as a single large parallel computer. Thus large computational problems can be solved more cost effectively by using the aggregate power and memory of many computers. The software is very portable.
NetCDF: A library for storing and retrieving scientific data in self-describing, platform-independent files; enhanced by various utilities, including udunits for handling and converting units of measure.
Make is a tool which controls the generation of executables and other non-source files of a program from the program's source files. Make gets its knowledge of how to build your program from a file called the makefile, which lists each of the non-source files and how to generate it from other files. When you write a program, you should write a makefile for it, so that it is possible to use Make to build and install the program.
ftnchek is a static analyzer for Fortran 77 programs. It is designed to detect certain errors in a Fortran program that a compiler usually does not. ftnchek is not primarily intended to detect syntax errors. Its purpose is to assist the user in finding semantic errors. Semantic errors are legal in the Fortran language but are wasteful or may cause incorrect operation. ftnchek is intended to assist users in the debugging of their Fortran program. It is not intended to catch all syntax errors. This is the function of the compiler. Prior to using ftnchek, the user should verify that the program compiles correctly.