As a special service "Fossies" has tried to format the requested text file into HTML format (style: standard) with prefixed line numbers.
Alternatively you can here view or download the uninterpreted source code file.
See also the latest Fossies "Diffs" side-by-side code changes report for "NEWS": 2.7_vs_2.7.1.

1 * What is new in gsl-2.7.1: 2 3 ** update libtool version numbers 4 5 * What was new in gsl-2.7: 6 7 ** fixed doc bug for gsl_histogram_min_bin (lhcsky at 163.com) 8 9 ** fixed bug #60335 (spmatrix test failure, J. Lamb) 10 11 ** fixed bug #36577 12 13 ** clarified documentation on interpolation accelerators (V. Krishnan) 14 15 ** fixed bug #45521 (erroneous GSL_ERROR_NULL in ode-initval2, thanks to M. Sitte) 16 17 ** fixed doc bug #59758 18 19 ** fixed bug #58202 (rstat median for n=5) 20 21 ** added support for native C complex number types in gsl_complex 22 when using a C11 compiler 23 24 ** upgraded to autoconf 2.71, automake 1.16.3, libtool 2.4.6 25 26 ** updated exponential fitting example for nonlinear least squares 27 28 ** added banded LU decomposition and solver (gsl_linalg_LU_band) 29 30 ** New functions added to the library: 31 - gsl_matrix_norm1 32 - gsl_spmatrix_norm1 33 - gsl_matrix_complex_conjtrans_memcpy 34 - gsl_linalg_QL: decomp, unpack 35 - gsl_linalg_complex_QR_* (thanks to Christian Krueger) 36 - gsl_vector_sum 37 - gsl_matrix_scale_rows 38 - gsl_matrix_scale_columns 39 - gsl_multilarge_linear_matrix_ptr 40 - gsl_multilarge_linear_rhs_ptr 41 - gsl_spmatrix_dense_add (renamed from gsl_spmatrix_add_to_dense) 42 - gsl_spmatrix_dense_sub 43 - gsl_linalg_cholesky_band: solvem, svxm, scale, scale_apply 44 - gsl_linalg_QR_UD: decomp, lssolve 45 - gsl_linalg_QR_UU: decomp, lssolve, QTvec 46 - gsl_linalg_QR_UZ: decomp 47 - gsl_multifit_linear_lcurvature 48 - gsl_spline2d_eval_extrap 49 50 ** bug fix in checking vector lengths in gsl_vector_memcpy (dieggsy@pm.me) 51 52 ** made gsl_sf_legendre_array_index() inline and documented 53 gsl_sf_legendre_nlm() 54 55 * What was new in gsl-2.6: 56 57 ** add BLAS calls for the following functions: 58 - gsl_vector_memcpy 59 - gsl_vector_scale 60 - gsl_matrix_memcpy 61 - gsl_matrix_transpose_memcpy 62 - gsl_matrix_tricpy 63 - gsl_matrix_transpose_tricpy 64 65 ** deprecated functions gsl_linalg_complex_householder_hm and 66 gsl_linalg_complex_householder_mh 67 68 ** add unit tests for gsl_linalg_symmtd and gsl_linalg_hermtd 69 70 ** multilarge TSQR algorithm has been converted to use the new Level 3 QR decomposition 71 72 ** nonlinear least squares Cholesky solver now uses the new Level 3 BLAS 73 method; the old modified Cholesky solver is still available under 74 gsl_multifit_nlinear_solver_mcholesky and gsl_multilarge_nlinear_solver_mcholesky 75 76 ** implemented Level 3 BLAS versions of several linear algebra routines: 77 - Triangular matrix inversion 78 - Cholesky decomposition and inversion (real and complex) 79 - LU decomposition and inversion (real and complex) 80 - QR decomposition (courtesy of Julien Langou) 81 - Generalized symmetric/hermitian eigensystem reduction to standard form 82 83 ** removed deprecated function gsl_linalg_hessenberg() 84 85 ** renamed gsl_interp2d_eval_e_extrap() to gsl_interp2d_eval_extrap_e() 86 to match documentation (reported by D. Lebrun-Grandie) 87 88 ** renamed some of the gsl_sf_hermite functions to be more consistent 89 with rest of the library, and deprecated old function names 90 91 ** updated gsl_sf_hermite_func() to use a newer algorithm 92 due to B. Bunck which is more stable for large x; also added 93 gsl_sf_hermite_func_fast() which uses the faster Cauchy integral 94 algorithm in the same paper by Bunck 95 96 ** add gsl_vector_axpby() 97 98 ** add un-pivoted LDLT decomposition and its banded 99 variant (gsl_linalg_ldlt_* and gsl_linalg_ldlt_band_*) 100 101 ** add binary search tree module (gsl_bst); based on GNU libavl 102 103 ** remove -u flag to gsl-histogram 104 105 ** updated spmatrix module 106 - added routines and data structures for all types (float,uint,char,...) 107 - added gsl_spmatrix_scale_columns() and gsl_spmatrix_scale_rows() 108 - added gsl_spmatrix_add_to_dense() 109 - more efficient reallocation of COO/triplet matrices (no longer rebuilds binary tree) 110 - enhanced test suite 111 - added gsl_spmatrix_min_index() 112 113 ** add routines for banded Cholesky decomposition (gsl_linalg_cholesky_band_*) 114 115 ** documented gsl_linalg_LQ routines and added gsl_linalg_LQ_lssolve() 116 117 * What was new in gsl-2.5: 118 119 ** doc bug fix in binomial distribution figure (Damien Desfontaines) 120 121 ** added Wishart distribution (Timothée Flutre) 122 123 ** added new module for digital filtering (gsl_filter); current filters include: 124 Gaussian filter 125 median filter 126 recursive median filter 127 impulse detection filter 128 129 ** added new module for moving window statistics (gsl_movstat) 130 131 ** added statistics functions: 132 gsl_stats_median() 133 gsl_stats_select() 134 gsl_stats_mad() 135 gsl_stats_mad0() 136 gsl_stats_Sn_from_sorted_data() 137 gsl_stats_Qn_from_sorted_data() 138 gsl_stats_gastwirth_from_sorted_data() 139 gsl_stats_trmean_from_sorted_data() 140 141 ** added Romberg integration (gsl_integration_romberg) 142 143 ** bug fix in deprecated functions gsl_multifit_wlinear_svd and 144 gsl_multifit_wlinear_usvd (reported by Vlad Koli) 145 146 ** documentation corrected to state that gsl_sf_legendre functions do 147 not include Condon-Shortley phase by default 148 149 ** bug fix in exponential fitting example when using larger number 150 of points (reported by Anna Russo) 151 152 ** changed internal workspace inside gsl_spmatrix to a union to 153 avoid casting (suggested by Manuel Schmitz) 154 155 ** bug fixes in ode-initval2 for very rare solver crashing cases: 156 #52230 in msadams (reported by Michael Kaufman) and 157 #52336 in msbdf (reported by Andrew Benson). As a fix, 158 the maximum scaling of controlled step length was decreased 159 from 5.0 to 4.9. 160 161 ** add histogram2d figure to manual (was missing in 2.4) 162 163 ** bug fix in gsl_spmatrix_add for duplicate input arguments 164 (reported by Alfredo Correa) 165 166 ** add support for negative arguments nu in gsl_sf_bessel_Jnu and 167 gsl_sf_bessel_Ynu (Konrad Griessinger) 168 169 ** better texinfo documentation for gsl_sf_hyperg functions 170 171 ** fix vector and matrix fread/fwrite testing on windows systems 172 when tmpfile() fails 173 174 ** fix for rstat/test.c on PPC64 (reported by Adam Majer) 175 176 * What was new in gsl-2.4: 177 178 ** migrated documentation to Sphinx software, which has built-in 179 support for latex equations and figures in HTML output 180 181 ** add const to declaration of appropriate gsl_rstat routines 182 183 ** bug fix for #45730: change gsl_sf_sin/cos to libm sin/cos 184 185 ** fix Cholesky documentation regarding upper triangle on output 186 187 ** added routines to compute integrals with fixed-point quadrature, 188 based on IQPACK (Konrad Griessinger) 189 190 ** added routines for Hermite polynomials, gsl_sf_hermite_* 191 (Konrad Griessinger) 192 193 ** added new nonlinear least squares example for fitting 194 a Gaussian to data 195 196 ** deprecated routines: 197 gsl_sf_coupling_6j_INCORRECT 198 gsl_sf_coupling_6j_INCORRECT_e 199 200 ** deprecated routine 'gsl_linalg_hessenberg' (replaced 201 by gsl_linalg_hessenberg_decomp) 202 203 ** removed routines which were deprecated in v2.1: 204 gsl_bspline_deriv_alloc 205 gsl_bspline_deriv_free 206 207 ** changed COD expression to Q R Z^T instead of Q R Z to 208 be consistent with standard texts 209 210 ** added check for nz == 0 in gsl_spmatrix_get 211 (reported by Manuel Schmitz) 212 213 ** permit zero-dimension blocks, vectors, matrics, subvectors, 214 submatrices, and views of the above (bug #49988) 215 216 ** added routine gsl_linalg_COD_lssolve2 for regularized 217 least squares problems 218 219 * What was new in gsl-2.3: 220 221 ** bug fix in documentation for gsl_linalg_LU_refine 222 (bug #49728, Joey De Pauw) 223 224 ** added gsl_multifit_linear_tsvd and gsl_multifit_wlinear_tsvd 225 to give user more control over cutoff for truncated SVD 226 227 ** added routines for Generalized Cross Validation for 228 regularized linear least squares 229 230 ** improved rstat example program and added documentation for 231 gsl_rstat_sd_mean (Jonathan Leto) 232 233 ** added function gsl_multifit_linear_rank 234 235 ** bug fix in nonlinear least squares when using data weights with 236 finite-difference Jacobian 237 238 ** add 2D subspace method for large systems (multilarge_nlinear) 239 240 ** bug fix in gsl_ran_beta for small parameters 241 (bug #47646, Yu Liu) 242 243 ** bug fix in gsl_complex_tan for negative imaginary arguments 244 (bug #47347, Yu Liu) 245 246 ** doc bug fix: value of golden ratio 247 248 ** fixed scaling issue in 2D subspace nonlinear least squares 249 method 250 251 ** optimize dogleg methods to calculate Gauss-Newton point 252 only when needed 253 254 * What was new in gsl-2.2.1: 255 256 ** reverted gsl_linalg_cholesky_decomp to its previous behavior 257 so it is backward compatible; new cholesky routine is 258 gsl_linalg_cholesky_decomp1 259 260 * What was new in gsl-2.2: 261 262 ** updated gsl_linalg_cholesky_invert to use Level-2 BLAS 263 and added function gsl_linalg_pcholesky_invert 264 265 ** added functions gsl_linalg_tri_*_invert for inverting 266 triangular matrices 267 268 ** fix GSL_EIGEN_SORT_VAL_{ASC,DESC} for nonsymmetric 269 eigensystems (Victor Zverovich) 270 271 ** added complete orthogonal decomposition routines 272 (gsl_linalg_COD) 273 274 ** bug fix where median calculation wasn't reset in 275 gsl_rstat_reset(); added gsl_rstat_quantile_reset() function 276 (reported by Pedro Donato) 277 278 ** added multivariate Gaussian random distribution 279 gsl_ran_multivariate_gaussian (Timothée Flutre) 280 281 ** added functions to estimate the 1-norm reciprocal condition 282 number for various matrix factorizations: 283 * gsl_linalg_cholesky_rcond 284 * gsl_linalg_QRPT_rcond 285 286 ** added functions gsl_linalg_QRPT_{lssolve,lssolve2} to 287 compute least squares solutions with the QRPT decomposition 288 289 ** added function gsl_permute_matrix() 290 291 ** added modified Cholesky factorization (gsl_linalg_mcholesky) 292 to handle symmetric indefinite matrices 293 294 ** added pivoted Cholesky factorization (gsl_linalg_pcholesky) 295 for ill-conditioned matrices 296 297 ** rewrote (real) Cholesky decomposition to use 298 a Level-2 blas algorithm instead of Level-1. Flop 299 count is about the same but the code is much simpler 300 and easier to follow 301 302 ** completely rewritten nonlinear least squares module, 303 including support for large problems; the user may 304 now control the linear solver used, the trust region 305 updating strategy, and the scaling method. In addition, 306 support has been added for the geodesic acceleration 307 step (Transtrum 2011) which can speed up convergence 308 on a wide class of problems. 309 310 ** added gsl_rstat_rms() for root mean square 311 312 ** optimized lmniel nonlinear least squares solver 313 (bug #46369) 314 315 ** improved precision in Bessel K0/K1 near x = 2 316 (Pavel Holoborodko, bug #47401) 317 318 ** added support for compressed row storage sparse 319 matrices (Alexis Tantet) 320 321 ** bug fix in convergence check of hypergeometric 2F1 322 function (bug #45926) 323 324 ** added gsl_multilarge_linear_lcurve() to compute 325 the L-curve for large linear systems 326 327 ** updated multilarge normal equations method to use 328 new Cholesky scaling for better numerical stability 329 330 ** added scaling to Cholesky routines to reduce the 331 condition number prior to factorization 332 333 * What was new in gsl-2.1: 334 335 ** added test suite for example programs 336 337 ** bug fix when compiling with #undef GSL_DISABLE_DEPRECATED 338 339 ** bug fix in setting libtool age versioning 340 341 ** bug fix in gsl_multifit_wlinear() 342 343 ** added gsl_multifit_linear_rcond() to compute reciprocal 344 condition number of least squares matrix 345 346 ** added gsl_multilarge module for large linear least squares 347 systems 348 349 * What was new in gsl-2.0: 350 351 ** fixed bug #43258 for hypergeometric functions (Raymond Rogers) 352 353 ** added L-curve analysis routines for linear Tikhonov regression 354 355 ** add running statistics module 356 357 ** added bilinear and bicubic interpolation (David Zaslavsky) 358 359 ** added function gsl_multifit_robust_residuals to compute robust 360 fit residuals 361 362 ** added Steffen monotonic interpolation method (Jean-François Caron) 363 364 ** added new nonlinear least squares solver 'lmniel' suitable for 365 systems with large numbers of data 366 367 ** nonlinear least squares solver now tracks the number of function 368 and Jacobian evaluations, see example program for details 369 370 ** the 'fdf' field of gsl_multifit_function_fdf is now deprecated 371 and does not need to be specified for nonlinear least squares 372 problems 373 374 ** added extensive test suite to nonlinear least squares module, 375 resulting in a few minor bug fixes; the routine 376 gsl_multifit_fdfsolver_driver has been rewritten (with API change) 377 to handle the various error codes of the lmsder iterate 378 routine, resulting in a high level caller which is highly robust 379 for a wide class of problems 380 381 ** added support for sparse matrices, including a GMRES 382 iterative linear solver 383 384 ** added routines gsl_linalg_givens and gsl_linalg_givens_gv 385 for Givens rotations 386 387 ** added Tikhonov (ridge) regularization to least squares module 388 (linear and nonlinear) 389 390 ** removed unused argument 'n' from gsl_sf_ellint_D 391 392 ** merged bspline_deriv_workspace into bspline_workspace to simplify 393 bspline API; the functions 394 gsl_bspline_deriv_alloc 395 gsl_bspline_deriv_free 396 are now deprecated and will be removed in a future release. 397 398 ** merged ALF extension into GSL for associated Legendre functions; 399 api has changed; consequently the functions: 400 gsl_sf_legendre_Plm_array 401 gsl_sf_legendre_Plm_deriv_array 402 gsl_sf_legendre_sphPlm_array 403 gsl_sf_legendre_sphPlm_deriv_array 404 gsl_sf_legendre_array_size 405 are now deprecated and will be removed in a future release. 406 407 ** added function gsl_multifit_robust_weights to allow user to 408 access the various weighting functions 409 410 * What was new in gsl-1.16: 411 412 ** fixed error in gsl_rng_fwrite where uninitialized padding 413 bytes were being written (bug #39104) 414 415 ** fixed error in gsl_block_alloc where padding bytes were not 416 properly initialized (bugs #39101,#39102,#39103) 417 418 ** fixed error in ntuple/test.c where padding bytes were not 419 properly initialized (bug #39105) 420 421 ** fixed triangle selection bug in gsl_sf_coupling_6j_e and 422 gsl_sf_coupling_9j_e (bugs #39466 and #29606) (Håkan Johansson and 423 Alexey Illarionov) 424 425 ** added higher level wrapper routine gsl_multifit_fdfsolver_driver 426 427 ** converted gsl_multifit_linear_residuals to use dgemv to improve 428 efficiency (bug #39153) 429 430 ** added functions gsl_stats_spearman and gsl_sort_vector2 to compute 431 Spearman rank correlation 432 433 ** added function gsl_poly_dd_hermite_init for Hermite interpolation 434 435 ** Added support for robust linear least squares 436 437 ** Added function gsl_linalg_SV_leverage for computing statistical 438 leverages from SVD decomposition 439 440 ** Added support for approximating the Jacobian of nonlinear least 441 squares fits using forward finite differences 442 443 ** Extended gsl_sf_coupling_3j to allow larger range and to handle 444 the special case (ja jb jc; 0 0 0)=0 when ja+jb+jc is odd 445 446 ** Fixed gsl_sf_mathieu_se_array to return zero when the order is zero 447 [bug #33679]. 448 449 ** Fixed overflow in gsl_sf_lncosh for large negative x (x<-354). 450 451 ** Improved gsl_ran_negative_binomial_pdf to avoid underflow/overflow 452 for large arguments. 453 454 ** Multisets now allow k strictly greater than n. 455 456 ** Fixed gsl_matrix_complex_fwrite/fread failure for noncontiguous 457 matrices (Matthias Sitte). 458 459 * What was new in gsl-1.15: 460 461 ** Added Tuomo Keskitalo's new ode branch ode-initval2 with a 462 gsl_odeiv2 prefix. This provides proper support for implicit 463 solvers. It is intended to be the new default for differential 464 equations. The existing gsl_odeiv routines will be retained for 465 binary compatibility but their interface will be deprecated. 466 467 ** Added new gsl_integrate_cquad routines for robust integration of 468 difficult functions using the doubly-adaptive CQUAD algorithm 469 (Pedro Gonnet). 470 471 ** Added error checking to CBLAS functions (José Luis García Pallero) 472 473 ** Added a new function gsl_integration_glfixed_point to return 474 ordered Gauss-Legendre points and weights contained within a 475 gsl_integration_glfixed_table [bug #32237]. 476 477 ** Added a new function gsl_interp_type_min_size to return the size of 478 an interpolation type. 479 480 ** Added a function gsl_pow_uint(x,n) to compute x^n for unsigned 481 exponents (needed when n exceeds the range of signed integers). 482 483 ** Added new routine gsl_linalg_complex_cholesky_invert to handle the 484 matrix inversion for complex Cholesky decompositions (Huan Wu). 485 486 ** Added the functions gsl_vector_equal(x,y) and gsl_matrix_equal(x,y) 487 for testing equality of two vectors or matrices. 488 489 ** Added function gsl_eigen_nonsymmv_params to control the balancing 490 transformation for eigenvector calculations. Balancing is now 491 turned off by default for gsl_eigen_nonsymmv. 492 493 ** It is now possible to choose an alternative cblas library via 494 pkg-config using the GSL_CBLAS_LIB environment variable or 495 the pkg-config --define-variable option. 496 497 ** The jacobi method gsl_eigen_jacobi now uses the norm of the 498 off-diagonal elements for its convergence criterion, as in 499 algorithm 8.4.3 of Golub and van Loan. 500 501 ** The newton multiroot solvers now return an error when a singular 502 jacobian is detected. 503 504 ** The interpolation functions now return NaN and when x is out of range, 505 instead of extrapolating. 506 507 ** The gsl_multimin_fdfsolver multidimensional minimisers now return 508 GSL_ENOPROG immediately if the generated trial point does not 509 differ from the initial point (to machine precision), avoiding 510 unnecessary further iterations. 511 512 ** Extended the range of gsl_sf_bessel_lnKnu_e by rescaling 513 intermediate results to avoid internal overflows [bug #31528]. 514 515 ** Improved the result of gsl_sf_atanint_e for large arguments by 516 adding the first order 1/x correction term. [bug #29562] 517 518 ** Fixed the gsl_rng_ranlxs generators to enforce a maximum seed value 519 of 2^31-1. Larger seed values corrupted the random number state 520 and caused out of range values to be returned. 521 522 ** Fixed gsl_ran_chisq_pdf(x,nu) to return correct result of 1/2 523 instead of 0 when x=0 and nu=2, and +inf when x=0 and nu<2. 524 525 ** Fixed gsl_pow_int(x,n) to avoid an infinite loop when n=INT_MIN due 526 to wrapping of signed integers. 527 528 ** Fixed gsl_sf_hyperg_2F1(a,b,c,x) to avoid returning NaN for 529 arguments |a|>10. [bug #24812] 530 531 ** Avoid spurious underflow return code in gsl_sf_beta_inc_e when 532 intermediate underflow does not affect the result. [bug #30933] 533 534 ** Avoid segfault in Chebyshev series derivatives gsl_cheb_calc_deriv 535 for n=1. [bug #29139] 536 537 * What was new in gsl-1.14: 538 539 ** Upgraded to latest libtool, autoconf and automake (libtool-2.2.6b, 540 autoconf-2.65, automake-1.11.1). Fixes security hole in 'make 541 dist' (see Automake CVE-2009-4029). 542 543 ** Added support for "multisets", which are similar to permutations 544 and combinations. A multiset is an array of k integers in the 545 range 0 to n-1 where each value may occur more than once. Multisets 546 can be used to iterate over the indices of a k-th order symmetric 547 tensor in n-space. (Rhys Ulerich) 548 549 ** Added gsl_integrate_glfixed routines for performing fixed order 550 Gauss-Legendre integration 551 (Pavel Holoborodko, Konstantin Holoborodko, Rhys Ulerich) 552 553 ** In the LMDER multi-dimensional fitting routines, the return code 554 GSL_ENOPROG is now used instead of GSL_CONTINUE for the case where 555 10 or more attempts to find a suitable trial step have been made 556 without success. [bug #25383] 557 558 ** The confluent hypergeometric function gsl_sf_hyperg_U (a,b,x) has 559 been extended to support x < 0 for cases not involving 560 singularities in 1F1(a,b,x). [bug #27859] 561 562 ** The F-distribution gsl_ran_fdist_pdf now avoids unnecessary 563 underflow and overflow and handles cases where n > 248. [bug 564 #28500] 565 566 ** The SVD routines now use a scaled version of the implicit QR method 567 and compute the shift more reliably for values at the limit of 568 double precision, avoiding potential NaNs. [bug #28767] 569 570 ** A compile time error is emitted if the configuration stage prevents 571 the functions gsl_isnan and gsl_finite from being defined. 572 573 ** Added missing dereference in GSL_VECTOR_COMPLEX when not using 574 GSL_RANGE_CHECK [bug #28017] 575 576 ** Improved the range of gsl_sf_hyperg1F1(a,b,x) when a<0,b>0. [bug 577 #28718] 578 579 ** Added macros GSL_MAJOR_VERSION and GSL_MINOR_VERSION in 580 <gsl/gsl_version.h> 581 582 ** Improved gsl_eigen_symmv and gsl_eigen_symm to avoid a potential 583 infinite loop when the tridiagonalised matrix contains very small 584 values. [bug #28096] 585 586 ** Added functions gsl_multifit_linear_usvd and 587 gsl_multifit_wlinear_usvd for multilinear fitting without 588 column-scaling of the fit matrix. 589 590 * What was new in gsl-1.13: 591 592 ** Upgraded to latest autoconf and automake (autoconf-2.64, 593 automake-1.11) 594 595 ** Fixed the rk4 and bspline allocators to avoid invalid free() 596 calls under out of memory conditions. [bug #27194, #27236] 597 598 ** Fixed a bug in gsl_multimin_fminimizer_nmsimplex2 where the center 599 and size of the simplex were not updated on contract-by-best steps, 600 causing failures in convergence. [bug #27180] 601 602 ** Added new functions to set MISER and VEGAS Monte Carlo integration 603 parameters, and to examine VEGAS chi-squared value and intermediate 604 results. 605 606 ** Added the function gsl_bspline_greville_abscissa to compute 607 Greville abscissae for B-splines. 608 609 ** The cumulative distribution functions gsl_cdf_gumbel1_{P,Q} should 610 now handle a larger range of parameters without underflow and 611 overflow. 612 613 ** The header file gsl_const_cgs.h no longer defines values for 614 electromagnetic units. Applications should use gsl_const_cgsm.h 615 instead to obtain the values in the CGS-Magnetic system. The 616 previous values for these units given in gsl_const_cgs.h were 617 ill-defined as the type of CGS electromagnetic system was 618 unspecified (the values were a mixture of CGS units with the Ampere 619 of the MSKA system). The affected constants are 620 GSL_CONST_CGS_BOHR_MAGNETON, GSL_CONST_CGS_ELECTRON_CHARGE, 621 GSL_CONST_CGS_ELECTRON_MAGNETIC_MOMENT, GSL_CONST_CGS_FARADAY, 622 GSL_CONST_CGS_GAUSS, GSL_CONST_CGS_NUCLEAR_MAGNETON, 623 GSL_CONST_CGS_PROTON_MAGNETIC_MOMENT, and GSL_CONST_CGS_ROENTGEN. 624 625 ** The Pochhammer functions gsl_sf_poch(a,x) and gsl_sf_lnpoch(a,x) now 626 handle the special cases where a and a+x are zero or negative 627 integers. 628 629 ** The confluent hypergeometric function gsl_sf_hyperg_U (a,b,x) now 630 handles some cases where x=0. The case where 1+a-b is a negative 631 integer no longer returns an error [bug #22859] and the incorrect 632 termination of the series in certain cases is fixed [bug #26706]. 633 634 ** Added a new function gsl_poly_eval_derivs to evaluate a polynomial 635 and its derivatives simultaneously. 636 637 ** Added a new univariate minimisation algorithm 638 gsl_min_fminimizer_quad_golden which is a variant of Brent's 639 algorithm with safeguarded step-length adjustment. 640 641 ** Added a new Nelder-Mead minimiser gsl_multimin_fminimizer_nmsimplex2rand 642 which uses a randomly oriented simplex rather than one fixed on 643 the coordinate axes [bug #25077] 644 645 ** The texinfo file now uses the dircategory "Software libraries" from 646 the Free Software Directory, as recommended in the Texinfo manual. 647 648 ** The function gsl_ran_exponential now includes zero in its output 649 range. [bug #25039] 650 651 ** All functions for freeing allocated memory now accept a NULL 652 pointer, following the standard C convention for free(). [bug 653 #25319] 654 655 ** The function gsl_sum_levin_u_accel now handles the special case 656 c_0 + 0 + 0 + 0 + .... that occurs when summing power series 657 c_n*x^n with x=0. [bug #26807] 658 659 ** The functions gsl_linalg_LU_solve, gsl_linalg_LU_svx, 660 gsl_linalg_LU_refine, gsl_linalg_LU_invert and their complex 661 equivalents now return an error for singular matrices. 662 663 ** The multifit LMDER hybrid solvers now check the return code of the 664 user-supplied function in the gsl_multifit_fdfsolver_set 665 method. [bug #26871] 666 667 ** Improved the implementation of gsl_ran_discrete_preproc to avoid 668 internal errors due to inconsistencies from excess precision on 669 some platforms. [bug #26502] 670 671 ** Corrected gsl_sf_hyperg_2F1(a,b,c,x) to not give a domain error in 672 the case where c is a negative integer and the series terminates 673 with a finite result. 674 675 ** The C99 inline keyword is now supported, in addition to the 676 previously supported GNU-style inline. 677 678 ** Modified gsl_poly_complex_solve_cubic and gsl_poly_solve_cubic to 679 avoid returning NaNs in cases where excess precision causes a 680 change in the number of roots. 681 682 ** Fixed incorrect length check in gsl_blas_drotm. [bug #26503] 683 684 ** Fixed gsl_odeiv_step_gear2 to restore y on step failure 685 686 ** gsl_odeiv_evolve_apply now restores the correct value of t on step 687 failures [bug #26255]. 688 689 ** Using make install prefix=DIR now puts correct paths in package 690 config files gsl-config and gsl.pc 691 692 ** Modified gsl_monte_vegas to work around pow() function inaccuracies 693 on MinGW [bug #25413]. 694 695 ** Increased the number of terms in gsl_sf_mathieu_a and 696 gsl_sf_mathieu_b to improve convergence in difficult regions [bug 697 #25075] 698 699 * What was new in gsl-1.12: 700 701 ** Upgraded to latest libtool, autoconf and automake (libtool-2.2.6, 702 autoconf-2.63, automake-1.10.2) 703 704 ** Improved the convergence of gsl_sf_gamma_inc_P for x/a ~=~ 1 and 705 large x,a. Fixes problems with large arguments in cdf functions 706 such as gsl_cdf_chisq_Pinv(x,nu) [bug 24704]. 707 708 ** Fixed gsl_ran_gamma_knuth to handle the case of a >= UINT_MAX [bug 709 #24897] 710 711 ** Added gsl_bspline_eval_deriv to compute bspline derivatives 712 (Rhys Ulerich) 713 714 ** Added a faster simplex mininimser gsl_multimin_fminimizer_nmsimplex2 715 which is O(N) instead of O(N^2) [bug #24418] 716 717 ** Improved the original chi-squared formula in gsl_monte_vegas to 718 avoid catastrophic cancellation [bug #24510]. The previous formula 719 could return incorrect or negative values for relative errors < 720 1e-8, which could occur when integrating very smooth functions. 721 722 ** Added new auxiliary functions gsl_cheb_order, gsl_cheb_size, 723 gsl_cheb_coeffs for Chebyshev series [bug #21830] 724 725 ** Updated license of the reference manual to GNU FDL version 1.3. 726 727 ** Fixed a bug where the gsl_isinf function would return +1 for -Inf 728 on systems where isinf(-Inf) returns the non-standard value +1. 729 [bug #24489] 730 731 ** Added missing functions gsl_vector_complex_{isnonneg,add,sub,mul, 732 div,scale,add_constant} and gsl_matrix_complex_float_isnonneg [bug 733 #22478] 734 735 ** Cross compilation should now work for x86 hosts. 736 737 ** Fixed a bug in gsl_interp_accel_find() where values lying on the 738 upper boundary between interpolation points could return the index 739 from the lower side. [bug #24211] 740 741 ** Fixed gsl_linalg_solve_cyc_tridiag so that its output respects the 742 solution vector's stride. Previously the x_stride value was ignored 743 causing the output to be incorrect for non-unit stride. [bug #24162] 744 745 ** Corrected a bug in the series calculation of gsl_sf_ellint_Kcomp 746 for k close to 1. [bug #24146] 747 748 ** Extended gsl_linalg_QRPT_update to handle rectangular matrices. 749 Corrected definition of the update formula in the manual for 750 both gsl_linalg_QR_update and gsl_linalg_QRPT_update. 751 752 ** Added routine gsl_linalg_cholesky_invert 753 754 ** Fixed a bug the simplex algorithm which caused the second highest 755 point to be incorrectly equal to the first when the first value was 756 the highest, which could cause suboptimal convergence. [bug #23192] 757 758 ** Fixed a problem with convergence for inverse gamma and chisq 759 distribitions, gsl_cdf_gamma_{P,Q}inv and gsl_cdf_chisq_{P,Q}inv. 760 [bug #23101] 761 762 ** Improved the handling of constant regions in Vegas by eliminating 763 spurious excess precision when computing box variances. 764 765 ** Fixed a potential division by zero in gsl_monte_miser when the 766 left/right weight factors decrease below 1. 767 768 ** Fixed incorrect dimensions check in gsl_matrix_sub{row,column} 769 770 * What was new in gsl-1.11: 771 772 ** The GSL repository and bug database are now hosted at Savannah 773 http://savannah.gnu.org/projects/gsl/ 774 775 ** Upgraded to latest libtool, autoconf and automake (libtool-2.2, 776 autoconf-2.61, automake-1.10.1) 777 778 ** Fixed underflow in ODE adaptive step size controller that could 779 cause step size to decrease to zero (bug #21933). 780 781 ** Improved the handling of the asymptotic regime in gsl_sf_bessel_jl. 782 783 ** Improved the handling of large arguments in cumulative distribution 784 functions using the incomplete beta function, such as gsl_cdf_fdist_P. 785 786 ** Fixed overflow bug in gsl_cdf_hypergeometric_{P,Q} for large 787 arguments (bug #22293). 788 789 ** gsl_ran_gaussian_ziggurat now handles generators with different 790 ranges explicitly, to minimise the number of function calls 791 required (bug #21820). Also fixes bug #22446 (rng limit in 792 gsl_ran_chisq()). 793 794 ** Added missing error terms in gsl_sf_exp_mult_e10_e to prevent 795 the error being underestimated (bug #22041). 796 797 ** Updated some constants to the CODATA 2006 values. 798 799 ** The hypergeometric function gsl_sf_hyperg_2F1 now handles the case 800 where x==1. 801 802 ** Fixed a bug in the brent minimiser which prevented optimal convergence. 803 804 ** Added functions for evaluating complex polynomials 805 806 ** The convergence condition for gsl_multiroots_test_delta now accepts 807 dxi == 0. 808 809 ** Improved functions gsl_ldexp and gsl_frexp to handle the full range 810 of double precision numbers in all cases. 811 812 ** Added new quasi random generators gsl_qrng_halton and 813 gsl_qrng_reversehalton which support dimensions up to 1229. 814 815 ** Added function gsl_multifit_linear_residuals for computing the 816 residuals of the fit 817 818 * What was new in gsl-1.10: 819 820 ** License updated to GNU GPL version 3. 821 822 ** Added support for generalized eigensystems 823 824 ** Added function gsl_stats_correlation to compute Pearson correlation 825 of two datasets 826 827 ** Added the new function gsl_sf_expint(n,x) for computing the n-th 828 order exponential integral. 829 830 ** Added functions gsl_vector_isnonneg and gsl_matrix_isnonneg. 831 832 ** Added functions gsl_matrix_subrow and gsl_matrix_subcolumn 833 834 ** Extended Cholesky routines to complex matrices 835 836 ** Added support in gsl_ieee_set_mode for controlling SSE exceptions 837 and rounding through the MXCSR control word on x86 processors. 838 839 ** The autoconf macro AM_PATH_GSL has been renamed to AX_PATH_GSL, to 840 avoid conflicts with the autoconf namespace. 841 842 ** Improved handling of underflow in gsl_eigen_symm. 843 844 ** The function gsl_multiroot_fdjacobian now returns the error code 845 GSL_ESING if any of the columns of the computed jacobian matrix are 846 zero. This may occur if the step size of the derivative is too small. 847 848 ** Extended the function gsl_sf_beta_inc(a,b,x) to handle cases where 849 a<0 or b<0. 850 851 ** Fixed the round-off error estimate in gsl_deriv_{central,backwards, 852 forward} to correctly account for numerical error in the step-size h. 853 854 ** Fixed gsl_cdf_beta_Pinv, gsl_cdf_gamma_Pinv, gsl_cdf_beta_Pinv to 855 avoid returning spurious values for large parameters when the 856 iteration did not converge. If the iteration cannot converge, GSL_NAN 857 is returned. 858 859 ** gsl_ran_dirichlet now handles smaller values of alpha[] without 860 underflow, avoiding a NaN in the returned value. 861 862 ** The SVD routines now avoid underflow in the Schur decomposition for 863 matrices with extremely small values <O(1e-150). 864 865 ** gsl_complex_pow now returns 0^0=1 (instead of zero) to match the usual 866 pow function, and handles z^(1,0) and z^(-1,0) as special cases. 867 868 ** Fixed a bug in the set function for multifit lmder solver so that 869 previous values are cleared correctly. 870 871 ** Improved the function gsl_log1p to prevent possible loss of 872 accuracy caused by optimisations. 873 874 ** Improved the convergence test in the Lambert functions to take 875 account of finite precision and avoid possible failure to converge. 876 877 ** The configure script no longer redefines finite() to isfinite() as 878 a workaround for missing finite(), as this caused problems on Solaris. 879 If finite() is not present gsl_finite() will be used instead. 880 881 ** Improved the accuracy of the generalised laguerre polynomials for 882 large n when alpha=0. 883 884 ** The functions gsl_{isnan,isinf,finite} will now always use the 885 system versions of isnan, isinf and finite if they are available. 886 Previously the portable GSL implementations were used whenever the 887 platform supported IEEE comparisons. The portable gsl_isinf function 888 now returns -1 instead of +1 for -Inf, in line with recent versions of 889 the GNU C Library. 890 891 * What was new in gsl-1.9: 892 893 ** Fixed the elliptic integrals F,E,P,D so that they have the correct 894 behavior for phi > pi/2 and phi < 0. The angular argument is now 895 valid for all phi. Also added the complete elliptic integral 896 gsl_sf_ellint_Pcomp. 897 898 ** Added a new BFGS minimisation method gsl_multimin_fdfminimizer_vector_bfgs2 899 based on the algorithm given by R.Fletcher in "Practical Methods of 900 Optimisation" (Second edition). This requires substantially fewer 901 function and gradient evaluations, and supercedes the existing BFGS 902 minimiser. 903 904 ** The beta functions gsl_sf_beta_e(a,b) and gsl_sf_lnbeta_e(a,b) now 905 handle negative arguments a,b. Added new function gsl_sf_lnbeta_sgn_e 906 for computing magnitude and sign of negative beta values, analagous to 907 gsl_sf_lngamma_sgn_e. 908 909 ** gsl_cheb_eval_mode now uses the same error estimate as 910 gsl_cheb_eval_err. 911 912 ** Improved gsl_sf_legendre_sphPlm_e to avoid underflow with large 913 arguments. 914 915 ** Added updated Knuth generator, gsl_rng_knuthran2002, from 9th 916 printing of "The Art of Computer Programming". Fixes various 917 weaknesses in the earlier version gsl_rng_knuthran. See 918 http://www-cs-faculty.stanford.edu/~knuth/news02.htm 919 920 ** The functions gsl_multifit_fsolver_set, gsl_multifit_fdfsolver_set 921 and gsl_multiroot_fsolver_set, gsl_multiroot_fdfsolver_set now have a 922 const qualifier for the input vector x, reflecting their actual usage. 923 924 ** gsl_sf_expint_E2(x) now returns the correct value 1 for x==0, 925 instead of NaN. 926 927 ** The gsl_ran_gamma function now uses the Marsaglia-Tsang fast gamma 928 method of gsl_ran_gamma_mt by default. 929 930 ** The matrix and vector min/max functions now always propagate any 931 NaNs in their input. 932 933 ** Prevented NaN occuring for extreme parameters in 934 gsl_cdf_fdist_{P,Q}inv and gsl_cdf_beta_{P,Q}inv 935 936 ** Corrected error estimates for the angular reduction functions 937 gsl_sf_angle_restrict_symm_err and gsl_sf_angle_restrict_pos_err. 938 Fixed gsl_sf_angle_restrict_pos to avoid possibility of returning 939 small negative values. Errors are now reported for out of range 940 negative arguments as well as positive. These functions now return 941 NaN when there would be significant loss of precision. 942 943 ** Corrected an error in the higher digits of M_PI_4 (this was beyond 944 the limit of double precision, so double precision results are not 945 affected). 946 947 ** gsl_root_test_delta now always returns success if two iterates are 948 the same, x1==x0. 949 950 ** A Japanese translation of the reference manual is now available 951 from the GSL webpage at http://www.gnu.org/software/gsl/ thanks to 952 Daisuke TOMINAGA. 953 954 ** Added new functions for basis splines, see the "Basis Splines" 955 chapter in the GSL Reference Manual for details. 956 957 ** Added new functions for testing the sign of vectors and matrices, 958 gsl_vector_ispos, gsl_vector_isneg, gsl_matrix_ispos and 959 gsl_matrix_isneg. 960 961 ** Fixed a bug in gsl_sf_lnpoch_e and gsl_sf_lnpoch_sgn_e which caused 962 the incorrect value 1.0 instead of 0.0 to be returned for x==0. 963 964 ** Fixed cancellation error in gsl_sf_laguerre_n for n > 1e7 so that 965 larger arguments can be calculated without loss of precision. 966 967 ** Improved gsl_sf_zeta_e to return exactly zero for negative even 968 integers, avoiding less accurate trigonometric reduction. 969 970 ** Fixed a bug in gsl_sf_zetam1_int_e where 0 was returned instead of 971 -1 for negative even integer arguments. 972 973 ** When the differential equation solver gsl_odeiv_apply encounters a 974 singularity it returns the step-size which caused the error code from 975 the user-defined function, as opposed to leaving the step-size 976 unchanged. 977 978 ** Added support for nonsymmetric eigensystems 979 980 ** Added Mathieu functions 981 982 * What was new in gsl-1.8: 983 984 ** Added an error check to trap multifit calls with fewer observations 985 than parameters. Previously calling the multifit routines with n<p 986 would cause invalid memory access. 987 988 ** Added the Debye unit to physical constants. 989 990 ** Added cumulative distribution functions for the discrete 991 distributions, including binomial, poisson, geometric, negative 992 binomial, pascal and hypergeometric. 993 994 ** Added the functions gsl_cdf_beta_{Pinv,Qinv} and 995 gsl_cdf_fdist_{Pinv,Qinv} for computing the inverse of the cumulative 996 beta and F distributions. 997 998 ** Added the multilinear fit estimator function gsl_multifit_linear_est 999 for computing model values and their errors. 1000 1001 ** Avoid division by zero in gsl_multimin_fdfminimizer_vector_bfgs 1002 if the step-size becomes too small. 1003 1004 ** Users on DEC Alpha systems will need to specify their desired IEEE 1005 arithmetic options via CFLAGS when building the library, as these are 1006 no longer added automatically. 1007 1008 ** Added new random variate generators gsl_ran_gaussian_ziggurat 1009 and gsl_ran_gamma_mt for the Gaussian and Gamma distributions based on 1010 the Marsaglia-Tsang ziggurat and fast gamma methods. 1011 1012 ** Improved the speed of the exponential power distribution 1013 gsl_ran_exppow. 1014 1015 ** Improved the speed of the Gaussian ratio method by adding quadratic 1016 bounds in gsl_ran_gaussian_ratio_method. 1017 1018 ** Added an extra term to the taylor series of the synchrotron 1019 functions gsl_sf_synchrotron_1 and gsl_sf_synchrotron_2 for small x to 1020 ensure smooth matching with the chebyshev expansion. 1021 1022 ** The binomial pdf gsl_ran_binomial_pdf now handles the cases p=0 1023 and p=1 and is more accurate for the case of small p with k=0. 1024 1025 ** Fixed the spherical bessel function gsl_sf_bessel_jl_e) to limit 1026 the use of gsl_sf_bessel_Jnu_asympx_e to the range x>100*l*l to 1027 satisfy he requirement x>>l*l in the asymptotic expansion. 1028 1029 ** The scaled bessel function gsl_sf_bessel_In_scaled now handles 1030 larger arguments x > 1e7 correctly for n < 150 using the uniform 1031 asymptotic expansion instead of the continued fraction expansion. 1032 1033 ** The functions gsl_stats_min/max now return NaN if the data contains 1034 NaN. Similarly, the functions gsl_stats_min/max_index return the index 1035 of the first occurring NaN in the data when it contains a NaN. 1036 1037 ** Fixed an invalid memory access that caused incorrect results for 1038 the special case in periodic cubic spline interpolation of 3 points. 1039 1040 ** Added Debye functions for n=5 and n=6 1041 1042 ** Added the missing functions gsl_spline_name() and 1043 gsl_spline_min_size() 1044 1045 ** The function gsl_rng_uniform_int(r,n) now returns an error for n=0, 1046 which can occur when passing an unsigned integer value of 2^32. 1047 1048 * What was new in gsl-1.7: 1049 1050 ** Switched gsl_randist_binomial to use the faster binomial random 1051 variate TPE algorithm by default. The previous binomial variate 1052 algorithm is available as gsl_randist_binomial_knuth. This will 1053 result in a different sequence of binomial variates in programs using 1054 this function. 1055 1056 ** Improved the algorithm for gsl_sf_elljac_e to avoid cancellation 1057 errors near quarter periods. 1058 1059 ** Fixed the branch selection in gsl_sf_gamma_inc_Q_e to avoid 1060 inaccurate results for large a,x where x~=~a. 1061 1062 ** The multilinear fitting functions now have forms which accept a 1063 user-specified tolerance for the SVD cutoff and return the 1064 corresponding effective rank of the design matrix. 1065 1066 ** The quadratic solvers in poly/ now handle linear equations 1067 gracefully (i.e. quadratrics with a leading coefficient of zero). 1068 1069 ** The output of "make check" now only shows test failures by default, 1070 to reduce the amount of output. Set the environment variable 1071 GSL_TEST_VERBOSE=1 to display all the output. To assist debugging, 1072 the test number of each failure is shown in square brackets at the 1073 line-end [NNNN]. 1074 1075 ** Fixed bugs in gsl_linalg_SV_decomp_jacobi which caused 1076 incorrect results for some input matrices. 1077 1078 ** Bessel, coulomb, dilogarithm and legendre_H3d functions now use 1079 hypot internally to avoid overflow when computing terms like 1080 sqrt(1+x*x). 1081 1082 ** The 'Usage' chapter of the reference manual now explains how to 1083 handle deprecated functions using the GSL_DISABLE_DEPRECATED macro. 1084 1085 ** The conflicting enum definitions for 'forward' and 'backward' in 1086 gsl_ftt.h and gsl_wavelet.h are deprecated. User code should switch 1087 to the new definitions gsl_fft_forward, gsl_fft_backward, 1088 gsl_wavelet_forward and gsl_wavelet_backward. Selectively define 1089 GSL_DISABLE_DEPRECATED before including the headers to use the new 1090 definitions on either or both modules. 1091 1092 ** Fixed an error in the the brent minimisation algorithm. Iterations 1093 should now follow Brent's original description correctly. 1094 1095 ** The bound coulomb function gsl_sf_hydrogenicR_e no longer reports 1096 an underflow for exact zeroes of the wavefunction. 1097 1098 ** gsl_linalg_SV_decomp_jacobi now reports an error for the 1099 unimplemented case M<N correctly. 1100 1101 ** Fixed conformance test for the SYRK and HERK blas functions 1102 gsl_blas_{s,d,c,z}syrk and gsl_blas_{c,z}herk for non-square matrices. 1103 1104 ** Configure now checks for presence of ieeefp.h if needed. 1105 1106 ** Differential equation solvers now propagate error codes returned 1107 from user-defined functions to the top-level in all cases. 1108 1109 ** Sort functions now avoid an infinite loop if Nans are present in 1110 the input vector. The order of nans in the output is undefined, 1111 although other elements will be sorted correctly. 1112 1113 * What was new in gsl-1.6: 1114 1115 ** Added a new wavelet directory, with 1-dimensional and 2-dimensional 1116 discrete wavelet transforms. 1117 1118 ** Added support for LQ and P^T LQ decompositions. To find the QR 1119 decomposition of large systems (M>>N) use the LQ decomposition, 1120 solving the transpose of the original system. This allows more 1121 efficient memory access, and is useful for solving large least-squares 1122 problems. 1123 1124 ** Fixed a bug in the SYRK and HERK blas functions gsl_blas_{s,d,c,z}syrk 1125 and gsl_blas_{c,z}herk which caused invalid memory access for non-square 1126 matrices. 1127 1128 ** Fixed a bug in gsl_swap_vectors which caused it to return incorrect 1129 results when swapping vectors with different strides. 1130 1131 ** Corrected the error estimate for gsl_cheb_eval_n_err to use 1132 evaluation order instead of the approximation order. 1133 1134 ** Improved the reliability of the gsl_sf_gamma_inc family of 1135 functions. 1136 1137 ** Equal abscissae are now handled gracefully in the cspline and 1138 periodic cspline interpolations. 1139 1140 ** Removed potential cancellation error in calculation of uniform 1141 histogram ranges. 1142 1143 ** Improved numerical stability of integration for akima and cspline 1144 interpolation. 1145 1146 ** Differential equation solvers now handle error codes returned from 1147 user-defined functions. 1148 1149 ** Improved error estimates in ode-initval solvers, and provide exact 1150 derivatives on output. Added new semi-implicit ode-initval solver, 1151 gsl_odeiv_step_rk2simp. 1152 1153 ** Added missing function definition for gsl_sf_psi_1. 1154 1155 ** Fixed the function gsl_sf_expint_Ei_scaled to call 1156 gsl_sf_expint_Ei_scaled_e instead of gsl_sf_expint_Ei_e. 1157 1158 ** Added cumulative distribution function for exponential power 1159 distribution. 1160 1161 ** The functions gsl_cdf_beta_P and gsl_cdf_beta_Q now return 1162 consistent results of 0 or 1 for out of range values, x<0 and x>1, 1163 rather than 0 for left and right tails simultaneously. 1164 1165 ** The Jacobi eigensolvers gsl_eigen_jacobi and gsl_eigen_jacobi_invert 1166 have new implementations from Golub and Van Loan. 1167 1168 ** The standard output and standard error streams are now flushed by 1169 the default error handler before the program aborts, in order to 1170 ensure that error messages are properly displayed on some platforms. 1171 1172 * What was new in gsl-1.5: 1173 1174 ** Multifit routines now handle iterations where |f| is already 1175 minimised to zero, without division by zero. 1176 1177 ** Fixed the singular value tolerance test in the multifit covariance 1178 calculation from < to <= to match the original MINPACK code. 1179 1180 ** The macro HAVE_INLINE is now tested with #ifdef instead of #if as 1181 in versions prior to 1.4, to match the documentation, and the macro 1182 GSL_RANGE_CHECK_OFF now works correctly. An alternative macro 1183 GSL_RANGE_CHECK={0,1} can be used to control range-checking. 1184 1185 ** Fixed a potential array overflow in gsl_ran_landau. 1186 1187 ** Fixed a small discrepancy in the tolerance calculation of the 1188 one-dimensional brent minimiser. 1189 1190 ** Numerical derivatives should now be calculated using the 1191 gsl_deriv_forward, gsl_deriv_central and gsl_deriv_backward functions, 1192 which accept a step-size argument in addition to the position x. The 1193 original gsl_diff functions (without the step-size) are deprecated. 1194 1195 ** Corrected documentation for gsl_ran_hypergeometric_pdf() 1196 1197 ** The tridiagonal matrix solvers gsl_linalg_solve_symm_tridiag, 1198 gsl_linalg_solve_tridiag, gsl_linalg_solve_symm_cyc_tridiag, 1199 gsl_linalg_solve_cyc_tridiag now use the GSL_ERROR macro to report 1200 errors, instead of simply returning an error code. The arguments to 1201 these functions must now use exact lengths with no additional 1202 elements. For cyclic systems all vectors must be of length N, for 1203 tridiagonal systems the offdiagonal elements must be of length N-1. 1204 1205 ** The singular value decomposition routines gsl_linalg_SV_decomp and 1206 gsl_linalg_SV_decomp_mod now handle the SVD of a column vector (N=1, 1207 arbitrary M), which can occur in linear fitting. 1208 1209 ** Restored missing header files gsl_const_mks.h and gsl_const_cgs.h. 1210 The incorrect values of the electrical units for gsl_const_cgs 1211 (VACUUM_PERMEABILITY and VACUUM_PERMITTIVITY) have been removed. 1212 1213 ** Fixed gsl_linalg_SV_decomp() to avoid an infinite loop when 1214 computing the SVD of matrices containing Inf and Nan. 1215 1216 ** Fixed gsl_linalg_balance_columns() to avoid an infinite loop when 1217 rescaling matrices containing Inf and NaN. 1218 1219 ** Fixed header file <gsl/gsl_sf_log.h> to include declarations for 1220 error codes in inline versions of gsl_sf_log functions 1221 1222 ** Fixed header file <gsl/gsl_const.h> to include new MKSA and CGSM 1223 header files. 1224 1225 ** Added Stefan-Boltzmann constant and Thomson cross section to 1226 physical constants 1227 1228 * What was new in gsl-1.4: 1229 1230 ** Added cumulative distribution functions and their inverses for the 1231 continuous random distributions including: gaussian, lognormal, gamma, 1232 beta, cauchy, laplace, chisq, exponential, gumbel, weibull, 1233 F-distribution, t-distribution, logistic, pareto and rayleigh. 1234 1235 ** Added faster binomial random variates using the TPE rejection 1236 algorithm, in the function gsl_randist_binomial_tpe. 1237 1238 ** Added new functions gsl_rng_fwrite and gsl_rnd_fread for storing 1239 the state of random number generators in a file. 1240 1241 ** Added a new function gsl_combination_memcpy() 1242 1243 ** Corrected values of electrical constants in CGS units. To take 1244 account of different electrical systems of units the values are now 1245 prefixed by GSL_CONST_MKSA (for the SI Metre, Kilogram, Second, Ampere 1246 system) or GSL_CONST_CGSM (for the Centimetre, Gram, Second, Magnetic 1247 system with the Gauss as the fundamental unit of magnetic field 1248 strength). The previous GSL_CONST_MKS and GSL_CONST_CGS prefixes have 1249 been removed, as have the permeability and permittivity constants in 1250 the CGS system since this uses different defining equations. 1251 1252 ** Fixed bugs in the random number generators gsl_rng_fishman18, 1253 gsl_rng_fishman2x, and gsl_rng_knuthran2 which caused them to return 1254 incorrect results. Minor corrections were made to the parameters in 1255 the other Knuth generators borosh13, coveyou, fishman20, lecuyer21, 1256 and waterman14. 1257 1258 ** Fixed a missing transpose bug in the gsl_linalg_QR_QRsolve 1259 and gsl_linalg_QRPT_QRsolve routines which were computing the 1260 solution to Q^T R x = b instead of Q R x = b. 1261 1262 ** Fixed gsl_sf_gammainv to return zero instead of a domain 1263 error for arguments corresponding to singularities in gamma. 1264 1265 ** Fixed a bug in the simplex minimization algorithm which 1266 caused it to fail to find the second highest point correctly 1267 when searching the set of simplex points. 1268 1269 ** Fixed a bug in the conjugate gradient minimizers conjugate_pr, 1270 conjugate_fr and vector_bgfs which caused the search 1271 directions to be updated incorrectly. 1272 1273 ** Fixed a bug in gsl_sf_psi_1_int(1) which caused it to 1274 return the incorrect sign for psi(1,1). 1275 1276 ** Fixed the simulated annealing routine gsl_siman_solve to use the 1277 parameter iters_fixed_T for the number of iterations at fixed 1278 temperature instead of n_tries. 1279 1280 ** Fixed a bug in gsl_combination_valid which caused it to return the 1281 incorrect status. 1282 1283 ** Fixed a bug in gsl_permutation_canonical_to_linear which caused the 1284 output to always be zero, and the input permutation to be incorrectly 1285 replaced by the output. 1286 1287 ** Fixed a bug is gsl_ran_discrete which could cause uninitialised 1288 data to be returned for some distributions. 1289 1290 ** Fixed the dependencies for gsl_chebyshev.h to include gsl_math.h. 1291 1292 ** Fixed a bug in gsl_complex_arccsc_real which caused it to return 1293 the incorrect sign for the imaginary part when -1<x<0. 1294 1295 ** Fixed a bug in the QAWC Cauchy integration routine which could 1296 allow the singularity to fall on an interval boundary, leading to 1297 division by zero. 1298 1299 ** Improved gsl_sf_gamma_inc_P(a,x) to avoid a domain error for x<<a 1300 when a>10. 1301 1302 ** Improved the accuracy of gsl_sf_coupling_3j for large arguments. 1303 1304 ** Improved the performance of gsl_sf_choose(m,n) by separating the 1305 calculations for small and large arguments. 1306 1307 ** On platforms without IEEE comparisons gsl_{isnan,isinf,finite} will 1308 fall back to the system versions of isnan, isinf and finite if 1309 available. 1310 1311 ** gsl_linalg_householder_hv now uses BLAS routines internally 1312 1313 ** The script configure.in is now compatible with autoconf-2.50 and 1314 later. 1315 1316 ** Reduced the memory usage of the multifit algorithms from MxM to MxN 1317 for large M by performing the QR decomposition of the Jacobian 1318 in-place. 1319 1320 ** IEEE modes now use the C99 fenv.h functions when platform spectific 1321 functions are not available. 1322 1323 * What was new in gsl-1.3: 1324 1325 ** Changed interface for gsl_sf_coupling_6j...(...). The old functions 1326 actually calculated 6j for a permutation of the arguments (that 1327 related to Racah W). This was incorrect and not consistent with 1328 the documentation. The new versions calculate < {a,b,c}, {d,e,f} >, 1329 as stated in the documentation. The old versions are still available 1330 as gsl_sf_coupling_6j_INCORRECT...(...), though they are deprecated 1331 and will be removed at some point in the future. 1332 1333 ** Added new functions for computing Em(x)=exp(-x)*Ei(x), the modified 1334 (scaled) form of the exponential integral, gsl_sf_expint_E1_scaled, 1335 gsl_sf_expint_E2_scaled, gsl_sf_expint_Ei_scaled. 1336 1337 ** Fixed compilation problems with gcc -ansi and other ANSI compilers. 1338 1339 ** Fixed uninitialized memory access in the Niederreiter quasi-random 1340 number generator. 1341 1342 ** Fixed the eigenvalue routines to prevent an infinite loop for Inf 1343 or NaN entries in matrix. 1344 1345 ** Fixed a bug in the multifit and multiroots allocation routines 1346 which cause them to fail to report some out of memory conditions. 1347 1348 ** Fixed a bug in the seeding for the random number generator 1349 gsl_rng_taus2 which affected a small number of seeds. 1350 1351 ** Modified the complex householder transforms to avoid division by 1352 zero, which could cause NaNs to be returned by the gsl_eigen_hermv 1353 eigenvalue decomposition. 1354 1355 ** The Nelder-Mead simplex algorithm for multidimensional 1356 minimisation has been added. 1357 1358 ** The random number distributions now include the Dirichlet and 1359 Multinomial distributions. 1360 1361 ** Added a new function gsl_fcmp for approximate comparison of 1362 floating point numbers using Knuth's algorithm. 1363 1364 ** Added new functions gsl_ldexp and gsl_frexp as portable 1365 alternatives to ldexp() and frexp(). 1366 1367 ** Fixed a bug in gsl_linalg_bidiag_unpack_B which was returning 1368 incorrect results for the superdiagonal. 1369 1370 ** Fixed a bug in the acceptance condition for simulated annealing 1371 1372 ** Ordinary differential equations can now be solved using a different 1373 absolute error for each component with gsl_odeiv_control_scaled_new(). 1374 1375 ** Upgraded to libtool-1.4.3 1376 1377 * What was new in gsl-1.2: 1378 1379 ** Added new functions for combining permutations, converting between 1380 cyclic and linear representations, and counting cycles and inversions. 1381 1382 ** New multiroot functions now allow access to the current values of f 1383 and dx. 1384 1385 ** The default error handler now outputs a explanatory message before 1386 aborting. 1387 1388 ** Extended gsl_linalg_SV_decomp to handle exact zeroes in the 1389 singular values, and added tests for 3x3 matrices. 1390 1391 ** Fixed a bug in gsl_linalg_SV_decomp which caused singular values to 1392 be sorted incorrectly. 1393 1394 ** Fixed a bug in gsl_linalg_solv_symm_cyc_tridiag which caused it to 1395 produce incorrect results. 1396 1397 ** Added nonsymmetric tridiagonal solvers gsl_linalg_solve_tridiag and 1398 gsl_linalg_solve_cyc_tridiag. 1399 1400 ** The declarations used to export static objects can now be 1401 controlled through a macro GSL_VAR and the header file 1402 <gsl/gsl_types.h>. 1403 1404 ** The simulated annealing routine gsl_siman_solve now keeps track of 1405 the best solution so far. 1406 1407 ** The values of the physical constants have been updated to the 1408 CODATA 1998 recommendations. 1409 1410 ** Added new physical constants, newton, dyne, joule, erg and 1411 power-of-ten prefixes, Mega, Giga, Tera, etc. 1412 1413 ** The error estimate for the elliptic function gsl_sf_ellint_Kcomp_e 1414 has been improved to take account of numerical cancellation for small 1415 arguments. 1416 1417 ** The domain of gsl_sf_psi_1piy has been extended to negative y. 1418 1419 ** Fixed memory leak in the Chebyshev module. 1420 1421 ** The seeding procedure of mt19937 has been updated to the latest 1422 version from Makoto Matsumoto and Takuji Nishimura (Jan 2002). The 1423 original seeding procedure is available through the generator 1424 gsl_rng_mt19937_1999. 1425 1426 ** A new random number generator gsl_rng_taus2 has been added to 1427 correct flaws in the seeding procedure of gsl_rng_taus, as described 1428 in an erratum to the original paper of P. L'Ecuyer. 1429 1430 ** Added missing declaration for the generator gsl_rng_mt_19937_1998. 1431 1432 ** Added missing quasi-random number generator function gsl_qrng_init. 1433 1434 ** Removed unnecessary endpoint subtraction in chebyshev-based 1435 QUADPACK routines to avoid possible loss of precision. 1436 1437 ** Fixed bug in gsl_interp_cspline_periodic which caused a 1438 discontinuity in the derivative near the boundary. 1439 1440 ** The function gsl_min_fminimizer_minimum has been renamed to 1441 gsl_min_fminimizer_x_minimum for consistency (the old function name is 1442 still available but is deprecated). Additional functions have been 1443 added for accessing the function values at the minimum and endpoints 1444 of the bounding interval. 1445 1446 ** The KNOWN-PROBLEMS file of "make check" failures has been replaced 1447 by a BUGS file, since we now require "make check" to work correctly 1448 for stable releases. 1449 1450 * What was new in gsl-1.1.1: 1451 1452 ** Fixes to histogram2d stat functions 1453 1454 ** Added missing prototypes for complex LU determinant functions 1455 1456 ** Improved error handling in multifit routines 1457 1458 ** Added check to avoid division by zero for rank-deficient matrix in 1459 multifit iteration 1460 1461 * What was new in gsl-1.1: 1462 1463 ** The permutation module now includes a copy function 1464 gsl_permutation_memcpy 1465 1466 ** The implementation of gsl_sf_gamma_inc has been improved and now 1467 avoids problems caused by internal singularities which occurred in the 1468 series expansion for some combinations of parameters. 1469 1470 ** IEEE comparisons of infinities and NaNs are tested during the 1471 configure stage and the functions gsl_isnan, gsl_isinf and gsl_finite 1472 are only compiled on platforms which support the necessary tests. 1473 1474 ** The histogram routines now include a sum function, 1475 gsl_histogram_sum for computing the total bin sum, and additional 1476 statistics functions for 2d histograms. 1477 1478 ** Internal error checking of user-defined functions has been improved 1479 in the multiroots functions. 1480 1481 ** Constants now include the Bohr Radius and Vacuum Permittivity. 1482 1483 ** Range checking is now turned off when building the library, but is 1484 still on by default when compiling user applications. 1485 1486 ** A combinations directory has been added for generating combinations (n,k). 1487 1488 ** The gamma function now returns exact values for integer arguments. 1489 1490 ** Fixed bugs in gsl_sf_hyperg_1F1_int and gsl_sf_hyperg_1F1. 1491 1492 ** Fixed internal error handling in gsl_sf_laguerre_n to allow 1493 recovery from overflow. 1494 1495 ** Several routines for handling divided difference polynomials have 1496 been added to the poly/ directory. 1497 1498 ** The interpolation routines now include polynomial interpolation, 1499 based on divided-differences. 1500 1501 ** Added new random number generators from Knuth's Seminumerical 1502 Algorithms, 3rd Edition: borosh13, coveyou, fishman18, fishman20, 1503 fishman2x, knuthran, knuthran2, lecuyer21, waterman14. 1504 1505 ** Changed divisor in random number generator gfsr4 from 2^32-1 to 1506 2^32 to prevent exact value of 1.0 from being returned, as specified 1507 in the documentation. 1508 1509 * What was new in gsl-1.0: 1510 1511 ** First general release. 1512 1513 ** Increased the maximum number of iterations in gsl_poly_complex_solve() 1514 from 30 to 60. 1515 1516 * What was new in gsl-0.9.4: 1517 1518 ** Reorganized the multmin functions to use the same interface as the 1519 other iterative solvers. 1520 1521 ** Added histogram _alloc functions for consistency, in addition to the 1522 existing _calloc functions. 1523 1524 ** Renamed all the gsl_multimin functions to be consistent with the 1525 rest of the library. An underscore has been removed from _minimizer 1526 in all the function names. 1527 1528 ** Renamed the function gsl_sf_coulomb_CL_list to gsl_sf_coulomb_CL_array 1529 1530 ** A bug in the multimin functions where the function parameters 1531 (params) were omitted has been fixed. 1532 1533 ** A bug in the nonlinear minimization routines has been fixed, which 1534 could prevent the algorithms from converging. Additional tests from 1535 the NIST reference datasets have been added and these now agree with 1536 MINPACK. 1537 1538 ** All the physical constants and conversion factors are now defined as 1539 real numbers to avoid potential problems with integer arithmetic. 1540 1541 ** The ODE evolution routines now allow for negative step sizes, and 1542 integrating backwards as well as forwards. 1543 1544 ** The implicit Burlisch-Stoer ODE algorithm 'bsimp' now detects 1545 singularities and forces a reduction in step size, preventing runaway 1546 instabilities. 1547 1548 ** Fixed a bug in the ODE evolution function gsl_odeiv_evolve_apply 1549 which could cause an erroneous value to be returned if the step size 1550 is reduced on the last step. 1551 1552 * What was new in gsl-0.9.3: 1553 1554 ** Routines for complex LU decomposition are now available, allowing 1555 the solution of systems of equations with complex coefficients. 1556 1557 ** Matrix views of vectors now correctly require a unit stride for the 1558 original vector. 1559 1560 ** Permutations can now be applied to complex arrays and vectors. 1561 1562 ** gsl_sf_pow_int now handles the case x = 0, n < 0 1563 1564 ** The static versions of inline functions can now be hidden by 1565 defining the preprocessor macro HIDE_INLINE_STATIC. This is needed 1566 for some compilers. 1567 1568 ** The original seeding procedure of mt19937 is available through the 1569 generator gsl_rng_mt19937_1998. The seeding procedure was flawed, but 1570 is available for compatibility. 1571 1572 ** Added missing functions gsl_complex_div_real and 1573 gsl_complex_div_imag. 1574 1575 ** Missing functions for constant vector and matrix views have now been 1576 added. 1577 1578 ** Statistical calculations for histograms are now available, and the 1579 gsl-histogram command also displays the histogram mean and standard 1580 deviation. 1581 1582 ** The behavior of GSL_IEEE_MODE for denormalized exceptions has been 1583 fixed on Openbsd and Netbsd. 1584 1585 ** A pkg-config file gsl.pc is included in the distribution 1586 1587 ** The reference manual can now be printed in @smallbook format without 1588 overflow. 1589 1590 * What was new in gsl-0.9.2: 1591 1592 ** Vector and matrix views are now compliant with the ANSI standard. 1593 1594 ** Added Lambert functions gsl_sf_lambert_W0, gsl_sf_lambert_Wm1. 1595 1596 ** The reference manual now uses the GNU Free Documentation License. 1597 1598 ** Fixed a couple of bugs in the SVD routines. 1599 1600 ** Macros for Infinity and Nan now work correctly with Microsoft Visual 1601 C++, and a bug in the config.h file for the finite() function has been 1602 fixed. 1603 1604 ** Redundant entries in the test suite for the complex math functions 1605 have been removed, making the distribution size smaller. 1606 1607 ** Installed programs gsl-randist and gsl-histogram now use shared 1608 libraries. 1609 1610 * What was new in gsl-0.9.1: 1611 1612 ** The single precision ffts now uses float throughout, rather than 1613 mixing float and double. 1614 1615 ** The random number distributions now include the Landau distribution. 1616 1617 ** The fft function interface has been reorganized, with workspaces 1618 separate from wavetables to eliminate unnecessary recomputation of 1619 trigonometric factors. 1620 1621 ** The gsl_interval type has been eliminated and replaced by two double 1622 arguments for simplicity. 1623 1624 ** The order of the arguments to the minimization routines is no more 1625 logical, with function values assocatied with x-values. 1626 1627 ** Modified initialization of vector and matrix views to work with the 1628 SunPro compiler. 1629 1630 ** Renamed gsl_Efunc_t to gsl_siman_Efunc_t, in accordance with 1631 namespace conventions. 1632 1633 ** Improved accuracy and fixed bugs in gsl_sf_hyperg_1F1, 1634 gsl_sf_bessel_I0_scaled, gsl_sf_erfc, gsl_sf_log_erfc, 1635 gsl_sf_legendre_Q0 and gsl_sf_legendre_Q1, and gsl_sf_zeta. 1636 1637 ** Improved IEEE compliance of special functions, overflows now return 1638 Inf and domain errors return NaN. 1639 1640 ** Improved checking for underflows in special functions when using 1641 extended precision registers 1642 1643 * What was new in gsl-0.9: 1644 1645 ** There is a new system of vector and matrix views. Any code using 1646 vector and matrix views will need to be updated. 1647 1648 ** The order of arguments of the view functions involving strides have 1649 been changed to be consistent with the rest of the library. 1650 1651 ** The ode solvers have been reorganized. 1652 1653 ** There are new eigensystem routines for real symmetric and complex 1654 hermitian matrices. 1655 1656 ** The linear algebra directory now includes functions for computing 1657 symmetric tridiagonal decompositions and bidiagonal decompositions. 1658 1659 ** The svd routines now include the Golub-Reinsch and Modified 1660 Golub-Reinsch algorithms in addition to the Jacobi algorithm. 1661 1662 ** The interpolation directory has been reorganized and a higher-level 1663 "spline" interface has been added which simplifies the handling of 1664 interpolation arguments. 1665 1666 ** IEEE support is now available on OpenBSD. 1667 1668 * What was new in gsl-0.8: 1669 1670 ** The build process now uses the latest libtool and automake. 1671 1672 ** The library should now compile with Microsoft Visual C++. 1673 1674 ** Portable versions of the isinf, isnan and finite functions are 1675 available as gsl_isinf(x), gsl_isnan(x) and gsl_finite(x). 1676 1677 ** The definitions of GSL_POSINF, GSL_NEGINF and GSL_NAN no longer 1678 cause divisions by zero during compilation. 1679 1680 ** The gsl_interp_obj has been renamed to gsl_interp. 1681 1682 ** The poly_eval and pow_int functions have been moved from the 1683 specfunc directory to the poly and sys directories. 1684 1685 ** The Chebyshev functions are now available as an independent module 1686 in their own directory. 1687 1688 ** The error handling conventions have been unified across the 1689 library. This simplifies the use of the special functions. 1690 1691 ** A full CBLAS implementation is now included for systems where ATLAS 1692 has not been installed. The CBLAS library can also be used 1693 independently of GSL. The organisation of the BLAS directories has been 1694 simplified. 1695 1696 ** IEEE support for HPUX-11, NetBSD, Apple Darwin and OS/2 are now 1697 included. 1698 1699 ** The library now includes implementations of log1p, expm1, hypot, 1700 acosh, asinh, atanh for platforms which do not provide them. 1701 1702 ** The convention for alloc and set functions has changed so that they 1703 are orthogonal. After allocating an object it is now necessary to 1704 initialize it. 1705 1706 ** There is a new module for estimating numerical derivatives of functions 1707 1708 ** There is a new module for handling data with ntuples 1709 1710 ** The histogram lookup functions are now optimized for the case of 1711 uniform bins, and include an inline binary search for speed. 1712 1713 ** The Chebyschev coefficients for the QAWO algorithm are now 1714 precomputed in a table for efficiency, rather than being computed on 1715 the fly. 1716 1717 ** There are several new sorting functions for selecting the k-th 1718 smallest or largest elements of a dataset. 1719 1720 ** Iterator functions are now available for permutations, 1721 gsl_permutation_next and gsl_permutation_prev. 1722 1723 ** The function gsl_complex_xy has been renamed gsl_complex_rect 1724 1725 ** The API for simulated annealing has been changed to support search 1726 spaces in which the points cannot be represented as contiguous-memory 1727 data structures. gsl_siman_solve() now takes three extra arguments: a 1728 copy constructor, a copy function and a destructor, allowing 1729 gsl_siman_solve() to do its work with linked data structures. If all 1730 three of these function pointers are NULL, then the traditioanl 1731 approach of using malloc(), memcpy(), and free() with the element size 1732 is used. 1733 1734 * What was new in gsl-0.7: 1735 1736 ** Linux/PowerPC should now be well supported. 1737 1738 ** Header files for common physical constants have been added. 1739 1740 ** Functions linear and nonlinear regression in one or more dimensions 1741 are now available. 1742 1743 ** Vector and matrix views now have access to the address of the 1744 underlying block for compatibility with VSIPL (www.vsipl.org). 1745 1746 ** There is a new library for generating low-discrepancy quasi-random 1747 sequences. 1748 1749 ** The seeding procedure of the default random number generator 1750 MT19937 has been updated to match the 10/99 release of the original 1751 code. This fixes a weakness which occurred for seeds which were 1752 powers of 2. 1753 1754 ** The blas library libgslblasnative has been renamed libgslblas to avoid 1755 confusion with system blas library 1756 1757 * What was new in gsl-0.6: 1758 1759 ** The library is now installed as a single shared or static libgsl 1760 file using libtool. 1761 1762 ** The gsl-config script now works. There is also a gsl.m4 file which 1763 people can use in their configure scripts. 1764 1765 ** All header files are now in installed as pkginclude headers in a 1766 gsl/ subdirectory. 1767 1768 ** The header files now use extern "C" to allow them to be included in 1769 C++ programs 1770 1771 ** For consistency the following functions have been renamed, 1772 1773 gsl_vector_copy (dest, src) is now gsl_vector_memcpy (dest, src) 1774 gsl_rng_cpy (dest, src) is now gsl_rng_memcpy (dest, src) 1775 gsl_matrix_copy_row (v,m,i) is now gsl_matrix_get_row (v,m,i) 1776 gsl_matrix_copy_col (v,m,j) is now gsl_matrix_get_col (v,m,j) 1777 gsl_vector_swap is now gsl_vector_swap_elements 1778 gsl_vector_swap_cols is now gsl_vector_swap_columns 1779 gsl_vector_swap_row_col is now gsl_vector_swap_row_column 1780 1781 and the vector/matrix view allocation functions have been simplified. 1782 1783 ** A new sort directory has been added for sorting objects and vectors. 1784 1785 ** A permutation directory has been added for manipulating permutations 1786 1787 ** Statistics functions now support a stride argument for generality, and 1788 also support weighted samples and a covariance function. 1789 1790 ** The names of the statistics functions have been reorganized for 1791 improved clarity. Consult manual for details. 1792 1793 ** The environment variable GSL_IEEE_MODE now uses "," as a separator 1794 instead of ";" 1795 1796 ** The autogen.sh script, mostly for use by developers who use the CVS 1797 repository, now does not run configure. 1798 1799 ** The histogram directory now has additional functions for copying 1800 and comparing histograms, performing arithmetic on histograms and 1801 finding maximum and minimum values. Corresponding functions have been 1802 added for vectors and matrices. 1803 1804 ** The linear algebra directory supports additional methods, including 1805 rectangular QR, rectangular QRPT and Cholesky decomposition. 1806 1807 ** Complex arithmetic (+,-,*,/) and complex elementary functions 1808 (sqrt, log, exp, sin, cos, tan, arcsin, arccos, arctan, sinh, cosh, 1809 tanh, arcsinh, arccosh, arctanh) are now supported. 1810 1811 ** Multidimensional minimization methods are now available. 1812 1813 ** The special functions directory now includes a routine for 1814 computing the value of the incomplete beta function. 1815 1816 * Was new in gsl-0.5: 1817 1818 ** There is now a KNOWN-PROBLEMS file which lists compilation problems 1819 and test failures which are known to the developers. 1820 1821 ** Many improvements have been made to the special functions directory. 1822 1823 ** The extrapolations from the Levin u-transform are now more reliable. 1824 1825 ** Linear algebra and Eigensystem routines are now available. 1826 1827 ** ODE solvers are now available. 1828 1829 ** Multidimensional root finding algorithms are available. 1830 1831 ** Minimization now keeps track of function values. 1832 1833 ** Matrices and vectors now use a BLAS compatible format, and have a 1834 separate memory handling layer (gsl_block). 1835 1836 ** Roots of general polynomials can now be found using gsl_poly_complex_solve 1837 1838 ** IEEE modes support on Sparclinux, Tru64, AIX and IRIX 1839 1840 ** We have added the second generation RANLUX generators RANLXS and RANLXD 1841 1842 ** Minimization algorithms are available (one-dimensional) 1843 1844 ** Documentation now works out of the box with the standard Texinfo. 1845 1846 ** Full reimplementation of the QUADPACK integration library 1847 1848 ** Introduced THANKS file. 1849 We appreciate all patches from people on the net, even those which are 1850 too small to warrant adding the author to the AUTHORS file. The 1851 THANKS file should include everyone who sent in patches. They should 1852 also be mentioned in the ChangeLog entry. 1853 1854 * What was new in gsl-0.4.1: 1855 1856 ** Two changes not making their way into the documentation 1857 A couple of things are not getting into the docs, so here are the 1858 errata: 1859 *** The FFT routines now take a stride parameter. Passing 1 for the 1860 stride will make them behave as documented. 1861 *** The complex numbers are now an opaque type, and no assumptions can 1862 be made about the format in which they are stored (they are not stored 1863 as a simple structure anymore, since that is not portable). The type 1864 is now gsl_complex (or gsl_complex_long_double or gsl_complex_float), 1865 and the macros to access them are 1866 GSL_REAL(z) 1867 GSL_IMAG(z) 1868 GSL_COMPLEX_P_REAL(zp) 1869 GSL_COMPLEX_P_IMAG(zp) 1870 GSL_COMPLEX_EQ(z1,z2) 1871 GSL_SET_COMPLEX(zp,x,y) 1872 GSL_SET_REAL(zp,x) 1873 GSL_SET_IMAG(zp,y) 1874 1875 This change in the complex number API makes it important that you 1876 start working with 0.4.1 or later. 1877 1878 ** 0.4.1 is being released in occasion of the Red Hat 6.0 release. 1879 The specfunc module is still in an alpha state; if you run "make 1880 check" in the specfunc directory you will see that some tests still 1881 fail. 1882 1883 ** Most Alpha specific problems have been fixed. In particular the 1884 random number generators rand48 and ranf now work on the Alpha 1885 1886 ** Additional random number distributions: 1887 Rayleigh distribution 1888 n-dimensional spherical distribution 1889 (ie, points at random on an n-dimensional sphere) 1890 Gaussian tail distribution 1891 (ie, choosing values from a gaussian distribution subject to a 1892 constraint that they be larger than some fixed value, eg 5 sigmas) 1893 Walker's algorithm for arbitrary discrete distributions 1894 1895 * What was new in gsl-0.4: 1896 1897 ** A single libgsl.a file is built in the top level directory and 1898 installed, instead of separate .a files for each subdirectory. 1899 1900 ** The parts of the complex struct gsl_complex, .real and .imag, are 1901 not supported anymore. The macros GSL_REAL(z) and GSL_IMAG(z) do the 1902 same job. All complex numbers are considered as packed arrays of 1903 floating point numbers, for portability since the layout of structs or 1904 arrays of structs is not guaranteed. 1905 1906 ** The interface for matrices and vectors has changed. Vectors now 1907 support strides, and can be used to access rows and columns of a 1908 matrix. Many more types are available (float, double, long double, 1909 int, long, short, char, signed and unsigned, plus complex floats, 1910 doubles and long doubles) due to improvements in our preprocessor 1911 template system. 1912 1913 ** The random number generators have a completely new thread-safe 1914 interface and have moved from the random directory to the rng 1915 directory. Any program using random numbers will have to be 1916 updated. You can also choose generators and seeds using the 1917 environment variables GSL_RNG_TYPE and GSL_RNG_SEED. 1918 1919 ** Some additional random number distributions have been added in the 1920 randist directory. The available distributiosn are: bernoulli, beta, 1921 binomial, cauchy, chisq, erlang, exponential, fdist, flat, gamma, 1922 gauss, geometric, levy, logistic, lognormal, nbinomial, pareto, 1923 poisson, sphere, tdist, twosidedexp, weibull. 1924 1925 ** The FFT interface has be extended to support strides, but the 1926 implementation hasn't been finished for all the cases yet, The FFT 1927 allocation functions now return a pointer to a newly allocated 1928 wavetable struct, instead of taking the pointer to an existing struct 1929 as an argument. 1930 1931 e.g. status = gsl_fft_wavetable_alloc(n, w) 1932 is now w = gsl_fft_wavetable_alloc(n) in accordance with usual practice 1933 1934 ** The statistics directory now works with all the builtin 1935 types. It has a new function for computing the lag1-autocorrelation and 1936 an extra set of numerical accuracy tests from NIST as part of 'make 1937 check'. 1938 1939 ** The simulated annealing routines no longer set the random number 1940 seed with the time of day. You'll need to reseed the generator 1941 yourself if you want subsequent runs to use different random numbers. 1942 1943 ** Work is in progress on a reimplementation of QUADPACK in the 1944 `integration' subdirectory, but it is not finished yet. 1945 1946 ** Work is in progress on reimplementations of the VEGAS and 1947 MISER Monte Carlo algorithms in the monte' subdirectory. They work 1948 just fine, but the code is still evolving. 1949 1950 ** Work has started on a portable blas system in the `blas' 1951 subdirectory. 1952 1953 ** You can now set the IEEE arithmetic mode for your programs from the 1954 environment variable GSL_IEEE_MODE by calling the function 1955 gsl_ieee_env_setup(). Currently this only works with the Linux kernel, 1956 HP-UX, SunOS4 and Solaris. 1957 1958 ** There are some simple spline interpolation functions in the `interp' 1959 subdir. 1960 1961 ** The NEWS file now uses outline mode, like the Emacs NEWS file 1962 1963 1964 * This covers changes made *after* the gsl-0.2 snapshot 1965 1966 ** Added several new modules: histogram, integration, matrix, specfunc 1967 and vectors. 1968 1969 ** Changed libgsl_statisctics.a to libgslstatistics.a and 1970 libgsl_siman.a to libgslsiman.a, since most of the packages don't have 1971 the underscore. Users will have to remove the old files, unless they 1972 do a "make uninstall" on the previous release before they install this 1973 new one. 1974 1975 ** Changes to the random number suite 1976 Incorporated the gauss, poisson and exponential distributions in 1977 the standard libgslrandom.a 1978 1979 1980 Local variables: 1981 mode: outline 1982 paragraph-separate: "[ ]*$" 1983 end: