| * 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: |