old-www/HOWTO/Scientific-Computing-with-G.../numlib.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
>&#13; 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
>&#13; <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"
>&#13; Parallel Tools Library </A
> and a search by subject.
</P
></LI
><LI
><P
>&#13; <A
HREF="http://math.nist.gov/"
TARGET="_top"
>&#13; 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
>&#13; <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
>&#13; <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
>&#13; <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
>&#13; <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
>&#13; <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
>&#13; <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
>&#13; <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
>&#13; <A
HREF="http://icemcfd.com/cfd/CFD_codes.html"
TARGET="_top"
>&#13; 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"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Graphics and Visualization</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>