-
Notifications
You must be signed in to change notification settings - Fork 3
/
NEWS
1929 lines (1337 loc) · 70.5 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.6:
** add BLAS calls for the following functions:
- gsl_vector_memcpy
- gsl_vector_scale
- gsl_matrix_memcpy
- gsl_matrix_transpose_memcpy
- gsl_matrix_tricpy
- gsl_matrix_transpose_tricpy
** deprecated functions gsl_linalg_complex_householder_hm and
gsl_linalg_complex_householder_mh
** add unit tests for gsl_linalg_symmtd and gsl_linalg_hermtd
** multilarge TSQR algorithm has been converted to use the new Level 3 QR decomposition
** nonlinear least squares Cholesky solver now uses the new Level 3 BLAS
method; the old modified Cholesky solver is still available under
gsl_multifit_nlinear_solver_mcholesky and gsl_multilarge_nlinear_solver_mcholesky
** implemented Level 3 BLAS versions of several linear algebra routines:
- Triangular matrix inversion
- Cholesky decomposition and inversion (real and complex)
- LU decomposition and inversion (real and complex)
- QR decomposition (courtesy of Julien Langou)
- Generalized symmetric/hermitian eigensystem reduction to standard form
** removed deprecated function gsl_linalg_hessenberg()
** renamed gsl_interp2d_eval_e_extrap() to gsl_interp2d_eval_extrap_e()
to match documentation (reported by D. Lebrun-Grandie)
** renamed some of the gsl_sf_hermite functions to be more consistent
with rest of the library, and deprecated old function names
** updated gsl_sf_hermite_func() to use a newer algorithm
due to B. Bunck which is more stable for large x; also added
gsl_sf_hermite_func_fast() which uses the faster Cauchy integral
algorithm in the same paper by Bunck
** add gsl_vector_axpby()
** add un-pivoted LDLT decomposition and its banded
variant (gsl_linalg_ldlt_* and gsl_linalg_ldlt_band_*)
** add binary search tree module (gsl_bst); based on GNU libavl
** remove -u flag to gsl-histogram
** updated spmatrix module
- added routines and data structures for all types (float,uint,char,...)
- added gsl_spmatrix_scale_columns() and gsl_spmatrix_scale_rows()
- added gsl_spmatrix_add_to_dense()
- more efficient reallocation of COO/triplet matrices (no longer rebuilds binary tree)
- enhanced test suite
- added gsl_spmatrix_min_index()
** add routines for banded Cholesky decomposition (gsl_linalg_cholesky_band_*)
** documented gsl_linalg_LQ routines and added gsl_linalg_LQ_lssolve()
* What was new in gsl-2.5:
** doc bug fix in binomial distribution figure (Damien Desfontaines)
** added Wishart distribution (Timothée Flutre)
** added new module for digital filtering (gsl_filter); current filters include:
Gaussian filter
median filter
recursive median filter
impulse detection filter
** added new module for moving window statistics (gsl_movstat)
** added statistics functions:
gsl_stats_median()
gsl_stats_select()
gsl_stats_mad()
gsl_stats_mad0()
gsl_stats_Sn_from_sorted_data()
gsl_stats_Qn_from_sorted_data()
gsl_stats_gastwirth_from_sorted_data()
gsl_stats_trmean_from_sorted_data()
** added Romberg integration (gsl_integration_romberg)
** bug fix in deprecated functions gsl_multifit_wlinear_svd and
gsl_multifit_wlinear_usvd (reported by Vlad Koli)
** documentation corrected to state that gsl_sf_legendre functions do
not include Condon-Shortley phase by default
** bug fix in exponential fitting example when using larger number
of points (reported by Anna Russo)
** changed internal workspace inside gsl_spmatrix to a union to
avoid casting (suggested by Manuel Schmitz)
** bug fixes in ode-initval2 for very rare solver crashing cases:
#52230 in msadams (reported by Michael Kaufman) and
#52336 in msbdf (reported by Andrew Benson). As a fix,
the maximum scaling of controlled step length was decreased
from 5.0 to 4.9.
** add histogram2d figure to manual (was missing in 2.4)
** bug fix in gsl_spmatrix_add for duplicate input arguments
(reported by Alfredo Correa)
** add support for negative arguments nu in gsl_sf_bessel_Jnu and
gsl_sf_bessel_Ynu (Konrad Griessinger)
** better texinfo documentation for gsl_sf_hyperg functions
** fix vector and matrix fread/fwrite testing on windows systems
when tmpfile() fails
** fix for rstat/test.c on PPC64 (reported by Adam Majer)
* What was new in gsl-2.4:
** migrated documentation to Sphinx software, which has built-in
support for latex equations and figures in HTML output
** add const to declaration of appropriate gsl_rstat routines
** bug fix for #45730: change gsl_sf_sin/cos to libm sin/cos
** fix Cholesky documentation regarding upper triangle on output
** added routines to compute integrals with fixed-point quadrature,
based on IQPACK (Konrad Griessinger)
** added routines for Hermite polynomials, gsl_sf_hermite_*
(Konrad Griessinger)
** added new nonlinear least squares example for fitting
a Gaussian to data
** deprecated routines:
gsl_sf_coupling_6j_INCORRECT
gsl_sf_coupling_6j_INCORRECT_e
** deprecated routine 'gsl_linalg_hessenberg' (replaced
by gsl_linalg_hessenberg_decomp)
** removed routines which were deprecated in v2.1:
gsl_bspline_deriv_alloc
gsl_bspline_deriv_free
** changed COD expression to Q R Z^T instead of Q R Z to
be consistent with standard texts
** added check for nz == 0 in gsl_spmatrix_get
(reported by Manuel Schmitz)
** permit zero-dimension blocks, vectors, matrics, subvectors,
submatrices, and views of the above (bug #49988)
** added routine gsl_linalg_COD_lssolve2 for regularized
least squares problems
* What was new in gsl-2.3:
** bug fix in documentation for gsl_linalg_LU_refine
(bug #49728, Joey De Pauw)
** added gsl_multifit_linear_tsvd and gsl_multifit_wlinear_tsvd
to give user more control over cutoff for truncated SVD
** added routines for Generalized Cross Validation for
regularized linear least squares
** improved rstat example program and added documentation for
gsl_rstat_sd_mean (Jonathan Leto)
** added function gsl_multifit_linear_rank
** bug fix in nonlinear least squares when using data weights with
finite-difference Jacobian
** add 2D subspace method for large systems (multilarge_nlinear)
** bug fix in gsl_ran_beta for small parameters
(bug #47646, Yu Liu)
** bug fix in gsl_complex_tan for negative imaginary arguments
(bug #47347, Yu Liu)
** doc bug fix: value of golden ratio
** fixed scaling issue in 2D subspace nonlinear least squares
method
** optimize dogleg methods to calculate Gauss-Newton point
only when needed
* What was new in gsl-2.2.1:
** reverted gsl_linalg_cholesky_decomp to its previous behavior
so it is backward compatible; new cholesky routine is
gsl_linalg_cholesky_decomp1
* What was new in gsl-2.2:
** updated gsl_linalg_cholesky_invert to use Level-2 BLAS
and added function gsl_linalg_pcholesky_invert
** added functions gsl_linalg_tri_*_invert for inverting
triangular matrices
** fix GSL_EIGEN_SORT_VAL_{ASC,DESC} for nonsymmetric
eigensystems (Victor Zverovich)
** added complete orthogonal decomposition routines
(gsl_linalg_COD)
** bug fix where median calculation wasn't reset in
gsl_rstat_reset(); added gsl_rstat_quantile_reset() function
(reported by Pedro Donato)
** added multivariate Gaussian random distribution
gsl_ran_multivariate_gaussian (Timothée Flutre)
** added functions to estimate the 1-norm reciprocal condition
number for various matrix factorizations:
* gsl_linalg_cholesky_rcond
* gsl_linalg_QRPT_rcond
** added functions gsl_linalg_QRPT_{lssolve,lssolve2} to
compute least squares solutions with the QRPT decomposition
** added function gsl_permute_matrix()
** added modified Cholesky factorization (gsl_linalg_mcholesky)
to handle symmetric indefinite matrices
** added pivoted Cholesky factorization (gsl_linalg_pcholesky)
for ill-conditioned matrices
** rewrote (real) Cholesky decomposition to use
a Level-2 blas algorithm instead of Level-1. Flop
count is about the same but the code is much simpler
and easier to follow
** completely rewritten nonlinear least squares module,
including support for large problems; the user may
now control the linear solver used, the trust region
updating strategy, and the scaling method. In addition,
support has been added for the geodesic acceleration
step (Transtrum 2011) which can speed up convergence
on a wide class of problems.
** added gsl_rstat_rms() for root mean square
** optimized lmniel nonlinear least squares solver
(bug #46369)
** improved precision in Bessel K0/K1 near x = 2
(Pavel Holoborodko, bug #47401)
** added support for compressed row storage sparse
matrices (Alexis Tantet)
** bug fix in convergence check of hypergeometric 2F1
function (bug #45926)
** added gsl_multilarge_linear_lcurve() to compute
the L-curve for large linear systems
** updated multilarge normal equations method to use
new Cholesky scaling for better numerical stability
** added scaling to Cholesky routines to reduce the
condition number prior to factorization
* What was 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.