
Welcome to the Scientific
Library project
[ Intro
| Download | Install
| Docs | Mail
| CVS | Dev | Links
]
Introduction
The Scientific Library (named sl++) is a C++ object oriented library
which tries to answer to a growing demand for a free, fast, easy to use
and powerful numerical library. sl++ is composed of modules specialized
in various fields of numerical computations. Each new module extends the
possibilities of the library. The list of included modules and sub-modules
is (future modules are in italic):
-
algebra provides advanced matrix operators and structures.
-
complex provides full arithmetic on complexes.
-
filter will provide various kind of adaptive filters.
-
fixed will provide fixed point arithmetic.
-
matrix provides basic matrix operators.
-
banded provides banded matrix structure.
-
colmajor provides dense column major matrix structure.
-
constant provides constant matrix structure.
-
diagonal provides diagonal matrix structure.
-
rowmajor provides dense row major matrix structure.
-
sss provides sparse symmetric skyline matrix structure.
-
symmetric provides dense symmetric matrix structure.
-
tensor3 provides 3D dense matrix structure.
-
triang provides dense lower and upper triangular matrix structures.
-
tvector provides dense vector matrix structure (vectors are a subset
of matrices).
-
noise will provide various kind of noise generators.
-
plot will provide features for plotting matrices (requires
gnuplot).
-
quaternion provides full arithmetic on quaternions.
-
spectral will provide discrete Fourier transform and related
operators (requires fftw).
sl++ is a free software under the terms of the GNU
General Public License.
Downloading
First beta release of the sl++ will be available when egcs will
fully support template specialization. Until this date, we will only provide
a copy of the development tree sl-0.0.6.tar.gz
as well as a documentation package sl-0.0.6.doc.tar.gz.
Installation
Assuming you are on a Unix system, you can do:
#cd sl++
#./configure
#make
#make install
For the last command, you must have write access on the install directory.
For more information about configuration you can do:
#./configure --help
or read the online installation instructions here.
Documentation
Online documentation can be found here.
The FAQ can be found here (not yet available).
-
Slides presented at the LHC++
Workshop (28/09/1998)
Mailing
lists
There are five mailing lists for sl++ located at pcmath03.insa-lyon.fr
and managed by majordomo:
-
sl is a general list for developer discussions.
-
sl-announce is a read-only list where important events or releases
are posted.
-
sl-bugs is for reporting and discussing bugs.
-
sl-cvs is for CVS check in messages.
-
sl-patches is for patch submissions.
To subscribe to any of these, send mail to sl-request,
sl-announce-request,
sl-bugs-request,
sl-cvs-request,
sl-patches-request
with a message body of
subscribe listname your-email-address
To unsubscribe, send a mail note to the appropriate -request@mathinsa.insa-lyon.fr
address with a message body of
unsubscribe listname your-email-address
Web archives for all these mailing lists are accessible on-line here.
CVS
access
Read-only access to the sl++ development tree is provided
via remote-CVS to anyone on the net. Assuming you have CVS
installed on your machine you can check out the sources with the following
sequence of commands:
#setenv CVSROOT ':pserver:anoncvs@pclhc590.cern.ch:/cvs'
#cvs login
>CVS password: anoncvs
#cvs -z 6 co sl++
Once you have got the repository checked out, you can use again the last
previous command or the following commands:
#cd sl++
#cvs update
in order to synchronize your local copy with those in the repository.
Last stable pre-release of the sl++ library can be checked
out with the command:
#cvs -z 6 co -r release-0-0-6 mta
Read-write access is only allowed to a restricted set of external
developers. Ask to Laurent Deniau
if you want to become an active developer and get a such access.
See the CVS manual for additional
information on how to use CVS.
Development
For development, you will need basic tools like make, perl 5, m4 and of
course a C++ compiler and your favourite editor.
For the repository access you will need:
For the configuration you will need:
-
Autoconf 2.12
-
Automake 1.3
-
Libtools 1.2
For the documentation you will need:
Related
Links
Here is a short list of links related to the sl++
library:
-
Blitz++, an advanced array library
which tries to be compatible with sl++ and vice versa.
-
EGCS, the free C++ compiler used for
sl++ tests and benches.
-
FFTW, the Fastest Fourier Transform in
the West used by the spectral module.
-
Gnuplot, the
wonderful free software used by the plot module.
-
PGPlot, a very nice
graphic subroutine library.
Report bugs and comments to Laurent
Deniau.
Last update: 3 September 1998