diff options
Diffstat (limited to 'gsl-1.9/NEWS')
-rw-r--r-- | gsl-1.9/NEWS | 1093 |
1 files changed, 1093 insertions, 0 deletions
diff --git a/gsl-1.9/NEWS b/gsl-1.9/NEWS new file mode 100644 index 0000000..bee9142 --- /dev/null +++ b/gsl-1.9/NEWS @@ -0,0 +1,1093 @@ +* 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 + +* What was new in gsl-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. + +** Added an extra term to the taylor series of the synchrotron +functions gsl_sf_synchrotron_1 and gsl_sf_synchrotron_2 for small x to +ensure smooth matching with the chebyshev expansion. + +** The binomial pdf gsl_ran_binomial_pdf now handles the cases p=0 +and p=1 and is more accurate for the case of small p with k=0. + +** Fixed the spherical bessel function gsl_sf_bessel_jl_e) to limit +the use of gsl_sf_bessel_Jnu_asympx_e to the range x>100*l*l to +satisfy he requirement x>>l*l in the asymptotic expansion. + +** The scaled bessel function gsl_sf_bessel_In_scaled now handles +larger arguments x > 1e7 correctly for n < 150 using the uniform +asymptotic expansion instead of the continued fraction expansion. + +** The functions gsl_stats_min/max now return NaN if the data contains +NaN. Similarly, the functions gsl_stats_min/max_index return the index +of the first occurring NaN in the data when it contains a NaN. + +** Fixed an invalid memory access that caused incorrect results for +the special case in periodic cubic spline interpolation of 3 points. + +** Added Debye functions for n=5 and n=6 + +** Added the missing functions gsl_spline_name() and +gsl_spline_min_size() + +** The function gsl_rng_uniform_int(r,n) now returns an error for n=0, +which can occur when passing an unsigned integer value of 2^32. + +* What was new in gsl-1.7: + +** Switched gsl_randist_binomial to use the faster binomial random +variate TPE algorithm by default. The previous binomial variate +algorithm is available as gsl_randist_binomial_knuth. This will +result in a different sequence of binomial variates in programs using +this function. + +** Improved the algorithm for gsl_sf_elljac_e to avoid cancellation +errors near quarter periods. + +** Fixed the branch selection in gsl_sf_gamma_inc_Q_e to avoid +inaccurate results for large a,x where x~=~a. + +** The multilinear fitting functions now have forms which accept a +user-specified tolerance for the SVD cutoff and return the +corresponding effective rank of the design matrix. + +** The quadratic solvers in poly/ now handle linear equations +gracefully (i.e. quadratrics with a leading coefficient of zero). + +** The output of "make check" now only shows test failures by default, +to reduce the amount of output. Set the environment variable +GSL_TEST_VERBOSE=1 to display all the output. To assist debugging, +the test number of each failure is shown in square brackets at the +line-end [NNNN]. + +** Fixed bugs in gsl_linalg_SV_decomp_jacobi which caused +incorrect results for some input matrices. + +** Bessel, coulomb, dilogarithm and legendre_H3d functions now use +hypot internally to avoid overflow when computing terms like +sqrt(1+x*x). + +** The 'Usage' chapter of the reference manual now explains how to +handle deprecated functions using the GSL_DISABLE_DEPRECATED macro. + +** The conflicting enum definitions for 'forward' and 'backward' in +gsl_ftt.h and gsl_wavelet.h are deprecated. User code should switch +to the new definitions gsl_fft_forward, gsl_fft_backward, +gsl_wavelet_forward and gsl_wavelet_backward. Selectively define +GSL_DISABLE_DEPRECATED before including the headers to use the new +definitions on either or both modules. + +** Fixed an error in the the brent minimisation algorithm. Iterations +should now follow Brent's original description correctly. + +** The bound coulomb function gsl_sf_hydrogenicR_e no longer reports +an underflow for exact zeroes of the wavefunction. + +** gsl_linalg_SV_decomp_jacobi now reports an error for the +unimplemented case M<N correctly. + +** Fixed conformance test for the SYRK and HERK blas functions +gsl_blas_{s,d,c,z}syrk and gsl_blas_{c,z}herk for non-square matrices. + +** Configure now checks for presence of ieeefp.h if needed. + +** Differential equation solvers now propagate error codes returned +from user-defined functions to the top-level in all cases. + +** Sort functions now avoid an infinite loop if Nans are present in +the input vector. The order of nans in the output is undefined, +although other elements will be sorted correctly. + +* What was new in gsl-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. + +* What was new in gsl-1.5: + +** Multifit routines now handle iterations where |f| is already +minimised to zero, without division by zero. + +** Fixed the singular value tolerance test in the multifit covariance +calculation from < to <= to match the original MINPACK code. + +** The macro HAVE_INLINE is now tested with #ifdef instead of #if as +in versions prior to 1.4, to match the documentation, and the macro +GSL_RANGE_CHECK_OFF now works correctly. An alternative macro +GSL_RANGE_CHECK={0,1} can be used to control range-checking. + +** Fixed a potential array overflow in gsl_ran_landau. + +** Fixed a small discrepancy in the tolerance calculation of the +one-dimensional brent minimiser. + +** 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. + +** Corrected documentation for gsl_ran_hypergeometric_pdf() + +** 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. + +** Restored missing header files gsl_const_mks.h and gsl_const_cgs.h. +The incorrect values of the electrical units for gsl_const_cgs +(VACUUM_PERMEABILITY and VACUUM_PERMITTIVITY) have been removed. + +** Fixed gsl_linalg_SV_decomp() to avoid an infinite loop when +computing the SVD of matrices containing Inf and Nan. + +** Fixed gsl_linalg_balance_columns() to avoid an infinite loop when +rescaling matrices containing Inf and NaN. + +** Fixed header file <gsl/gsl_sf_log.h> to include declarations for +error codes in inline versions of gsl_sf_log functions + +** Fixed header file <gsl/gsl_const.h> to include new MKSA and CGSM +header files. + +** Added Stefan-Boltzmann constant and Thomson cross section to +physical constants + +* What was 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. + +* What was new in gsl-1.3: + +** Changed interface for gsl_sf_coupling_6j...(...). The old functions +actually calculated 6j for a permutation of the arguments (that +related to Racah W). This was incorrect and not consistent with +the documentation. The new versions calculate < {a,b,c}, {d,e,f} >, +as stated in the documentation. The old versions are still available +as gsl_sf_coupling_6j_INCORRECT...(...), though they are deprecated +and will be removed at some point in the future. + +** Added new functions for computing Em(x)=exp(-x)*Ei(x), the modified +(scaled) form of the exponential integral, gsl_sf_expint_E1_scaled, +gsl_sf_expint_E2_scaled, gsl_sf_expint_Ei_scaled. + +** Fixed compilation problems with gcc -ansi and other ANSI compilers. + +** Fixed uninitialized memory access in the Niederreiter quasi-random +number generator. + +** Fixed the eigenvalue routines to prevent an infinite loop for Inf +or NaN entries in matrix. + +** Fixed a bug in the multifit and multiroots allocation routines +which cause them to fail to report some out of memory conditions. + +** Fixed a bug in the seeding for the random number generator +gsl_rng_taus2 which affected a small number of seeds. + +** Modified the complex householder transforms to avoid division by +zero, which could cause NaNs to be returned by the gsl_eigen_hermv +eigenvalue decomposition. + +** The Nelder-Mead simplex algorithm for multidimensional +minimisation has been added. + +** The random number distributions now include the Dirichlet and +Multinomial distributions. + +** Added a new function gsl_fcmp for approximate comparison of +floating point numbers using Knuth's algorithm. + +** Added new functions gsl_ldexp and gsl_frexp as portable +alternatives to ldexp() and frexp(). + +** Fixed a bug in gsl_linalg_bidiag_unpack_B which was returning +incorrect results for the superdiagonal. + +** Fixed a bug in the acceptance condition for simulated annealing + +** Ordinary differential equations can now be solved using a different +absolute error for each component with gsl_odeiv_control_scaled_new(). + +** Upgraded to libtool-1.4.3 + +* What was new in gsl-1.2: + +** Added new functions for combining permutations, converting between +cyclic and linear representations, and counting cycles and inversions. + +** New multiroot functions now allow access to the current values of f +and dx. + +** The default error handler now outputs a explanatory message before +aborting. + +** Extended gsl_linalg_SV_decomp to handle exact zeroes in the +singular values, and added tests for 3x3 matrices. + +** Fixed a bug in gsl_linalg_SV_decomp which caused singular values to +be sorted incorrectly. + +** Fixed a bug in gsl_linalg_solv_symm_cyc_tridiag which caused it to +produce incorrect results. + +** Added nonsymmetric tridiagonal solvers gsl_linalg_solve_tridiag and +gsl_linalg_solve_cyc_tridiag. + +** The declarations used to export static objects can now be +controlled through a macro GSL_VAR and the header file +<gsl/gsl_types.h>. + +** The simulated annealing routine gsl_siman_solve now keeps track of +the best solution so far. + +** The values of the physical constants have been updated to the +CODATA 1998 recommendations. + +** Added new physical constants, newton, dyne, joule, erg and +power-of-ten prefixes, Mega, Giga, Tera, etc. + +** The error estimate for the elliptic function gsl_sf_ellint_Kcomp_e +has been improved to take account of numerical cancellation for small +arguments. + +** The domain of gsl_sf_psi_1piy has been extended to negative y. + +** Fixed memory leak in the Chebyshev module. + +** The seeding procedure of mt19937 has been updated to the latest +version from Makoto Matsumoto and Takuji Nishimura (Jan 2002). The +original seeding procedure is available through the generator +gsl_rng_mt19937_1999. + +** A new random number generator gsl_rng_taus2 has been added to +correct flaws in the seeding procedure of gsl_rng_taus, as described +in an erratum to the original paper of P. L'Ecuyer. + +** Added missing declaration for the generator gsl_rng_mt_19937_1998. + +** Added missing quasi-random number generator function gsl_qrng_init. + +** Removed unnecessary endpoint subtraction in chebyshev-based +QUADPACK routines to avoid possible loss of precision. + +** Fixed bug in gsl_interp_cspline_periodic which caused a +discontinuity in the derivative near the boundary. + +** The function gsl_min_fminimizer_minimum has been renamed to +gsl_min_fminimizer_x_minimum for consistency (the old function name is +still available but is deprecated). Additional functions have been +added for accessing the function values at the minimum and endpoints +of the bounding interval. + +** The KNOWN-PROBLEMS file of "make check" failures has been replaced +by a BUGS file, since we now require "make check" to work correctly +for stable releases. + +* What was new in gsl-1.1.1: + +** Fixes to histogram2d stat functions + +** Added missing prototypes for complex LU determinant functions + +** Improved error handling in multifit routines + +** Added check to avoid division by zero for rank-deficient matrix in +multifit iteration + +* What was new in gsl-1.1: + +** The permutation module now includes a copy function +gsl_permutation_memcpy + +** The implementation of gsl_sf_gamma_inc has been improved and now +avoids problems caused by internal singularities which occurred in the +series expansion for some combinations of parameters. + +** IEEE comparisons of infinities and NaNs are tested during the +configure stage and the functions gsl_isnan, gsl_isinf and gsl_finite +are only compiled on platforms which support the necessary tests. + +** The histogram routines now include a sum function, +gsl_histogram_sum for computing the total bin sum, and additional +statistics functions for 2d histograms. + +** Internal error checking of user-defined functions has been improved +in the multiroots functions. + +** Constants now include the Bohr Radius and Vacuum Permittivity. + +** Range checking is now turned off when building the library, but is +still on by default when compiling user applications. + +** A combinations directory has been added for generating combinations (n,k). + +** The gamma function now returns exact values for integer arguments. + +** Fixed bugs in gsl_sf_hyperg_1F1_int and gsl_sf_hyperg_1F1. + +** Fixed internal error handling in gsl_sf_laguerre_n to allow +recovery from overflow. + +** Several routines for handling divided difference polynomials have +been added to the poly/ directory. + +** The interpolation routines now include polynomial interpolation, +based on divided-differences. + +** Added new random number generators from Knuth's Seminumerical +Algorithms, 3rd Edition: borosh13, coveyou, fishman18, fishman20, +fishman2x, knuthran, knuthran2, lecuyer21, waterman14. + +** Changed divisor in random number generator gfsr4 from 2^32-1 to +2^32 to prevent exact value of 1.0 from being returned, as specified +in the documentation. + +* What was new in gsl-1.0: + +** First general release. + +** Increased the maximum number of iterations in gsl_poly_complex_solve() +from 30 to 60. + +* What was new in gsl-0.9.4: + +** Reorganized the multmin functions to use the same interface as the +other iterative solvers. + +** Added histogram _alloc functions for consistency, in addition to the +existing _calloc functions. + +** Renamed all the gsl_multimin functions to be consistent with the +rest of the library. An underscore has been removed from _minimizer +in all the function names. + +** Renamed the function gsl_sf_coulomb_CL_list to gsl_sf_coulomb_CL_array + +** A bug in the multimin functions where the function parameters +(params) were omitted has been fixed. + +** A bug in the nonlinear minimization routines has been fixed, which +could prevent the algorithms from converging. Additional tests from +the NIST reference datasets have been added and these now agree with +MINPACK. + +** All the physical constants and conversion factors are now defined as +real numbers to avoid potential problems with integer arithmetic. + +** The ODE evolution routines now allow for negative step sizes, and +integrating backwards as well as forwards. + +** The implicit Burlisch-Stoer ODE algorithm 'bsimp' now detects +singularities and forces a reduction in step size, preventing runaway +instabilities. + +** Fixed a bug in the ODE evolution function gsl_odeiv_evolve_apply +which could cause an erroneous value to be returned if the step size +is reduced on the last step. + +* What was new in gsl-0.9.3: + +** Routines for complex LU decomposition are now available, allowing +the solution of systems of equations with complex coefficients. + +** Matrix views of vectors now correctly require a unit stride for the +original vector. + +** Permutations can now be applied to complex arrays and vectors. + +** gsl_sf_pow_int now handles the case x = 0, n < 0 + +** The static versions of inline functions can now be hidden by +defining the preprocessor macro HIDE_INLINE_STATIC. This is needed +for some compilers. + +** The original seeding procedure of mt19937 is available through the +generator gsl_rng_mt19937_1998. The seeding procedure was flawed, but +is available for compatibility. + +** Added missing functions gsl_complex_div_real and +gsl_complex_div_imag. + +** Missing functions for constant vector and matrix views have now been +added. + +** Statistical calculations for histograms are now available, and the +gsl-histogram command also displays the histogram mean and standard +deviation. + +** The behavior of GSL_IEEE_MODE for denormalized exceptions has been +fixed on Openbsd and Netbsd. + +** A pkg-config file gsl.pc is included in the distribution + +** The reference manual can now be printed in @smallbook format without +overflow. + +* What was new in gsl-0.9.2: + +** Vector and matrix views are now compliant with the ANSI standard. + +** Added Lambert functions gsl_sf_lambert_W0, gsl_sf_lambert_Wm1. + +** The reference manual now uses the GNU Free Documentation License. + +** Fixed a couple of bugs in the SVD routines. + +** Macros for Infinity and Nan now work correctly with Microsoft Visual +C++, and a bug in the config.h file for the finite() function has been +fixed. + +** Redundant entries in the test suite for the complex math functions +have been removed, making the distribution size smaller. + +** Installed programs gsl-randist and gsl-histogram now use shared +libraries. + +* What was new in gsl-0.9.1: + +** The single precision ffts now uses float throughout, rather than +mixing float and double. + +** The random number distributions now include the Landau distribution. + +** The fft function interface has been reorganized, with workspaces +separate from wavetables to eliminate unnecessary recomputation of +trigonometric factors. + +** The gsl_interval type has been eliminated and replaced by two double +arguments for simplicity. + +** The order of the arguments to the minimization routines is no more +logical, with function values assocatied with x-values. + +** Modified initialization of vector and matrix views to work with the +SunPro compiler. + +** Renamed gsl_Efunc_t to gsl_siman_Efunc_t, in accordance with +namespace conventions. + +** Improved accuracy and fixed bugs in gsl_sf_hyperg_1F1, +gsl_sf_bessel_I0_scaled, gsl_sf_erfc, gsl_sf_log_erfc, +gsl_sf_legendre_Q0 and gsl_sf_legendre_Q1, and gsl_sf_zeta. + +** Improved IEEE compliance of special functions, overflows now return +Inf and domain errors return NaN. + +** Improved checking for underflows in special functions when using +extended precision registers + +* What was 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. + +* What was new in gsl-0.8: + +** The build process now uses the latest libtool and automake. + +** The library should now compile with Microsoft Visual C++. + +** Portable versions of the isinf, isnan and finite functions are +available as gsl_isinf(x), gsl_isnan(x) and gsl_finite(x). + +** The definitions of GSL_POSINF, GSL_NEGINF and GSL_NAN no longer +cause divisions by zero during compilation. + +** The gsl_interp_obj has been renamed to gsl_interp. + +** The poly_eval and pow_int functions have been moved from the +specfunc directory to the poly and sys directories. + +** The Chebyshev functions are now available as an independent module +in their own directory. + +** The error handling conventions have been unified across the +library. This simplifies the use of the special functions. + +** A full CBLAS implementation is now included for systems where ATLAS +has not been installed. The CBLAS library can also be used +independently of GSL. The organisation of the BLAS directories has been +simplified. + +** IEEE support for HPUX-11, NetBSD, Apple Darwin and OS/2 are now +included. + +** The library now includes implementations of log1p, expm1, hypot, +acosh, asinh, atanh for platforms which do not provide them. + +** The convention for alloc and set functions has changed so that they +are orthogonal. After allocating an object it is now necessary to +initialize it. + +** There is a new module for estimating numerical derivatives of functions + +** There is a new module for handling data with ntuples + +** The histogram lookup functions are now optimized for the case of +uniform bins, and include an inline binary search for speed. + +** The Chebyschev coefficients for the QAWO algorithm are now +precomputed in a table for efficiency, rather than being computed on +the fly. + +** There are several new sorting functions for selecting the k-th +smallest or largest elements of a dataset. + +** Iterator functions are now available for permutations, +gsl_permutation_next and gsl_permutation_prev. + +** The function gsl_complex_xy has been renamed gsl_complex_rect + +** The API for simulated annealing has been changed to support search +spaces in which the points cannot be represented as contiguous-memory +data structures. gsl_siman_solve() now takes three extra arguments: a +copy constructor, a copy function and a destructor, allowing +gsl_siman_solve() to do its work with linked data structures. If all +three of these function pointers are NULL, then the traditioanl +approach of using malloc(), memcpy(), and free() with the element size +is used. + +* What was 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 + +* What was new in gsl-0.6: + +** 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 autogen.sh 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 +errata: +*** 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 + GSL_REAL(z) + GSL_IMAG(z) + GSL_COMPLEX_P_REAL(zp) + GSL_COMPLEX_P_IMAG(zp) + GSL_COMPLEX_EQ(z1,z2) + GSL_SET_COMPLEX(zp,x,y) + GSL_SET_REAL(zp,x) + GSL_SET_IMAG(zp,y) + +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 +fail. + +** 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 +check'. + +** 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' +subdirectory. + +** 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' +subdir. + +** 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: "[ ]*$" +end: |