-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
executable file
·1651 lines (1147 loc) · 61.6 KB
/
NEWS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
* What is new in gsl-2.1:
** added test suite for example programs
** bug fix when compiling with #undef GSL_DISABLE_DEPRECATED
** bug fix in setting libtool age versioning
** bug fix in gsl_multifit_wlinear()
** added gsl_multifit_linear_rcond() to compute reciprocal
condition number of least squares matrix
** added gsl_multilarge module for large linear least squares
systems
* What was new in gsl-2.0:
** fixed bug #43258 for hypergeometric functions (Raymond Rogers)
** added L-curve analysis routines for linear Tikhonov regression
** add running statistics module
** added bilinear and bicubic interpolation (David Zaslavsky)
** added function gsl_multifit_robust_residuals to compute robust
fit residuals
** added Steffen monotonic interpolation method (Jean-François Caron)
** added new nonlinear least squares solver 'lmniel' suitable for
systems with large numbers of data
** nonlinear least squares solver now tracks the number of function
and Jacobian evaluations, see example program for details
** the 'fdf' field of gsl_multifit_function_fdf is now deprecated
and does not need to be specified for nonlinear least squares
problems
** added extensive test suite to nonlinear least squares module,
resulting in a few minor bug fixes; the routine
gsl_multifit_fdfsolver_driver has been rewritten (with API change)
to handle the various error codes of the lmsder iterate
routine, resulting in a high level caller which is highly robust
for a wide class of problems
** added support for sparse matrices, including a GMRES
iterative linear solver
** added routines gsl_linalg_givens and gsl_linalg_givens_gv
for Givens rotations
** added Tikhonov (ridge) regularization to least squares module
(linear and nonlinear)
** removed unused argument 'n' from gsl_sf_ellint_D
** merged bspline_deriv_workspace into bspline_workspace to simplify
bspline API; the functions
gsl_bspline_deriv_alloc
gsl_bspline_deriv_free
are now deprecated and will be removed in a future release.
** merged ALF extension into GSL for associated Legendre functions;
api has changed; consequently the functions:
gsl_sf_legendre_Plm_array
gsl_sf_legendre_Plm_deriv_array
gsl_sf_legendre_sphPlm_array
gsl_sf_legendre_sphPlm_deriv_array
gsl_sf_legendre_array_size
are now deprecated and will be removed in a future release.
** added function gsl_multifit_robust_weights to allow user to
access the various weighting functions
* What was new in gsl-1.16:
** fixed error in gsl_rng_fwrite where uninitialized padding
bytes were being written (bug #39104)
** fixed error in gsl_block_alloc where padding bytes were not
properly initialized (bugs #39101,#39102,#39103)
** fixed error in ntuple/test.c where padding bytes were not
properly initialized (bug #39105)
** fixed triangle selection bug in gsl_sf_coupling_6j_e and
gsl_sf_coupling_9j_e (bugs #39466 and #29606) (Håkan Johansson and
Alexey Illarionov)
** added higher level wrapper routine gsl_multifit_fdfsolver_driver
** converted gsl_multifit_linear_residuals to use dgemv to improve
efficiency (bug #39153)
** added functions gsl_stats_spearman and gsl_sort_vector2 to compute
Spearman rank correlation
** added function gsl_poly_dd_hermite_init for Hermite interpolation
** Added support for robust linear least squares
** Added function gsl_linalg_SV_leverage for computing statistical
leverages from SVD decomposition
** Added support for approximating the Jacobian of nonlinear least
squares fits using forward finite differences
** Extended gsl_sf_coupling_3j to allow larger range and to handle
the special case (ja jb jc; 0 0 0)=0 when ja+jb+jc is odd
** Fixed gsl_sf_mathieu_se_array to return zero when the order is zero
[bug #33679].
** Fixed overflow in gsl_sf_lncosh for large negative x (x<-354).
** Improved gsl_ran_negative_binomial_pdf to avoid underflow/overflow
for large arguments.
** Multisets now allow k strictly greater than n.
** Fixed gsl_matrix_complex_fwrite/fread failure for noncontiguous
matrices (Matthias Sitte).
* What was new in gsl-1.15:
** Added Tuomo Keskitalo's new ode branch ode-initval2 with a
gsl_odeiv2 prefix. This provides proper support for implicit
solvers. It is intended to be the new default for differential
equations. The existing gsl_odeiv routines will be retained for
binary compatibility but their interface will be deprecated.
** Added new gsl_integrate_cquad routines for robust integration of
difficult functions using the doubly-adaptive CQUAD algorithm
(Pedro Gonnet).
** Added error checking to CBLAS functions (José Luis García Pallero)
** Added a new function gsl_integration_glfixed_point to return
ordered Gauss-Legendre points and weights contained within a
gsl_integration_glfixed_table [bug #32237].
** Added a new function gsl_interp_type_min_size to return the size of
an interpolation type.
** Added a function gsl_pow_uint(x,n) to compute x^n for unsigned
exponents (needed when n exceeds the range of signed integers).
** Added new routine gsl_linalg_complex_cholesky_invert to handle the
matrix inversion for complex Cholesky decompositions (Huan Wu).
** Added the functions gsl_vector_equal(x,y) and gsl_matrix_equal(x,y)
for testing equality of two vectors or matrices.
** Added function gsl_eigen_nonsymmv_params to control the balancing
transformation for eigenvector calculations. Balancing is now
turned off by default for gsl_eigen_nonsymmv.
** It is now possible to choose an alternative cblas library via
pkg-config using the GSL_CBLAS_LIB environment variable or
the pkg-config --define-variable option.
** The jacobi method gsl_eigen_jacobi now uses the norm of the
off-diagonal elements for its convergence criterion, as in
algorithm 8.4.3 of Golub and van Loan.
** The newton multiroot solvers now return an error when a singular
jacobian is detected.
** The interpolation functions now return NaN and when x is out of range,
instead of extrapolating.
** The gsl_multimin_fdfsolver multidimensional minimisers now return
GSL_ENOPROG immediately if the generated trial point does not
differ from the initial point (to machine precision), avoiding
unnecessary further iterations.
** Extended the range of gsl_sf_bessel_lnKnu_e by rescaling
intermediate results to avoid internal overflows [bug #31528].
** Improved the result of gsl_sf_atanint_e for large arguments by
adding the first order 1/x correction term. [bug #29562]
** Fixed the gsl_rng_ranlxs generators to enforce a maximum seed value
of 2^31-1. Larger seed values corrupted the random number state
and caused out of range values to be returned.
** Fixed gsl_ran_chisq_pdf(x,nu) to return correct result of 1/2
instead of 0 when x=0 and nu=2, and +inf when x=0 and nu<2.
** Fixed gsl_pow_int(x,n) to avoid an infinite loop when n=INT_MIN due
to wrapping of signed integers.
** Fixed gsl_sf_hyperg_2F1(a,b,c,x) to avoid returning NaN for
arguments |a|>10. [bug #24812]
** Avoid spurious underflow return code in gsl_sf_beta_inc_e when
intermediate underflow does not affect the result. [bug #30933]
** Avoid segfault in Chebyshev series derivatives gsl_cheb_calc_deriv
for n=1. [bug #29139]
* What was new in gsl-1.14:
** Upgraded to latest libtool, autoconf and automake (libtool-2.2.6b,
autoconf-2.65, automake-1.11.1). Fixes security hole in 'make
dist' (see Automake CVE-2009-4029).
** Added support for "multisets", which are similar to permutations
and combinations. A multiset is an array of k integers in the
range 0 to n-1 where each value may occur more than once. Multisets
can be used to iterate over the indices of a k-th order symmetric
tensor in n-space. (Rhys Ulerich)
** Added gsl_integrate_glfixed routines for performing fixed order
Gauss-Legendre integration
(Pavel Holoborodko, Konstantin Holoborodko, Rhys Ulerich)
** In the LMDER multi-dimensional fitting routines, the return code
GSL_ENOPROG is now used instead of GSL_CONTINUE for the case where
10 or more attempts to find a suitable trial step have been made
without success. [bug #25383]
** The confluent hypergeometric function gsl_sf_hyperg_U (a,b,x) has
been extended to support x < 0 for cases not involving
singularities in 1F1(a,b,x). [bug #27859]
** The F-distribution gsl_ran_fdist_pdf now avoids unnecessary
underflow and overflow and handles cases where n > 248. [bug
#28500]
** The SVD routines now use a scaled version of the implicit QR method
and compute the shift more reliably for values at the limit of
double precision, avoiding potential NaNs. [bug #28767]
** A compile time error is emitted if the configuration stage prevents
the functions gsl_isnan and gsl_finite from being defined.
** Added missing dereference in GSL_VECTOR_COMPLEX when not using
GSL_RANGE_CHECK [bug #28017]
** Improved the range of gsl_sf_hyperg1F1(a,b,x) when a<0,b>0. [bug
#28718]
** Added macros GSL_MAJOR_VERSION and GSL_MINOR_VERSION in
<gsl/gsl_version.h>
** Improved gsl_eigen_symmv and gsl_eigen_symm to avoid a potential
infinite loop when the tridiagonalised matrix contains very small
values. [bug #28096]
** Added functions gsl_multifit_linear_usvd and
gsl_multifit_wlinear_usvd for multilinear fitting without
column-scaling of the fit matrix.
* What was new in gsl-1.13:
** Upgraded to latest autoconf and automake (autoconf-2.64,
automake-1.11)
** Fixed the rk4 and bspline allocators to avoid invalid free()
calls under out of memory conditions. [bug #27194, #27236]
** Fixed a bug in gsl_multimin_fminimizer_nmsimplex2 where the center
and size of the simplex were not updated on contract-by-best steps,
causing failures in convergence. [bug #27180]
** Added new functions to set MISER and VEGAS Monte Carlo integration
parameters, and to examine VEGAS chi-squared value and intermediate
results.
** Added the function gsl_bspline_greville_abscissa to compute
Greville abscissae for B-splines.
** The cumulative distribution functions gsl_cdf_gumbel1_{P,Q} should
now handle a larger range of parameters without underflow and
overflow.
** The header file gsl_const_cgs.h no longer defines values for
electromagnetic units. Applications should use gsl_const_cgsm.h
instead to obtain the values in the CGS-Magnetic system. The
previous values for these units given in gsl_const_cgs.h were
ill-defined as the type of CGS electromagnetic system was
unspecified (the values were a mixture of CGS units with the Ampere
of the MSKA system). The affected constants are
GSL_CONST_CGS_BOHR_MAGNETON, GSL_CONST_CGS_ELECTRON_CHARGE,
GSL_CONST_CGS_ELECTRON_MAGNETIC_MOMENT, GSL_CONST_CGS_FARADAY,
GSL_CONST_CGS_GAUSS, GSL_CONST_CGS_NUCLEAR_MAGNETON,
GSL_CONST_CGS_PROTON_MAGNETIC_MOMENT, and GSL_CONST_CGS_ROENTGEN.
** The Pochhammer functions gsl_sf_poch(a,x) and gsl_sf_lnpoch(a,x) now
handle the special cases where a and a+x are zero or negative
integers.
** The confluent hypergeometric function gsl_sf_hyperg_U (a,b,x) now
handles some cases where x=0. The case where 1+a-b is a negative
integer no longer returns an error [bug #22859] and the incorrect
termination of the series in certain cases is fixed [bug #26706].
** Added a new function gsl_poly_eval_derivs to evaluate a polynomial
and its derivatives simultaneously.
** Added a new univariate minimisation algorithm
gsl_min_fminimizer_quad_golden which is a variant of Brent's
algorithm with safeguarded step-length adjustment.
** Added a new Nelder-Mead minimiser gsl_multimin_fminimizer_nmsimplex2rand
which uses a randomly oriented simplex rather than one fixed on
the coordinate axes [bug #25077]
** The texinfo file now uses the dircategory "Software libraries" from
the Free Software Directory, as recommended in the Texinfo manual.
** The function gsl_ran_exponential now includes zero in its output
range. [bug #25039]
** All functions for freeing allocated memory now accept a NULL
pointer, following the standard C convention for free(). [bug
#25319]
** The function gsl_sum_levin_u_accel now handles the special case
c_0 + 0 + 0 + 0 + .... that occurs when summing power series
c_n*x^n with x=0. [bug #26807]
** The functions gsl_linalg_LU_solve, gsl_linalg_LU_svx,
gsl_linalg_LU_refine, gsl_linalg_LU_invert and their complex
equivalents now return an error for singular matrices.
** The multifit LMDER hybrid solvers now check the return code of the
user-supplied function in the gsl_multifit_fdfsolver_set
method. [bug #26871]
** Improved the implementation of gsl_ran_discrete_preproc to avoid
internal errors due to inconsistencies from excess precision on
some platforms. [bug #26502]
** Corrected gsl_sf_hyperg_2F1(a,b,c,x) to not give a domain error in
the case where c is a negative integer and the series terminates
with a finite result.
** The C99 inline keyword is now supported, in addition to the
previously supported GNU-style inline.
** Modified gsl_poly_complex_solve_cubic and gsl_poly_solve_cubic to
avoid returning NaNs in cases where excess precision causes a
change in the number of roots.
** Fixed incorrect length check in gsl_blas_drotm. [bug #26503]
** Fixed gsl_odeiv_step_gear2 to restore y on step failure
** gsl_odeiv_evolve_apply now restores the correct value of t on step
failures [bug #26255].
** Using make install prefix=DIR now puts correct paths in package
config files gsl-config and gsl.pc
** Modified gsl_monte_vegas to work around pow() function inaccuracies
on MinGW [bug #25413].
** Increased the number of terms in gsl_sf_mathieu_a and
gsl_sf_mathieu_b to improve convergence in difficult regions [bug
#25075]
* What was new in gsl-1.12:
** Upgraded to latest libtool, autoconf and automake (libtool-2.2.6,
autoconf-2.63, automake-1.10.2)
** Improved the convergence of gsl_sf_gamma_inc_P for x/a ~=~ 1 and
large x,a. Fixes problems with large arguments in cdf functions
such as gsl_cdf_chisq_Pinv(x,nu) [bug 24704].
** Fixed gsl_ran_gamma_knuth to handle the case of a >= UINT_MAX [bug
#24897]
** Added gsl_bspline_eval_deriv to compute bspline derivatives
(Rhys Ulerich)
** Added a faster simplex mininimser gsl_multimin_fminimizer_nmsimplex2
which is O(N) instead of O(N^2) [bug #24418]
** Improved the original chi-squared formula in gsl_monte_vegas to
avoid catastrophic cancellation [bug #24510]. The previous formula
could return incorrect or negative values for relative errors <
1e-8, which could occur when integrating very smooth functions.
** Added new auxiliary functions gsl_cheb_order, gsl_cheb_size,
gsl_cheb_coeffs for Chebyshev series [bug #21830]
** Updated license of the reference manual to GNU FDL version 1.3.
** Fixed a bug where the gsl_isinf function would return +1 for -Inf
on systems where isinf(-Inf) returns the non-standard value +1.
[bug #24489]
** Added missing functions gsl_vector_complex_{isnonneg,add,sub,mul,
div,scale,add_constant} and gsl_matrix_complex_float_isnonneg [bug
#22478]
** Cross compilation should now work for x86 hosts.
** Fixed a bug in gsl_interp_accel_find() where values lying on the
upper boundary between interpolation points could return the index
from the lower side. [bug #24211]
** Fixed gsl_linalg_solve_cyc_tridiag so that its output respects the
solution vector's stride. Previously the x_stride value was ignored
causing the output to be incorrect for non-unit stride. [bug #24162]
** Corrected a bug in the series calculation of gsl_sf_ellint_Kcomp
for k close to 1. [bug #24146]
** Extended gsl_linalg_QRPT_update to handle rectangular matrices.
Corrected definition of the update formula in the manual for
both gsl_linalg_QR_update and gsl_linalg_QRPT_update.
** Added routine gsl_linalg_cholesky_invert
** Fixed a bug the simplex algorithm which caused the second highest
point to be incorrectly equal to the first when the first value was
the highest, which could cause suboptimal convergence. [bug #23192]
** Fixed a problem with convergence for inverse gamma and chisq
distribitions, gsl_cdf_gamma_{P,Q}inv and gsl_cdf_chisq_{P,Q}inv.
[bug #23101]
** Improved the handling of constant regions in Vegas by eliminating
spurious excess precision when computing box variances.
** Fixed a potential division by zero in gsl_monte_miser when the
left/right weight factors decrease below 1.
** Fixed incorrect dimensions check in gsl_matrix_sub{row,column}
* What was new in gsl-1.11:
** The GSL repository and bug database are now hosted at Savannah
http://savannah.gnu.org/projects/gsl/
** Upgraded to latest libtool, autoconf and automake (libtool-2.2,
autoconf-2.61, automake-1.10.1)
** Fixed underflow in ODE adaptive step size controller that could
cause step size to decrease to zero (bug #21933).
** Improved the handling of the asymptotic regime in gsl_sf_bessel_jl.
** Improved the handling of large arguments in cumulative distribution
functions using the incomplete beta function, such as gsl_cdf_fdist_P.
** Fixed overflow bug in gsl_cdf_hypergeometric_{P,Q} for large
arguments (bug #22293).
** gsl_ran_gaussian_ziggurat now handles generators with different
ranges explicitly, to minimise the number of function calls
required (bug #21820). Also fixes bug #22446 (rng limit in
gsl_ran_chisq()).
** Added missing error terms in gsl_sf_exp_mult_e10_e to prevent
the error being underestimated (bug #22041).
** Updated some constants to the CODATA 2006 values.
** The hypergeometric function gsl_sf_hyperg_2F1 now handles the case
where x==1.
** Fixed a bug in the brent minimiser which prevented optimal convergence.
** Added functions for evaluating complex polynomials
** The convergence condition for gsl_multiroots_test_delta now accepts
dxi == 0.
** Improved functions gsl_ldexp and gsl_frexp to handle the full range
of double precision numbers in all cases.
** Added new quasi random generators gsl_qrng_halton and
gsl_qrng_reversehalton which support dimensions up to 1229.
** Added function gsl_multifit_linear_residuals for computing the
residuals of the fit
* What was new in gsl-1.10:
** License updated to GNU GPL version 3.
** Added support for generalized eigensystems
** Added function gsl_stats_correlation to compute Pearson correlation
of two datasets
** Added the new function gsl_sf_expint(n,x) for computing the n-th
order exponential integral.
** Added functions gsl_vector_isnonneg and gsl_matrix_isnonneg.
** Added functions gsl_matrix_subrow and gsl_matrix_subcolumn
** Extended Cholesky routines to complex matrices
** Added support in gsl_ieee_set_mode for controlling SSE exceptions
and rounding through the MXCSR control word on x86 processors.
** The autoconf macro AM_PATH_GSL has been renamed to AX_PATH_GSL, to
avoid conflicts with the autoconf namespace.
** Improved handling of underflow in gsl_eigen_symm.
** The function gsl_multiroot_fdjacobian now returns the error code
GSL_ESING if any of the columns of the computed jacobian matrix are
zero. This may occur if the step size of the derivative is too small.
** Extended the function gsl_sf_beta_inc(a,b,x) to handle cases where
a<0 or b<0.
** Fixed the round-off error estimate in gsl_deriv_{central,backwards,
forward} to correctly account for numerical error in the step-size h.
** Fixed gsl_cdf_beta_Pinv, gsl_cdf_gamma_Pinv, gsl_cdf_beta_Pinv to
avoid returning spurious values for large parameters when the
iteration did not converge. If the iteration cannot converge, GSL_NAN
is returned.
** gsl_ran_dirichlet now handles smaller values of alpha[] without
underflow, avoiding a NaN in the returned value.
** The SVD routines now avoid underflow in the Schur decomposition for
matrices with extremely small values <O(1e-150).
** gsl_complex_pow now returns 0^0=1 (instead of zero) to match the usual
pow function, and handles z^(1,0) and z^(-1,0) as special cases.
** Fixed a bug in the set function for multifit lmder solver so that
previous values are cleared correctly.
** Improved the function gsl_log1p to prevent possible loss of
accuracy caused by optimisations.
** Improved the convergence test in the Lambert functions to take
account of finite precision and avoid possible failure to converge.
** The configure script no longer redefines finite() to isfinite() as
a workaround for missing finite(), as this caused problems on Solaris.
If finite() is not present gsl_finite() will be used instead.
** Improved the accuracy of the generalised laguerre polynomials for
large n when alpha=0.
** The functions gsl_{isnan,isinf,finite} will now always use the
system versions of isnan, isinf and finite if they are available.
Previously the portable GSL implementations were used whenever the
platform supported IEEE comparisons. The portable gsl_isinf function
now returns -1 instead of +1 for -Inf, in line with recent versions of
the GNU C Library.
* What was 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.