Commit graph

14 commits

Author SHA1 Message Date
wiz
6b056f9b6e Update to 1.9:
* What is new in gsl-1.9:

** Fixed the elliptic integrals F,E,P,D so that they have the correct
behavior for phi > pi/2 and phi < 0.  The angular argument is now
valid for all phi.  Also added the complete elliptic integral
gsl_sf_ellint_Pcomp.

** Added a new BFGS minimisation method gsl_multimin_fdfminimizer_vector_bfgs2
based on the algorithm given by R.Fletcher in "Practical Methods of
Optimisation" (Second edition).  This requires substantially fewer
function and gradient evaluations, and supercedes the existing BFGS
minimiser.

** The beta functions gsl_sf_beta_e(a,b) and gsl_sf_lnbeta_e(a,b) now
handle negative arguments a,b.  Added new function gsl_sf_lnbeta_sgn_e
for computing magnitude and sign of negative beta values, analagous to
gsl_sf_lngamma_sgn_e.

** gsl_cheb_eval_mode now uses the same error estimate as
gsl_cheb_eval_err.

** Improved gsl_sf_legendre_sphPlm_e to avoid underflow with large
arguments.

** Added updated Knuth generator, gsl_rng_knuthran2002, from 9th
printing of "The Art of Computer Programming".  Fixes various
weaknesses in the earlier version gsl_rng_knuthran.  See
http://www-cs-faculty.stanford.edu/~knuth/news02.htm

** The functions gsl_multifit_fsolver_set, gsl_multifit_fdfsolver_set
and gsl_multiroot_fsolver_set, gsl_multiroot_fdfsolver_set now have a
const qualifier for the input vector x, reflecting their actual usage.

** gsl_sf_expint_E2(x) now returns the correct value 1 for x==0,
instead of NaN.

** The gsl_ran_gamma function now uses the Marsaglia-Tsang fast gamma
method of gsl_ran_gamma_mt by default.

** The matrix and vector min/max functions now always propagate any
NaNs in their input.

** Prevented NaN occuring for extreme parameters in
gsl_cdf_fdist_{P,Q}inv and gsl_cdf_beta_{P,Q}inv

** Corrected error estimates for the angular reduction functions
gsl_sf_angle_restrict_symm_err and gsl_sf_angle_restrict_pos_err.
Fixed gsl_sf_angle_restrict_pos to avoid possibility of returning
small negative values.  Errors are now reported for out of range
negative arguments as well as positive.  These functions now return
NaN when there would be significant loss of precision.

** Corrected an error in the higher digits of M_PI_4 (this was beyond
the limit of double precision, so double precision results are not
affected).

** gsl_root_test_delta now always returns success if two iterates are
the same, x1==x0.

** A Japanese translation of the reference manual is now available
from the GSL webpage at http://www.gnu.org/software/gsl/ thanks to
Daisuke TOMINAGA.

** Added new functions for basis splines, see the "Basis Splines"
chapter in the GSL Reference Manual for details.

** Added new functions for testing the sign of vectors and matrices,
gsl_vector_ispos, gsl_vector_isneg, gsl_matrix_ispos and
gsl_matrix_isneg.

** Fixed a bug in gsl_sf_lnpoch_e and gsl_sf_lnpoch_sgn_e which caused
the incorrect value 1.0 instead of 0.0 to be returned for x==0.

** Fixed cancellation error in gsl_sf_laguerre_n for n > 1e7 so that
larger arguments can be calculated without loss of precision.

** Improved gsl_sf_zeta_e to return exactly zero for negative even
integers, avoiding less accurate trigonometric reduction.

** Fixed a bug in gsl_sf_zetam1_int_e where 0 was returned instead of
-1 for negative even integer arguments.

** When the differential equation solver gsl_odeiv_apply encounters a
singularity it returns the step-size which caused the error code from
the user-defined function, as opposed to leaving the step-size
unchanged.

** Added support for nonsymmetric eigensystems

** Added Mathieu functions
2007-02-26 08:05:15 +00:00
rillig
600d05dc35 Added two patches which fix the build on NetBSD. 2007-01-01 14:32:29 +00:00
schwarz
0f8b1b368b added patches needed by picky SGI ido cc 2006-10-22 19:51:05 +00:00
adam
a2b8e1bd75 Changes 1.8:
** Added an error check to trap multifit calls with fewer observations
than parameters.  Previously calling the multifit routines with n<p
would cause invalid memory access.

** Added the Debye unit to physical constants.

** Added cumulative distribution functions for the discrete
distributions, including binomial, poisson, geometric, negative
binomial, pascal and hypergeometric.

** Added the functions gsl_cdf_beta_{Pinv,Qinv} and
gsl_cdf_fdist_{Pinv,Qinv} for computing the inverse of the cumulative
beta and F distributions.

** Added the multilinear fit estimator function gsl_multifit_linear_est
for computing model values and their errors.

** Avoid division by zero in gsl_multimin_fdfminimizer_vector_bfgs
if the step-size becomes too small.

** Users on DEC Alpha systems will need to specify their desired IEEE
arithmetic options via CFLAGS when building the library, as these are
no longer added automatically.

** Added new random variate generators gsl_ran_gaussian_ziggurat
and gsl_ran_gamma_mt for the Gaussian and Gamma distributions based on
the Marsaglia-Tsang ziggurat and fast gamma methods.

** Improved the speed of the exponential power distribution
gsl_ran_exppow.

** Improved the speed of the Gaussian ratio method by adding quadratic
bounds in gsl_ran_gaussian_ratio_method.
2006-04-20 18:31:15 +00:00
adam
0a4c703516 Changes 1.6:
* Added a new wavelet directory, with 1-dimensional and 2-dimensional
  discrete wavelet transforms.
* Added support for LQ and P^T LQ decompositions.  To find the QR
  decomposition of large systems (M>>N) use the LQ decomposition,
  solving the transpose of the original system.  This allows more
  efficient memory access, and is useful for solving large least-squares
  problems.
* Fixed a bug in the SYRK and HERK blas functions gsl_blas_{s,d,c,z}syrk
  and gsl_blas_{c,z}herk which caused invalid memory access for non-square
  matrices.
* Fixed a bug in gsl_swap_vectors which caused it to return incorrect
  results when swapping vectors with different strides.
* Corrected the error estimate for gsl_cheb_eval_n_err to use
  evaluation order instead of the approximation order.
* Improved the reliability of the gsl_sf_gamma_inc family of
  functions.
* Equal abscissae are now handled gracefully in the cspline and
  periodic cspline interpolations.
* Removed potential cancellation error in calculation of uniform
  histogram ranges.
* Improved numerical stability of integration for akima and cspline
  interpolation.
* Differential equation solvers now handle error codes returned from
  user-defined functions.
* Improved error estimates in ode-initval solvers, and provide exact
  derivatives on output.  Added new semi-implicit ode-initval solver,
  gsl_odeiv_step_rk2simp.
* Added missing function definition for gsl_sf_psi_1.
* Fixed the function gsl_sf_expint_Ei_scaled to call
  gsl_sf_expint_Ei_scaled_e instead of gsl_sf_expint_Ei_e.
* Added cumulative distribution function for exponential power
  distribution.
* The functions gsl_cdf_beta_P and gsl_cdf_beta_Q now return
  consistent results of 0 or 1 for out of range values, x<0 and x>1,
  rather than 0 for left and right tails simultaneously.
* The Jacobi eigensolvers gsl_eigen_jacobi and gsl_eigen_jacobi_invert
  have new implementations from Golub and Van Loan.
* The standard output and standard error streams are now flushed by
  the default error handler before the program aborts, in order to
  ensure that error messages are properly displayed on some platforms.
2005-01-13 15:06:25 +00:00
drochner
2c5700ad96 update to 1.5
notable changes besides bugfixes are:
** Multifit routines now handle iterations where |f| is already
minimised to zero, without division by zero.
** Numerical derivatives should now be calculated using the
gsl_deriv_forward, gsl_deriv_central and gsl_deriv_backward functions,
which accept a step-size argument in addition to the position x.  The
original gsl_diff functions (without the step-size) are deprecated.
** The tridiagonal matrix solvers gsl_linalg_solve_symm_tridiag,
gsl_linalg_solve_tridiag, gsl_linalg_solve_symm_cyc_tridiag,
gsl_linalg_solve_cyc_tridiag now use the GSL_ERROR macro to report
errors, instead of simply returning an error code.  The arguments to
these functions must now use exact lengths with no additional
elements.  For cyclic systems all vectors must be of length N, for
tridiagonal systems the offdiagonal elements must be of length N-1.
** The singular value decomposition routines gsl_linalg_SV_decomp and
gsl_linalg_SV_decomp_mod now handle the SVD of a column vector (N=1,
arbitrary M), which can occur in linear fitting.
** Added Stefan-Boltzmann constant and Thomson cross section to
physical constants
2004-08-06 19:29:49 +00:00
dmcmahill
fd078503d8 forgot to add on last commit 2003-09-14 21:14:08 +00:00
dmcmahill
07d1b3f65b correct the name of some included header files. This lets the CGS and MKS
units work correctly now.  Bump pkgrevision.
2003-09-14 14:53:06 +00:00
jtb
f6620f1152 Update to version 1.4.
* What is new in gsl-1.4:

** Added cumulative distribution functions and their inverses for the
continuous random distributions including: gaussian, lognormal, gamma,
beta, cauchy, laplace, chisq, exponential, gumbel, weibull,
F-distribution, t-distribution, logistic, pareto and rayleigh.

** Added faster binomial random variates using the TPE rejection
algorithm, in the function gsl_randist_binomial_tpe.

** Added new functions gsl_rng_fwrite and gsl_rnd_fread for storing
the state of random number generators in a file.

** Added a new function gsl_combination_memcpy()

** Corrected values of electrical constants in CGS units.  To take
account of different electrical systems of units the values are now
prefixed by GSL_CONST_MKSA (for the SI Metre, Kilogram, Second, Ampere
system) or GSL_CONST_CGSM (for the Centimetre, Gram, Second, Magnetic
system with the Gauss as the fundamental unit of magnetic field
strength).  The previous GSL_CONST_MKS and GSL_CONST_CGS prefixes have
been removed, as have the permeability and permittivity constants in
the CGS system since this uses different defining equations.

** Fixed bugs in the random number generators gsl_rng_fishman18,
gsl_rng_fishman2x, and gsl_rng_knuthran2 which caused them to return
incorrect results.  Minor corrections were made to the parameters in
the other Knuth generators borosh13, coveyou, fishman20, lecuyer21,
and waterman14.

** Fixed a missing transpose bug in the gsl_linalg_QR_QRsolve
and gsl_linalg_QRPT_QRsolve routines which were computing the
solution to Q^T R x = b instead of Q R x = b.

** Fixed gsl_sf_gammainv to return zero instead of a domain
error for arguments corresponding to singularities in gamma.

** Fixed a bug in the simplex minimization algorithm which
caused it to fail to find the second highest point correctly
when searching the set of simplex points.

** Fixed a bug in the conjugate gradient minimizers conjugate_pr,
conjugate_fr and vector_bgfs which caused the search
directions to be updated incorrectly.

** Fixed a bug in gsl_sf_psi_1_int(1) which caused it to
return the incorrect sign for psi(1,1).

** Fixed the simulated annealing routine gsl_siman_solve to use the
parameter iters_fixed_T for the number of iterations at fixed
temperature instead of n_tries.

** Fixed a bug in gsl_combination_valid which caused it to return the
incorrect status.

** Fixed a bug in gsl_permutation_canonical_to_linear which caused the
output to always be zero, and the input permutation to be incorrectly
replaced by the output.

** Fixed a bug is gsl_ran_discrete which could cause uninitialised
data to be returned for some distributions.

** Fixed the dependencies for gsl_chebyshev.h to include gsl_math.h.

** Fixed a bug in gsl_complex_arccsc_real which caused it to return
the incorrect sign for the imaginary part when -1<x<0.

** Fixed a bug in the QAWC Cauchy integration routine which could
allow the singularity to fall on an interval boundary, leading to
division by zero.

** Improved gsl_sf_gamma_inc_P(a,x) to avoid a domain error for x<<a
when a>10.

** Improved the accuracy of gsl_sf_coupling_3j for large arguments.

** Improved the performance of gsl_sf_choose(m,n) by separating the
calculations for small and large arguments.

** On platforms without IEEE comparisons gsl_{isnan,isinf,finite} will
fall back to the system versions of isnan, isinf and finite if
available.

** gsl_linalg_householder_hv now uses BLAS routines internally

** The script configure.in is now compatible with autoconf-2.50 and
later.

** Reduced the memory usage of the multifit algorithms from MxM to MxN
for large M by performing the QR decomposition of the Jacobian
in-place.

** IEEE modes now use the C99 fenv.h functions when platform spectific
functions are not available.
2003-08-30 21:50:59 +00:00
seb
28900cf2c5 Convert to USE_NEW_TEXINFO. 2003-08-02 13:20:15 +00:00
jtb
7eab36bf35 Update to GSL version 0.9.
* What is new in gsl-0.9:

** There is a new system of vector and matrix views.  Any code using
vector and matrix views will need to be updated.

** The order of arguments of the view functions involving strides have
been changed to be consistent with the rest of the library.

** The ode solvers have been reorganized.

** There are new eigensystem routines for real symmetric and complex
hermitian matrices.

** The linear algebra directory now includes functions for computing
symmetric tridiagonal decompositions and bidiagonal decompositions.

** The svd routines now include the Golub-Reinsch and Modified
Golub-Reinsch algorithms in addition to the Jacobi algorithm.

** The interpolation directory has been reorganized and a higher-level
"spline" interface has been added which simplifies the handling of
interpolation arguments.

** IEEE support is now available on OpenBSD.
2001-07-05 18:04:50 +00:00
jtb
b3c69c55b4 Use -Wl,-R$libdir in the `gsl-config' script. 2001-06-01 19:41:08 +00:00
jtb
1c400cc426 No longer needed. 2001-05-23 20:29:15 +00:00
jtb
e1791dde38 Updated to gsl-0.7.
* What is new in gsl-0.7:

** Linux/PowerPC should now be well supported.

** Header files for common physical constants have been added.

** Functions linear and nonlinear regression in one or more dimensions
are now available.

** Vector and matrix views now have access to the address of the
underlying block for compatibility with VSIPL (www.vsipl.org).

** There is a new library for generating low-discrepancy quasi-random
sequences.

** The seeding procedure of the default random number generator
MT19937 has been updated to match the 10/99 release of the original
code.  This fixes a weakness which occurred for seeds which were
powers of 2.

** The blas library libgslblasnative has been renamed libgslblas to avoid
confusion with system blas library
2001-03-28 21:49:41 +00:00