FFTW is a fast C FFT library. It includes complex, real, symmetric, multidimensional, and parallel transforms, and can handle arbitrary array sizes efficiently.It is typically faster than other freely available FFT implementations, and is even competitive with vendor-tuned libraries (benchmarks are available at the homepage). To achieve this performance, it uses novel code generation and runtime self optimization techniques (along with many other tricks).
MIT Photonic Bands (MPB) is a free program to compute the band structures (dispersion relations) and electromagnetic modes of periodic dielectric structures, and is applicable to photonic crystals (photonic band-gap materials), optical waveguides, and a wide range of other optical problems. Its features include: fully-vectorial 3D computations, a flexible user interface based upon the GNU Guile scripting language, output in HDF format, and iterative, targeted eigensolver methods to address very large problems by solving for only a few states near a specified frequency. It runs on both serial machines and parallel machines with MPI.
h5utils is a set of utilities for visualization and conversion of scientific data in the free, portable HDF5 format. Besides providing a simple tool for batch visualization as PNG images, h5utils also includes programs to convert HDF5 datasets into the formats required by other free visualization software (e.g., plain text, Vis5d, and VTK).
Harminv is a free program and C library for harmonic inversion: decomposing a time-series into a sum of sinusoids, including exponentially decaying sinusoids. It is based on the "filter diagonalization method" (FDM) of Mandelshtam & Taylor, which maps the harmonic inversion problem onto a small eigen-problem (size proportional to the number of sinusoids). The FDM is often able to obtain much more robust and accurate solutions than alternative methods.
GNU libmatheval is a library (callable from C and Fortran) to parse and evaluate symbolic expressions input as text. It supports expressions in any number of variables of arbitrary names, decimal constants, basic unary and binary operators, and elementary mathematical functions. In addition to parsing and evaluation, libmatheval can also compute symbolic derivatives and output expressions to strings.
Meep is a free finite-difference time-domain (FDTD) simulation software package to model electromagnetic systems. It supports distributed-memory parallel simulations, nonlinear, anisotropic, and dispersive media, PML absorbing boundaries, and 1D/2D/3D and cylindrical problems. It is completely scriptable from either C++ or a Scheme (GNU Guile) interface.
NLopt is a library for nonlinear optimization that allows one to select from a wide variety of optimization algorithms by changing a single parameter. Its features include both local and global optimization, unconstrained, bound-constrained, or nonlinear-inequality constrained problems, and optimization using function values only or using derivatives if they are available. It was initially begun as a wrapper around several existing optimization packages, but it now also includes original implementations of several algorithms for which no free code was available. It provides interfaces callable from C/C++, Fortran, Matlab, GNU Octave, Python, and GNU Guile.