# www.freeprogrammingresources.com

# Free Mathematical Libraries

Matrix Template Library (MTL)

The Matrix Template Library (MTL) is a high-performance generic component library that provides comprehensive linear algebra functionality for a wide variety of matrix formats.

CGAL

The goal of CGAL is to make the most important of the solutions and methods developed in computational geometry available to users in industry and academia in a C++ library.

GNU Scientific Library (GSL)

The GNU Scientific Library (GSL) is a numerical library for C and C++ programmers. It is free software under the GNU General Public License.

SparseLib++

"SparseLib++ is a C++ class library for efficient sparse matrix computations across various computational platforms. The software package consists of matrix classes encompassing several sparse storage formats (e.g. compressed row, compressed column and coordinate formats), and providing basic functionality for managing sparse matrices."

IML++

IML++ is a C++ templated library of modern iterative methods for solving both symmetric and nonsymmetric linear systems of equations.

Blitz++

"Blitz++ is a C++ class library for scientific computing which provides performance on par with Fortran 77/90. It uses template techniques to achieve high performance. The current versions provide dense arrays and vectors, random number generators, and small vectors and matrices. Blitz++ is distributed freely under an open source license, and contributions to the library are welcomed."

GiNaC

"GiNaC is an iterated and recursive acronym for GiNaC is Not a CAS, where CAS stands for Computer Algebra System. It is designed to allow the creation of integrated systems that embed symbolic manipulations together with more established areas of computer science (like computation- intense numeric applications, graphical interfaces, etc.) under one roof. It is distributed under the terms and conditions of the GNU general public license (GPL)."

Cephes Mathematical Library.

"Latest Linux distribution, dated 6/4/00. Special functions and other goodies in C, including long double precision routines for 68K, 386, and sparc processors. This is the most complete distribution package of the function library (but not the most up-to-date one). It includes these sections-- double: all functions in 64-bit double precision; single: all available functions in 32-bit single precision; long double: all available functions in 80-bit extended precision; 128bit: all available functions in 128-bit long double precision; qlib: all functions in q-type extended (44 to 106 decimal) precision, includes a C++ class for the binary floating point arithmetic and a q-type calculator program; c9x-complex: new C language standard C9X data type for complex variables, header complex.h for GNU C and functions in float complex, double complex, and long double complex precisions. quot;