public inbox for
 help / color / mirror / Atom feed
* GNU Scientific Library (GSL) 0.6 is released
@ 2000-06-02 23:25 Mark Galassi
  0 siblings, 0 replies; only message in thread
From: Mark Galassi @ 2000-06-02 23:25 UTC (permalink / raw)
  To: gsl-announce

Dear GSL enthusiasts,

I have just placed a new release snapshot of GSL (0.6) up for
anonymous ftp access at

and it should soon also be available at

The home page is at

Installation: GSL uses the standard GNU installation procedure.  The
release tarball (gsl-0.6.tar.gz) comes with an INSTALL file

Packaging: there is now a gsl.spec file included, so RPM generation is
easy.  I have included an RPM file for gsl-0.6 on the sourceware ftp
site (mentioned above), but we welcome suggestions from expert
packagers.  Debian also provides GSL packages.

Documentation: GSL has an extensive manual.  The info files are
installed in the usual way.  The sourceware ftp site has the reference
manual in postscript and PDF formats, and the web site has the
reference manual in HTML format.

Here is the NEWS file.  As you can notice, there is much new material.

--- NEWS file ---

** The library is now installed as a single shared or static libgsl
file using libtool.

** The gsl-config script now works.  There is also a gsl.m4 file which
people can use in their configure scripts.

** All header files are now in installed as pkginclude headers in a
gsl/ subdirectory.

** The header files now use extern "C" to allow them to be included in
C++ programs

** For consistency the following functions have been renamed,

    gsl_vector_copy (dest, src) is now  gsl_vector_memcpy (dest, src)
    gsl_rng_cpy (dest, src)     is now  gsl_rng_memcpy (dest, src)
    gsl_matrix_copy_row (v,m,i) is now  gsl_matrix_get_row (v,m,i)
    gsl_matrix_copy_col (v,m,j) is now  gsl_matrix_get_col (v,m,j)
    gsl_vector_swap             is now  gsl_vector_swap_elements
    gsl_vector_swap_cols        is now  gsl_vector_swap_columns
    gsl_vector_swap_row_col     is now  gsl_vector_swap_row_column

and the vector/matrix view allocation functions have been simplified.

** A new sort directory has been added for sorting objects and vectors.

** A permutation directory has been added for manipulating permutations

** Statistics functions now support a stride argument for generality, and
also support weighted samples and a covariance function.

** The names of the statistics functions have been reorganized for
improved clarity. Consult manual for details.

** The environment variable GSL_IEEE_MODE now uses "," as a separator
instead of ";"

** The script, mostly for use by developers who use the CVS
repository, now does not run configure.

** The histogram directory now has additional functions for copying
and comparing histograms, performing arithmetic on histograms and
finding maximum and minimum values. Corresponding functions have been
added for vectors and matrices.

** The linear algebra directory supports additional methods, including
rectangular QR, rectangular QRPT and Cholesky decomposition.

** Complex arithmetic (+,-,*,/) and complex elementary functions
(sqrt, log, exp, sin, cos, tan, arcsin, arccos, arctan, sinh, cosh,
tanh, arcsinh, arccosh, arctanh) are now supported.

** Multidimensional minimization methods are now available.

** The special functions directory now includes a routine for
computing the value of the incomplete beta function.

* Was new in gsl-0.5:

** There is now a KNOWN-PROBLEMS file which lists compilation problems
and test failures which are known to the developers.

** Many improvements have been made to the special functions directory.

** The extrapolations from the Levin u-transform are now more reliable.

** Linear algebra and Eigensystem routines are now available.

** ODE solvers are now available.

** Multidimensional root finding algorithms are available.

** Minimization now keeps track of function values.

** Matrices and vectors now use a BLAS compatible format, and have a
separate memory handling layer (gsl_block).

** Roots of general polynomials can now be found using gsl_poly_complex_solve

** IEEE modes support on Sparclinux, Tru64, AIX and IRIX

** We have added the second generation RANLUX generators RANLXS and RANLXD

** Minimization algorithms are available (one-dimensional)

** Documentation now works out of the box with the standard Texinfo.

** Full reimplementation of the QUADPACK integration library

** Introduced THANKS file.
We appreciate all patches from people on the net, even those which are
too small to warrant adding the author to the AUTHORS file.  The
THANKS file should include everyone who sent in patches.  They should
also be mentioned in the ChangeLog entry.

* What was new in gsl-0.4.1:

** Two changes not making their way into the documentation
A couple of things are not getting into the docs, so here are the
*** The FFT routines now take a stride parameter.  Passing 1 for the
stride will make them behave as documented.
*** The complex numbers are now an opaque type, and no assumptions can
be made about the format in which they are stored (they are not stored
as a simple structure anymore, since that is not portable).  The type
is now gsl_complex (or gsl_complex_long_double or gsl_complex_float),
and the macros to access them are

This change in the complex number API makes it important that you
start working with 0.4.1 or later.

** 0.4.1 is being released in occasion of the Red Hat 6.0 release.
The specfunc module is still in an alpha state; if you run "make
check" in the specfunc directory you will see that some tests still

** Most Alpha specific problems have been fixed. In particular the
random number generators rand48 and ranf now work on the Alpha

** Additional random number distributions: 
   Rayleigh distribution
   n-dimensional spherical distribution 
     (ie, points at random on an n-dimensional sphere)
   Gaussian tail distribution 
     (ie, choosing values from a gaussian distribution subject to a 
      constraint that they be larger than some fixed value, eg 5 sigmas)
   Walker's algorithm for arbitrary discrete distributions

* What was new in gsl-0.4:

** A single libgsl.a file is built in the top level directory and
installed, instead of separate .a files for each subdirectory.

** The parts of the complex struct gsl_complex, .real and .imag, are
not supported anymore. The macros GSL_REAL(z) and GSL_IMAG(z) do the
same job. All complex numbers are considered as packed arrays of
floating point numbers, for portability since the layout of structs or
arrays of structs is not guaranteed.

** The interface for matrices and vectors has changed. Vectors now
support strides, and can be used to access rows and columns of a
matrix. Many more types are available (float, double, long double,
int, long, short, char, signed and unsigned, plus complex floats,
doubles and long doubles) due to improvements in our preprocessor
template system.

** The random number generators have a completely new thread-safe
interface and have moved from the random directory to the rng
directory. Any program using random numbers will have to be
updated. You can also choose generators and seeds using the
environment variables GSL_RNG_TYPE and GSL_RNG_SEED.

** Some additional random number distributions have been added in the
randist directory. The available distributiosn are: bernoulli, beta,
binomial, cauchy, chisq, erlang, exponential, fdist, flat, gamma,
gauss, geometric, levy, logistic, lognormal, nbinomial, pareto,
poisson, sphere, tdist, twosidedexp, weibull.

** The FFT interface has be extended to support strides, but the
implementation hasn't been finished for all the cases yet, The FFT
allocation functions now return a pointer to a newly allocated
wavetable struct, instead of taking the pointer to an existing struct
as an argument.

   e.g. status = gsl_fft_wavetable_alloc(n, w)
   is now    w = gsl_fft_wavetable_alloc(n) in accordance with usual practice

** The statistics directory now works with all the builtin
types. It has a new function for computing the lag1-autocorrelation and
an extra set of numerical accuracy tests from NIST as part of 'make

** The simulated annealing routines no longer set the random number
seed with the time of day.  You'll need to reseed the generator
yourself if you want subsequent runs to use different random numbers.

** Work is in progress on a reimplementation of QUADPACK in the
`integration' subdirectory, but it is not finished yet.

** Work is in progress on reimplementations of the VEGAS and
MISER Monte Carlo algorithms in the monte' subdirectory.  They work
just fine, but the code is still evolving.

** Work has started on a portable blas system in the `blas'

** You can now set the IEEE arithmetic mode for your programs from the
environment variable GSL_IEEE_MODE by calling the function
gsl_ieee_env_setup(). Currently this only works with the Linux kernel,
HP-UX, SunOS4 and Solaris.

** There are some simple spline interpolation functions in the `interp'

** The NEWS file now uses outline mode, like the Emacs NEWS file

* This covers changes made *after* the gsl-0.2 snapshot

** Added several new modules: histogram, integration, matrix, specfunc
and vectors.

** Changed libgsl_statisctics.a to libgslstatistics.a and
libgsl_siman.a to libgslsiman.a, since most of the packages don't have
the underscore.  Users will have to remove the old files, unless they
do a "make uninstall" on the previous release before they install this
new one.

** Changes to the random number suite
Incorporated the gauss, poisson and exponential distributions in
the standard libgslrandom.a

Local variables:
mode: outline
paragraph-separate: "[ 	\f]*$"

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2000-06-02 23:25 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-06-02 23:25 GNU Scientific Library (GSL) 0.6 is released Mark Galassi

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).