Several noteworthy related projects:
- GSL - The GNU Scientific Library
The first truly free, ANSI-compliant, fully tested, and well-documented scientific computing library. The GSL is located at http://www.gnu.org/software/gsl , and the manual is available at
http://www.gnu.org/software/gsl/manual/html_node/ . Many GSL routines are included and reworked in O2scl (the corresponding classes begin with the gsl_
prefix) and O2scl was specifically designed to be used with GSL. GSL is a must-have for most serious numerical work in C or C++ and is required for installation of O2scl .
- HDF - Hierarchical Data Format, (http://www.hdfgroup.org)
A library developed for file I/O of scientific data. Contains C, C++, FORTRAN and Java APIs, several command-line tools, and a longstanding active community of users.
- CERNLIB - (http://cernlib.web.cern.ch/cernlib/mathlib.html)
The gold standard in FORTRAN computing libraries Several CERNLIB routines are rewritten completely in C++ and included in O2scl (they begin with the cern_
prefix). CERNLIB is located at
- QUADPACK - FORTRAN adaptive integration library, http://www.netlib.org/quadpack
This is the library on which the GSL integration routines are based (prefix gsl_inte_
).
- Blitz++ - (http://www.oonumerics.org/blitz)
Another linear algebra library designed in C++ which includes vector and matrix types and basic arithmetic. As the name implies, Blitz++ has the capability to be particularly fast. Distributed with a Perl-like artistic license "or the GPL".
- Boost - (http://www.boost.org)
Free (license is compatible with GPL) peer-reviewed portable C++ source libraries that work well with the C++ Standard Library. Boost also contains uBlas, for linear algebra computing.
- MESA - Modules for Experiments in Stellar Astrophysics, (http://mesa.sourceforge.net)
An excellent FORTRAN library with accurate low-density equations of state, interpolation, opacities and other routines useful in stellar physics. Work is currently under way to rewrite some of the MESA routines in C/C++ for O2scl . Licensed with LGPL (not GPL).
- TNT - Template numerical toolkit (http://math.nist.gov)
TNT provides vector and matrix types and basic arithmetic operations. Most of the classes in O2scl which use vector and matrix types are templated to allow compatbility with TNT. (Though there are a few small differences.) This software is in the public domain. TNT appears not to be under current development.
- OOL - Open Optimization Library (http://ool.sourceforge.net)
Constrained minimization library designed with GSL in mind. The O2scl constrained minimization classes are derived from this library, though OOL appears not to be under current development. Constrained Minimization .
- Root - CERN's new C++ analysis package (http://root.cern.ch)
A gargantuan library for data analysis, focused mostly on high-energy physics. Their histograms, graphics, file I/O and support for large data sets is particuarly good. See graph.h for some functions which provide some plotting functions for use with Root.