353 lines
7.6 KiB
HTML
353 lines
7.6 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
<HTML
|
|
><HEAD
|
|
><TITLE
|
|
>Numerical Methods and Libraries</TITLE
|
|
><META
|
|
NAME="GENERATOR"
|
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
|
|
REL="HOME"
|
|
TITLE="Scientific Computing with Free software on GNU/Linux HOWTO "
|
|
HREF="index.html"><LINK
|
|
REL="PREVIOUS"
|
|
TITLE="Mathematics Packages"
|
|
HREF="mathpack.html"><LINK
|
|
REL="NEXT"
|
|
TITLE="Graphics and Visualization"
|
|
HREF="graphvis.html"></HEAD
|
|
><BODY
|
|
CLASS="sect1"
|
|
BGCOLOR="#FFFFFF"
|
|
TEXT="#000000"
|
|
LINK="#0000FF"
|
|
VLINK="#840084"
|
|
ALINK="#0000FF"
|
|
><DIV
|
|
CLASS="NAVHEADER"
|
|
><TABLE
|
|
SUMMARY="Header navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TH
|
|
COLSPAN="3"
|
|
ALIGN="center"
|
|
>Scientific Computing with Free software on GNU/Linux HOWTO</TH
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="left"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="mathpack.html"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="80%"
|
|
ALIGN="center"
|
|
VALIGN="bottom"
|
|
></TD
|
|
><TD
|
|
WIDTH="10%"
|
|
ALIGN="right"
|
|
VALIGN="bottom"
|
|
><A
|
|
HREF="graphvis.html"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
></TABLE
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"></DIV
|
|
><DIV
|
|
CLASS="sect1"
|
|
><H1
|
|
CLASS="sect1"
|
|
><A
|
|
NAME="numlib"
|
|
></A
|
|
>5. Numerical Methods and Libraries</H1
|
|
><P
|
|
> The best thing that could happen for scientific computing with free
|
|
software on GNU/Linux is the GNU Scientific Library
|
|
<A
|
|
HREF="http://sources.redhat.com/gsl"
|
|
TARGET="_top"
|
|
>GSL</A
|
|
>.
|
|
It however has source code only in C and people who use FORTRAN
|
|
will find that a let down. Pouncing on this opportunity it is
|
|
recommended that GSL is another reason (in addition to the GCC
|
|
C compiler, coupled with the advantages of C programming)
|
|
for starting to learn to use C. In addition to this,
|
|
the two best source code repositories for Numerical Methods and
|
|
libraries are <A
|
|
HREF="http://www.netlib.org"
|
|
TARGET="_top"
|
|
>Netlib</A
|
|
>
|
|
and <A
|
|
HREF="http://math.nist.gov/"
|
|
TARGET="_top"
|
|
>GAMS</A
|
|
>.
|
|
There are new numerical packages being developed outside the usual
|
|
"write a FORTRAN program, get a numerical subroutine from INTERNET
|
|
for solving the numerics" concepts. The merits and demerits of this
|
|
approach are debatable, but there exist more options like
|
|
<A
|
|
HREF="http://oonumerics.org/oon"
|
|
TARGET="_top"
|
|
>Object Oriented Numerics</A
|
|
>
|
|
GSL and <A
|
|
HREF="http://www.ginac.de/"
|
|
TARGET="_top"
|
|
>GiNaC</A
|
|
> which are
|
|
exciting developments.
|
|
</P
|
|
><DIV
|
|
CLASS="sect2"
|
|
><H2
|
|
CLASS="sect2"
|
|
><A
|
|
NAME="Repositories"
|
|
></A
|
|
>5.1. Repositories</H2
|
|
><P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
> <A
|
|
HREF="http://www.netlib.org/"
|
|
TARGET="_top"
|
|
>Netlib</A
|
|
>:
|
|
An amazing amount of free source code for Numerical Methods. Netlib
|
|
is THE source code repository which contains an innumerable
|
|
amount of source code for Numerical Methods. It also has an active
|
|
<A
|
|
HREF="http://www.netlib.org/utk/discus"
|
|
TARGET="_top"
|
|
>discussion forum
|
|
</A
|
|
> wherein you can submit your queries and stay posted for
|
|
help. Netlib also has a <A
|
|
HREF="http://www.nhse.org/ptlib"
|
|
TARGET="_top"
|
|
> Parallel Tools Library </A
|
|
> and a search by subject.
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> <A
|
|
HREF="http://math.nist.gov/"
|
|
TARGET="_top"
|
|
> GAMS: Guide to Available Mathematical Software</A
|
|
>
|
|
GAMS has a very useful search using which one can search for
|
|
keywords (example: ``diffusion'' to search for a diffusion equation
|
|
solver). However the browse by package at GAMS reveals that a lot of
|
|
the software they provide is a link to the netlib repository.
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> <A
|
|
HREF="http://oonumerics.org/oon"
|
|
TARGET="_top"
|
|
>Object Oriented Numerics</A
|
|
>
|
|
A site devoted to object oriented numerics. It has a Mailing list,
|
|
Extensive Links to freely available libraries (OO of course)
|
|
and freely available tools for object oriented scientific computing.
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> <A
|
|
HREF="http://sources.redhat.com/gsl"
|
|
TARGET="_top"
|
|
>GNU Scientific Library</A
|
|
>
|
|
The GNU Scientific Library (GSL) is a collection of numerical routines
|
|
written from scratch in C. It provides an Applications Programming
|
|
Interface (API) for C programmers and also allows wrappers to be written
|
|
for very high level languages. It covers a wide range of numerical
|
|
computing topics, has a good manual, is widely portable and is distributed
|
|
under the GNU General Public License.
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> <A
|
|
HREF="http://www.ginac.de/"
|
|
TARGET="_top"
|
|
>GiNaC</A
|
|
>
|
|
GiNaC is designed to allow the creation of software which need symbolic
|
|
manipulations embedded in them. It extends C++ by a set of algebraic
|
|
capabilities and is recursively named for GiNaC is not a Computer Algebra
|
|
system. It is distributed under the terms and conditions of the GNU
|
|
general public license (GPL).
|
|
</P
|
|
></LI
|
|
></UL
|
|
></DIV
|
|
><DIV
|
|
CLASS="sect2"
|
|
><H2
|
|
CLASS="sect2"
|
|
><A
|
|
NAME="AEN292"
|
|
></A
|
|
>5.2. Other topic specific numerical libraries</H2
|
|
><P
|
|
></P
|
|
><UL
|
|
><LI
|
|
><P
|
|
> <A
|
|
HREF="http://www.fftw.org/"
|
|
TARGET="_top"
|
|
>FFTW</A
|
|
>
|
|
FFTW is a collection of fast C routines for computing the Discrete
|
|
Fourier Transform in one or more dimensions. It includes complex,
|
|
real, and parallel transforms, and can handle arbitrary array sizes
|
|
efficiently. This package includes both the double- and
|
|
single-precision FFTW uniprocessors and the threads libraries.
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> <A
|
|
HREF="http://www.netlib.org/lapack"
|
|
TARGET="_top"
|
|
>LAPACK</A
|
|
>
|
|
LAPACK (Linear Algebra PACKage) is a standard library for numerical
|
|
linear algebra. LAPACK provides routines for solving systems of
|
|
simultaneous linear equations, least-squares solutions of linear
|
|
systems of equations, eigenvalue problems, and singular value
|
|
problems. LAPACK is coded in Fortran77 and is built with egcs.
|
|
It is well documented and widely used (and therefore widely tested).
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> <A
|
|
HREF="http://www.nersc.gov/~xiaoye/SuperLU"
|
|
TARGET="_top"
|
|
>SuperLU</A
|
|
>
|
|
SuperLU is a general purpose library which performs an LU decomposition
|
|
for the direct solution of large, sparse, non-symmetric systems of linear
|
|
equations on high performance machines. Its written in C and is callable
|
|
from either C or Fortran.
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> <A
|
|
HREF="http://www.caam.rice.edu/software/ARPACK/"
|
|
TARGET="_top"
|
|
>ARPACK
|
|
</A
|
|
>
|
|
ARPACK is a set of Fortran77 subroutines designed to solve large scale
|
|
eigenvalue problems. A <A
|
|
HREF="http://www.caam.rice.edu/software/ARPACK/UG/ug.html#ARPACK"
|
|
TARGET="_top"
|
|
>Users Guide
|
|
</A
|
|
> is available. The above link also gives information about a
|
|
parallel version of ARPACK - PARPACK and a object oriented version
|
|
ARPACK++.
|
|
</P
|
|
></LI
|
|
><LI
|
|
><P
|
|
> <A
|
|
HREF="http://icemcfd.com/cfd/CFD_codes.html"
|
|
TARGET="_top"
|
|
> Computational Fluid Dynamics codes</A
|
|
>
|
|
This link contains a comprehensive listing of public domain, shareware
|
|
and freeware Computational Fluid Dynamics codes links with a description
|
|
of each CFD code.
|
|
</P
|
|
></LI
|
|
></UL
|
|
></DIV
|
|
></DIV
|
|
><DIV
|
|
CLASS="NAVFOOTER"
|
|
><HR
|
|
ALIGN="LEFT"
|
|
WIDTH="100%"><TABLE
|
|
SUMMARY="Footer navigation table"
|
|
WIDTH="100%"
|
|
BORDER="0"
|
|
CELLPADDING="0"
|
|
CELLSPACING="0"
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="mathpack.html"
|
|
ACCESSKEY="P"
|
|
>Prev</A
|
|
></TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="index.html"
|
|
ACCESSKEY="H"
|
|
>Home</A
|
|
></TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
><A
|
|
HREF="graphvis.html"
|
|
ACCESSKEY="N"
|
|
>Next</A
|
|
></TD
|
|
></TR
|
|
><TR
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="left"
|
|
VALIGN="top"
|
|
>Mathematics Packages</TD
|
|
><TD
|
|
WIDTH="34%"
|
|
ALIGN="center"
|
|
VALIGN="top"
|
|
> </TD
|
|
><TD
|
|
WIDTH="33%"
|
|
ALIGN="right"
|
|
VALIGN="top"
|
|
>Graphics and Visualization</TD
|
|
></TR
|
|
></TABLE
|
|
></DIV
|
|
></BODY
|
|
></HTML
|
|
> |