1 %module
"Math::GSL::SF"
4 %apply double
*OUTPUT { double
* sn
, double
* cn
, double
* dn
, double
* sgn
};
7 #include
"gsl/gsl_mode.h"
8 #include
"gsl/gsl_sf.h"
9 #include
"gsl/gsl_sf_airy.h"
10 #include
"gsl/gsl_sf_bessel.h"
11 #include
"gsl/gsl_sf_clausen.h"
12 #include
"gsl/gsl_sf_coulomb.h"
13 #include
"gsl/gsl_sf_coupling.h"
14 #include
"gsl/gsl_sf_dawson.h"
15 #include
"gsl/gsl_sf_debye.h"
16 #include
"gsl/gsl_sf_dilog.h"
17 #include
"gsl/gsl_sf_elementary.h"
18 #include
"gsl/gsl_sf_ellint.h"
19 #include
"gsl/gsl_sf_elljac.h"
20 #include
"gsl/gsl_sf_erf.h"
21 #include
"gsl/gsl_sf_exp.h"
22 #include
"gsl/gsl_sf_expint.h"
23 #include
"gsl/gsl_sf_fermi_dirac.h"
24 #include
"gsl/gsl_sf_gamma.h"
25 #include
"gsl/gsl_sf_gegenbauer.h"
26 #include
"gsl/gsl_sf_hyperg.h"
27 #include
"gsl/gsl_sf_laguerre.h"
28 #include
"gsl/gsl_sf_lambert.h"
29 #include
"gsl/gsl_sf_legendre.h"
30 #include
"gsl/gsl_sf_log.h"
31 #include
"gsl/gsl_sf_mathieu.h"
32 #include
"gsl/gsl_sf_pow_int.h"
33 #include
"gsl/gsl_sf_psi.h"
34 #include
"gsl/gsl_sf_result.h"
35 #include
"gsl/gsl_sf_synchrotron.h"
36 #include
"gsl/gsl_sf_transport.h"
37 #include
"gsl/gsl_sf_trig.h"
38 #include
"gsl/gsl_sf_zeta.h"
41 %include
"gsl/gsl_mode.h"
42 %include
"gsl/gsl_sf.h"
43 %include
"gsl/gsl_sf_airy.h"
44 %include
"gsl/gsl_sf_bessel.h"
45 %include
"gsl/gsl_sf_clausen.h"
46 %include
"gsl/gsl_sf_coulomb.h"
47 %include
"gsl/gsl_sf_coupling.h"
48 %include
"gsl/gsl_sf_dawson.h"
49 %include
"gsl/gsl_sf_debye.h"
50 %include
"gsl/gsl_sf_dilog.h"
51 %include
"gsl/gsl_sf_elementary.h"
52 %include
"gsl/gsl_sf_ellint.h"
53 %include
"gsl/gsl_sf_elljac.h"
54 %include
"gsl/gsl_sf_erf.h"
55 %include
"gsl/gsl_sf_exp.h"
56 %include
"gsl/gsl_sf_expint.h"
57 %include
"gsl/gsl_sf_fermi_dirac.h"
58 %include
"gsl/gsl_sf_gamma.h"
59 %include
"gsl/gsl_sf_gegenbauer.h"
60 %include
"gsl/gsl_sf_hyperg.h"
61 %include
"gsl/gsl_sf_laguerre.h"
62 %include
"gsl/gsl_sf_lambert.h"
63 %include
"gsl/gsl_sf_legendre.h"
64 %include
"gsl/gsl_sf_log.h"
65 %include
"gsl/gsl_sf_mathieu.h"
66 %include
"gsl/gsl_sf_pow_int.h"
67 %include
"gsl/gsl_sf_psi.h"
68 %include
"gsl/gsl_sf_result.h"
69 %include
"gsl/gsl_sf_synchrotron.h"
70 %include
"gsl/gsl_sf_transport.h"
71 %include
"gsl/gsl_sf_trig.h"
72 %include
"gsl/gsl_sf_zeta.h"
82 gsl_sf_airy_Ai_scaled_e
84 gsl_sf_airy_Bi_scaled_e
86 gsl_sf_airy_Ai_deriv_e
88 gsl_sf_airy_Bi_deriv_e
90 gsl_sf_airy_Ai_deriv_scaled_e
91 gsl_sf_airy_Ai_deriv_scaled
92 gsl_sf_airy_Bi_deriv_scaled_e
93 gsl_sf_airy_Bi_deriv_scaled
98 gsl_sf_airy_zero_Ai_deriv_e
99 gsl_sf_airy_zero_Ai_deriv
100 gsl_sf_airy_zero_Bi_deriv_e
101 gsl_sf_airy_zero_Bi_deriv
110 gsl_sf_bessel_Jn_array
117 gsl_sf_bessel_Yn_array
124 gsl_sf_bessel_In_array
125 gsl_sf_bessel_I0_scaled_e
126 gsl_sf_bessel_I0_scaled
127 gsl_sf_bessel_I1_scaled_e
128 gsl_sf_bessel_I1_scaled
129 gsl_sf_bessel_In_scaled_e
130 gsl_sf_bessel_In_scaled
131 gsl_sf_bessel_In_scaled_array
138 gsl_sf_bessel_Kn_array
139 gsl_sf_bessel_K0_scaled_e
140 gsl_sf_bessel_K0_scaled
141 gsl_sf_bessel_K1_scaled_e
142 gsl_sf_bessel_K1_scaled
143 gsl_sf_bessel_Kn_scaled_e
144 gsl_sf_bessel_Kn_scaled
145 gsl_sf_bessel_Kn_scaled_array
154 gsl_sf_bessel_jl_array
155 gsl_sf_bessel_jl_steed_array
164 gsl_sf_bessel_yl_array
165 gsl_sf_bessel_i0_scaled_e
166 gsl_sf_bessel_i0_scaled
167 gsl_sf_bessel_i1_scaled_e
168 gsl_sf_bessel_i1_scaled
169 gsl_sf_bessel_i2_scaled_e
170 gsl_sf_bessel_i2_scaled
171 gsl_sf_bessel_il_scaled_e
172 gsl_sf_bessel_il_scaled
173 gsl_sf_bessel_il_scaled_array
174 gsl_sf_bessel_k0_scaled_e
175 gsl_sf_bessel_k0_scaled
176 gsl_sf_bessel_k1_scaled_e
177 gsl_sf_bessel_k1_scaled
178 gsl_sf_bessel_k2_scaled_e
179 gsl_sf_bessel_k2_scaled
180 gsl_sf_bessel_kl_scaled_e
181 gsl_sf_bessel_kl_scaled
182 gsl_sf_bessel_kl_scaled_array
187 gsl_sf_bessel_sequence_Jnu_e
188 gsl_sf_bessel_Inu_scaled_e
189 gsl_sf_bessel_Inu_scaled
192 gsl_sf_bessel_Knu_scaled_e
193 gsl_sf_bessel_Knu_scaled
196 gsl_sf_bessel_lnKnu_e
198 gsl_sf_bessel_zero_J0_e
199 gsl_sf_bessel_zero_J0
200 gsl_sf_bessel_zero_J1_e
201 gsl_sf_bessel_zero_J1
202 gsl_sf_bessel_zero_Jnu_e
203 gsl_sf_bessel_zero_Jnu
205 @EXPORT_clausen
= qw
/
209 @EXPORT_hydrogenic
= qw
/
210 gsl_sf_hydrogenicR_1_e
215 @EXPORT_coulumb
= qw
/
216 gsl_sf_coulomb_wave_FG_e
217 gsl_sf_coulomb_wave_F_array
218 gsl_sf_coulomb_wave_FG_array
219 gsl_sf_coulomb_wave_FGp_array
220 gsl_sf_coulomb_wave_sphF_array
222 gsl_sf_coulomb_CL_array
224 @EXPORT_coupling
= qw
/
229 gsl_sf_coupling_RacahW_e
230 gsl_sf_coupling_RacahW
233 gsl_sf_coupling_6j_INCORRECT_e
234 gsl_sf_coupling_6j_INCORRECT
257 gsl_sf_complex_dilog_xy_e
258 gsl_sf_complex_dilog_e
262 gsl_sf_complex_spence_xy_e
265 gsl_sf_multiply_err_e
267 @EXPORT_elliptic
= qw
/
268 gsl_sf_ellint_Kcomp_e
270 gsl_sf_ellint_Ecomp_e
272 gsl_sf_ellint_Pcomp_e
274 gsl_sf_ellint_Dcomp_e
308 push @EXPORT_misc
, qw
/
314 gsl_sf_exp_mult_e10_e
325 gsl_sf_exp_mult_err_e
326 gsl_sf_exp_mult_err_e10_e
333 gsl_sf_expint_E1_scaled_e
334 gsl_sf_expint_E1_scaled
335 gsl_sf_expint_E2_scaled_e
336 gsl_sf_expint_E2_scaled
337 gsl_sf_expint_En_scaled_e
338 gsl_sf_expint_En_scaled
341 gsl_sf_expint_Ei_scaled_e
342 gsl_sf_expint_Ei_scaled
354 @EXPORT_fermi_dirac
= qw
/
355 gsl_sf_fermi_dirac_m1_e
356 gsl_sf_fermi_dirac_m1
357 gsl_sf_fermi_dirac_0_e
359 gsl_sf_fermi_dirac_1_e
361 gsl_sf_fermi_dirac_2_e
363 gsl_sf_fermi_dirac_int_e
364 gsl_sf_fermi_dirac_int
365 gsl_sf_fermi_dirac_mhalf_e
366 gsl_sf_fermi_dirac_mhalf
367 gsl_sf_fermi_dirac_half_e
368 gsl_sf_fermi_dirac_half
369 gsl_sf_fermi_dirac_3half_e
370 gsl_sf_fermi_dirac_3half
371 gsl_sf_fermi_dirac_inc_0_e
372 gsl_sf_fermi_dirac_inc_0
374 @EXPORT_legendre
= qw
/
377 gsl_sf_legendre_Pl_array
378 gsl_sf_legendre_Pl_deriv_array
391 gsl_sf_legendre_Plm_e
393 gsl_sf_legendre_Plm_array
394 gsl_sf_legendre_Plm_deriv_array
395 gsl_sf_legendre_sphPlm_e
396 gsl_sf_legendre_sphPlm
397 gsl_sf_legendre_sphPlm_array
398 gsl_sf_legendre_sphPlm_deriv_array
399 gsl_sf_legendre_array_size
400 gsl_sf_legendre_H3d_0_e
401 gsl_sf_legendre_H3d_0
402 gsl_sf_legendre_H3d_1_e
403 gsl_sf_legendre_H3d_1
404 gsl_sf_legendre_H3d_e
406 gsl_sf_legendre_H3d_array
418 gsl_sf_lngamma_complex_e
426 @EXPORT_factorial
= qw
/
433 gsl_sf_lndoublefact_e
436 @EXPORT_hypergeometric
= qw
/
439 gsl_sf_hyperg_1F1_int_e
440 gsl_sf_hyperg_1F1_int
443 gsl_sf_hyperg_U_int_e
445 gsl_sf_hyperg_U_int_e10_e
448 gsl_sf_hyperg_U_e10_e
451 gsl_sf_hyperg_2F1_conj_e
452 gsl_sf_hyperg_2F1_conj
453 gsl_sf_hyperg_2F1_renorm_e
454 gsl_sf_hyperg_2F1_renorm
455 gsl_sf_hyperg_2F1_conj_renorm_e
456 gsl_sf_hyperg_2F1_conj_renorm
460 @EXPORT_laguerre
= qw
/
470 push @EXPORT_misc
, qw
/
499 gsl_sf_gegenpoly_array
504 gsl_sf_conicalP_half_e
506 gsl_sf_conicalP_mhalf_e
507 gsl_sf_conicalP_mhalf
512 gsl_sf_conicalP_sph_reg_e
513 gsl_sf_conicalP_sph_reg
514 gsl_sf_conicalP_cyl_reg_e
515 gsl_sf_conicalP_cyl_reg
523 gsl_sf_log_1plusx_mx_e
540 gsl_sf_result_smash_e
541 gsl_sf_synchrotron_1_e
543 gsl_sf_synchrotron_2_e
546 @EXPORT_mathieu
= qw
/
547 gsl_sf_mathieu_a_array
548 gsl_sf_mathieu_b_array
551 gsl_sf_mathieu_a_coeff
552 gsl_sf_mathieu_b_coeff
557 gsl_sf_mathieu_ce_array
558 gsl_sf_mathieu_se_array
561 gsl_sf_mathieu_Mc_array
562 gsl_sf_mathieu_Ms_array
564 @EXPORT_transport
= qw
/
585 gsl_sf_complex_logsin_e
596 gsl_sf_angle_restrict_symm_e
597 gsl_sf_angle_restrict_symm
598 gsl_sf_angle_restrict_pos_e
599 gsl_sf_angle_restrict_pos
600 gsl_sf_angle_restrict_symm_err_e
601 gsl_sf_angle_restrict_pos_err_e
626 GSL_SF_DOUBLEFACT_NMAX
631 @EXPORT_airy
, @EXPORT_bessel
, @EXPORT_clausen
, @EXPORT_hydrogenic
,
632 @EXPORT_coulumb
, @EXPORT_coupling
, @EXPORT_dawson
, @EXPORT_debye
,
633 @EXPORT_dilog
, @EXPORT_misc
, @EXPORT_elliptic
, @EXPORT_error
, @EXPORT_legendre
,
634 @EXPORT_gamma
, @EXPORT_transport
, @EXPORT_trig
, @EXPORT_zeta
, @EXPORT_eta
,
639 all
=> [ @EXPORT_OK
],
640 airy
=> [ @EXPORT_airy
],
641 bessel
=> [ @EXPORT_bessel
],
642 clausen
=> [ @EXPORT_clausen
],
643 coulumb
=> [ @EXPORT_coulumb
],
644 coupling
=> [ @EXPORT_coupling
],
645 dawson
=> [ @EXPORT_dawson
],
646 debye
=> [ @EXPORT_debye
],
647 dilog
=> [ @EXPORT_dilog
],
648 eta
=> [ @EXPORT_eta
],
649 elliptic
=> [ @EXPORT_elliptic
],
650 error
=> [ @EXPORT_error
],
651 factorial
=> [ @EXPORT_factorial
],
652 gamma
=> [ @EXPORT_gamma
],
653 hydrogenic
=> [ @EXPORT_hydrogenic
],
654 hypergeometric
=> [ @EXPORT_hypergeometric
],
655 laguerre
=> [ @EXPORT_laguerre
],
656 legendre
=> [ @EXPORT_legendre
],
657 mathieu
=> [ @EXPORT_mathieu
],
658 misc
=> [ @EXPORT_misc
],
659 transport
=> [ @EXPORT_transport
],
660 trig
=> [ @EXPORT_trig
],
661 vars
=> [ @EXPORT_vars
],
662 zeta
=> [ @EXPORT_zeta
],
669 Math
::GSL
::SF
- Special Functions
673 use Math
::GSL
::SF qw
/:all
/;
677 This module contains a data structure named gsl_sf_result. To create a new one use
679 $r
= Math
::GSL
::SF
::gsl_sf_result_struct-
>new
;
681 You can then access the elements of the structure in this way
:
685 my $error
= $r-
>{err
};
687 Here is a list of all included functions
:
691 =item C
<gsl_sf_airy_Ai_e
($x
, $mode
)>
693 =item C
<gsl_sf_airy_Ai
($x
, $mode
, $result
)>
695 - These routines compute the Airy function Ai
($x
) with an accuracy specified by $mode. $mode should be $GSL_PREC_DOUBLE
, $GSL_PREC_SINGLE or $GSL_PREC_APPROX. $result is a gsl_sf_result structure.
701 =item C
<gsl_sf_airy_Bi_e
($x
, $mode
, $result
)>
703 =item C
<gsl_sf_airy_Bi
($x
, $mode
)>
705 - These routines compute the Airy function Bi
($x
) with an accuracy specified by $mode. $mode should be $GSL_PREC_DOUBLE
, $GSL_PREC_SINGLE or $GSL_PREC_APPROX. $result is a gsl_sf_result structure.
711 =item C
<gsl_sf_airy_Ai_scaled_e
($x
, $mode
, $result
)>
713 =item C
<gsl_sf_airy_Ai_scaled
($x
, $mode
)>
715 - These routines compute a scaled version of the Airy function S_A
($x
) Ai
($x
). For $x
>0 the scaling factor S_A
($x
) is \exp
(+(2/3) $x
**(3/2)), and is
1 for $x
<0. $result is a gsl_sf_result structure.
721 =item C
<gsl_sf_airy_Bi_scaled_e
($x
, $mode
, $result
)>
723 =item C
<gsl_sf_airy_Bi_scaled
($x
, $mode
)>
725 - These routines compute a scaled version of the Airy function S_B
($x
) Bi
($x
). For $x
>0 the scaling factor S_B
($x
) is exp
(-(2/3) $x
**(3/2)), and is
1 for $x
<0. $result is a gsl_sf_result structure.
731 =item C
<gsl_sf_airy_Ai_deriv_e
($x
, $mode
, $result
)>
733 =item C
<gsl_sf_airy_Ai_deriv
($x
, $mode
)>
735 - These routines compute the Airy function derivative Ai'
($x
) with an accuracy specified by $mode. $result is a gsl_sf_result structure.
741 =item C
<gsl_sf_airy_Bi_deriv_e
($x
, $mode
, $result
)>
743 =item C
<gsl_sf_airy_Bi_deriv
($x
, $mode
)>
745 -These routines compute the Airy function derivative Bi'
($x
) with an accuracy specified by $mode. $result is a gsl_sf_result structure.
751 =item C
<gsl_sf_airy_Ai_deriv_scaled_e
($x
, $mode
, $result
)>
753 =item C
<gsl_sf_airy_Ai_deriv_scaled
($x
, $mode
)>
755 -These routines compute the scaled Airy function derivative S_A
(x
) Ai'
(x
). For x
>0 the scaling factor S_A
(x
) is \exp
(+(2/3) x^
(3/2)), and is
1 for x
<0. $result is a gsl_sf_result structure.
761 =item C
<gsl_sf_airy_Bi_deriv_scaled_e
($x
, $mode
, $result
)>
763 =item C
<gsl_sf_airy_Bi_deriv_scaled
($x
, $mode
)>
765 -These routines compute the scaled Airy function derivative S_B
(x
) Bi'
(x
). For x
>0 the scaling factor S_B
(x
) is exp
(-(2/3) x^
(3/2)), and is
1 for x
<0. $result is a gsl_sf_result structure.
771 =item C
<gsl_sf_airy_zero_Ai_e
($s
, $result
)>
773 =item C
<gsl_sf_airy_zero_Ai
($s
)>
775 -These routines compute the location of the s-th zero of the Airy function Ai
($x
). $result is a gsl_sf_result structure.
781 =item C
<gsl_sf_airy_zero_Bi_e
($s
, $result
)>
783 =item C
<gsl_sf_airy_zero_Bi
($s
)>
785 -These routines compute the location of the s-th zero of the Airy function Bi
($x
). $result is a gsl_sf_result structure.
791 =item C
<gsl_sf_airy_zero_Ai_deriv_e
($s
, $result
)>
793 =item C
<gsl_sf_airy_zero_Ai_deriv
($s
)>
795 -These routines compute the location of the s-th zero of the Airy function derivative Ai'
(x
). $result is a gsl_sf_result structure.
801 =item C
<gsl_sf_airy_zero_Bi_deriv_e
($s
, $result
)>
803 =item C
<gsl_sf_airy_zero_Bi_deriv
($s
)>
805 - These routines compute the location of the s-th zero of the Airy function derivative Bi'
(x
). $result is a gsl_sf_result structure.
811 =item C
<gsl_sf_bessel_J0_e
($x
, $result
)>
813 =item C
<gsl_sf_bessel_J0
($x
)>
815 -These routines compute the regular cylindrical Bessel function of zeroth order
, J_0
($x
). $result is a gsl_sf_result structure.
821 =item C
<gsl_sf_bessel_J1_e
($x
, $result
)>
823 =item C
<gsl_sf_bessel_J1
($x
)>
825 - These routines compute the regular cylindrical Bessel function of first order
, J_1
($x
). $result is a gsl_sf_result structure.
831 =item C
<gsl_sf_bessel_Jn_e
($n
, $x
, $result
)>
833 =item C
<gsl_sf_bessel_Jn
($n
, $x
)>
835 -These routines compute the regular cylindrical Bessel function of order n
, J_n
($x
).
841 =item C
<gsl_sf_bessel_Jn_array
($nmin
, $nmax
, $x
, $result_array
)> - This routine computes the values of the regular cylindrical Bessel functions J_n
($x
) for n from $nmin to $nmax inclusive
, storing the results in the array $result_array. The values are computed using recurrence relations for efficiency
, and therefore may differ slightly from the exact values.
847 =item C
<gsl_sf_bessel_Y0_e
($x
, $result
)>
849 =item C
<gsl_sf_bessel_Y0
($x
)>
851 - These routines compute the irregular spherical Bessel function of zeroth order
, y_0
(x
) = -\cos
(x
)/x.
857 =item C
<gsl_sf_bessel_Y1_e
($x
, $result
)>
859 =item C
<gsl_sf_bessel_Y1
($x
)>
861 -These routines compute the irregular spherical Bessel function of first order
, y_1
(x
) = -(\cos
(x
)/x
+ \sin
(x
))/x.
867 =item C
<gsl_sf_bessel_Yn_e
>($n
, $x
, $result
)
869 =item C
<gsl_sf_bessel_Yn
($n
, $x
)>
871 -These routines compute the irregular cylindrical Bessel function of order $n
, Y_n
(x
), for x
>0.
877 =item C
<gsl_sf_bessel_Yn_array
>
885 =item C
<gsl_sf_bessel_I0_e
($x
, $result
)>
887 =item C
<gsl_sf_bessel_I0
($x
)>
889 -These routines compute the regular modified cylindrical Bessel function of zeroth order
, I_0
(x
).
895 =item C
<gsl_sf_bessel_I1_e
($x
, $result
)>
897 =item C
<gsl_sf_bessel_I1
($x
)>
899 -These routines compute the regular modified cylindrical Bessel function of first order
, I_1
(x
).
905 =item C
<gsl_sf_bessel_In_e
($n
, $x
, $result
)>
907 =item C
<gsl_sf_bessel_In
($n
, $x
)>
909 -These routines compute the regular modified cylindrical Bessel function of order $n
, I_n
(x
).
915 =item C
<gsl_sf_bessel_In_array
>
923 =item C
<gsl_sf_bessel_I0_scaled_e
($x
, $result
)>
925 =item C
<gsl_sf_bessel_I0_scaled
($x
)>
927 -These routines compute the scaled regular modified cylindrical Bessel function of zeroth order \exp
(-|x|
) I_0
(x
).
933 =item C
<gsl_sf_bessel_I1_scaled_e
($x
, $result
)>
935 =item C
<gsl_sf_bessel_I1_scaled
($x
)>
937 -These routines compute the scaled regular modified cylindrical Bessel function of first order \exp
(-|x|
) I_1
(x
).
943 =item C
<gsl_sf_bessel_In_scaled_e
($n
, $x
, $result
)>
945 =item C
<gsl_sf_bessel_In_scaled
($n
, $x
)>
947 -These routines compute the scaled regular modified cylindrical Bessel function of order $n
, \exp
(-|x|
) I_n
(x
)
953 =item C
<gsl_sf_bessel_In_scaled_array
>
961 =item C
<gsl_sf_bessel_K0_e
($x
, $result
)>
963 =item C
<gsl_sf_bessel_K0
($x
)>
965 -These routines compute the irregular modified cylindrical Bessel function of zeroth order
, K_0
(x
), for x
> 0.
971 =item C
<gsl_sf_bessel_K1_e
($x
, $result
)>
973 =item C
<gsl_sf_bessel_K1
($x
)>
975 -These routines compute the irregular modified cylindrical Bessel function of first order
, K_1
(x
), for x
> 0.
981 =item C
<gsl_sf_bessel_Kn_e
($n
, $x
, $result
)>
983 =item C
<gsl_sf_bessel_Kn
($n
, $x
)>
985 -These routines compute the irregular modified cylindrical Bessel function of order $n
, K_n
(x
), for x
> 0.
991 =item C
<gsl_sf_bessel_Kn_array
>
999 =item C
<gsl_sf_bessel_K0_scaled_e
($x
, $result
)>
1001 =item C
<gsl_sf_bessel_K0_scaled
($x
)>
1003 -These routines compute the scaled irregular modified cylindrical Bessel function of zeroth order \exp
(x
) K_0
(x
) for x
>0.
1009 =item C
<gsl_sf_bessel_K1_scaled_e
($x
, $result
)>
1011 =item C
<gsl_sf_bessel_K1_scaled
($x
)>
1019 =item C
<gsl_sf_bessel_Kn_scaled_e
($n
, $x
, $result
)>
1021 =item C
<gsl_sf_bessel_Kn_scaled
($n
, $x
)>
1029 =item C
<gsl_sf_bessel_Kn_scaled_array
>
1037 =item C
<gsl_sf_bessel_j0_e
($x
, $result
)>
1039 =item C
<gsl_sf_bessel_j0
($x
)>
1047 =item C
<gsl_sf_bessel_j1_e
($x
, $result
)>
1049 =item C
<gsl_sf_bessel_j1
($x
)>
1057 =item C
<gsl_sf_bessel_j2_e
($x
, $result
)>
1059 =item C
<gsl_sf_bessel_j2
($x
)>
1067 =item C
<gsl_sf_bessel_jl_e
($l
, $x
, $result
)>
1069 =item C
<gsl_sf_bessel_jl
($l
, $x
)>
1077 =item C
<gsl_sf_bessel_jl_array
>
1085 =item C
<gsl_sf_bessel_jl_steed_array
>
1093 =item C
<gsl_sf_bessel_y0_e
($x
, $result
)>
1095 =item C
<gsl_sf_bessel_y0
($x
)>
1103 =item C
<gsl_sf_bessel_y1_e
($x
, $result
)>
1105 =item C
<gsl_sf_bessel_y1
($x
)>
1113 =item C
<gsl_sf_bessel_y2_e
($x
, $result
)>
1115 =item C
<gsl_sf_bessel_y2
($x
)>
1123 =item C
<gsl_sf_bessel_yl_e
($l
, $x
, $result
)>
1125 =item C
<gsl_sf_bessel_yl
($l
, $x
)>
1133 =item C
<gsl_sf_bessel_yl_array
>
1141 =item C
<gsl_sf_bessel_i0_scaled_e
($x
, $result
)>
1143 =item C
<gsl_sf_bessel_i0_scaled
($x
)>
1151 =item C
<gsl_sf_bessel_i1_scaled_e
($x
, $result
)>
1153 =item C
<gsl_sf_bessel_i1_scaled
($x
)>
1161 =item C
<gsl_sf_bessel_i2_scaled_e
($x
, $result
)>
1163 =item C
<gsl_sf_bessel_i2_scaled
($x
)>
1171 =item C
<gsl_sf_bessel_il_scaled_e
($l
, $x
, $result
)>
1173 =item C
<gsl_sf_bessel_il_scaled
($x
)>
1181 =item C
<gsl_sf_bessel_il_scaled_array
>
1189 =item C
<gsl_sf_bessel_k0_scaled_e
($x
, $result
)>
1191 =item C
<gsl_sf_bessel_k0_scale
($x
)>
1199 =item C
<gsl_sf_bessel_k1_scaled_e
($x
, $result
)>
1201 =item C
<gsl_sf_bessel_k1_scaled
($x
)>
1209 =item C
<gsl_sf_bessel_k2_scaled_e
($x
, $result
) >
1211 =item C
<gsl_sf_bessel_k2_scaled
($x
)>
1219 =item C
<gsl_sf_bessel_kl_scaled_e
($l
, $x
, $result
)>
1221 =item C
<gsl_sf_bessel_kl_scaled
($l
, $x
)>
1229 =item C
<gsl_sf_bessel_kl_scaled_array
>
1237 =item C
<gsl_sf_bessel_Jnu_e
($nu
, $x
, $result
)>
1239 =item C
<gsl_sf_bessel_Jnu
($nu
, $x
)>
1247 =item C
<gsl_sf_bessel_sequence_Jnu_e
>
1255 =item C
<gsl_sf_bessel_Ynu_e
($nu
, $x
, $result
)>
1257 =item C
<gsl_sf_bessel_Ynu
($nu
, $x
)>
1265 =item C
<gsl_sf_bessel_Inu_scaled_e
($nu
, $x
, $result
)>
1267 =item C
<gsl_sf_bessel_Inu_scaled
($nu
, $x
)>
1275 =item C
<gsl_sf_bessel_Inu_e
($nu
, $x
, $result
)>
1277 =item C
<gsl_sf_bessel_Inu
($nu
, $x
)>
1285 =item C
<gsl_sf_bessel_Knu_scaled_e
($nu
, $x
, $result
)>
1287 =item C
<gsl_sf_bessel_Knu_scaled
($nu
, $x
)>
1295 =item C
<gsl_sf_bessel_Knu_e
($nu
, $x
, $result
)>
1297 =item C
<gsl_sf_bessel_Knu
($nu
, $x
)>
1305 =item C
<gsl_sf_bessel_lnKnu_e
($nu
, $x
, $result
)>
1307 =item C
<gsl_sf_bessel_lnKnu
($nu
, $x
)>
1315 =item C
<gsl_sf_bessel_zero_J0_e
($s
, $result
)>
1317 =item C
<gsl_sf_bessel_zero_J0
($s
)>
1325 =item C
<gsl_sf_bessel_zero_J1_e
($s
, $result
)>
1327 =item C
<gsl_sf_bessel_zero_J1
($s
)>
1335 =item C
<gsl_sf_bessel_zero_Jnu_e
($nu
, $s
, $result
)>
1337 =item C
<gsl_sf_bessel_zero_Jnu
($nu
, $s
)>
1345 =item C
<gsl_sf_clausen_e
($x
, $result
)>
1347 =item C
<gsl_sf_clausen
($x
)>
1355 =item C
<gsl_sf_hydrogenicR_1_e
($Z
, $r
, $result
)>
1357 =item C
<gsl_sf_hydrogenicR_1
($Z
, $r
)>
1365 =item C
<gsl_sf_hydrogenicR_e
($n
, $l
, $Z
, $r
, $result
)>
1367 =item C
<gsl_sf_hydrogenicR
($n
, $l
, $Z
, $r
)>
1375 =item C
<gsl_sf_coulomb_wave_FG_e
($eta
, $x
, $L_F
, $k
, $F
, gsl_sf_result
* Fp
, gsl_sf_result
* G
, $Gp
)> - This function computes the Coulomb wave functions F_L
(\eta
,x
), G_
{L-k
}(\eta
,x
) and their derivatives F'_L
(\eta
,x
), G'_
{L-k
}(\eta
,x
) with respect to $x. The parameters are restricted to L
, L-k
> -1/2, x
> 0 and integer $k. Note that L itself is not restricted to being an integer. The results are stored in the parameters $F
, $G for the function values and $Fp
, $Gp for the derivative values. $F
, $G
, $Fp
, $Gp are all gsl_result structs. If an overflow occurs
, $GSL_EOVRFLW is returned and scaling exponents are returned as second and third values.
1377 =item C
<gsl_sf_coulomb_wave_F_array
> -
1379 =item C
<gsl_sf_coulomb_wave_FG_array
> -
1381 =item C
<gsl_sf_coulomb_wave_FGp_array
> -
1383 =item C
<gsl_sf_coulomb_wave_sphF_array
> -
1385 =item C
<gsl_sf_coulomb_CL_e
($L
, $eta
, $result
)> - This function computes the Coulomb wave function normalization constant C_L
($eta
) for $L
> -1.
1387 =item C
<gsl_sf_coulomb_CL_arrayi
> -
1393 =item C
<gsl_sf_coupling_3j_e
($two_ja
, $two_jb
, $two_jc
, $two_ma
, $two_mb
, $two_mc
, $result
)>
1395 =item C
<gsl_sf_coupling_3j
($two_ja
, $two_jb
, $two_jc
, $two_ma
, $two_mb
, $two_mc
)>
1397 - These routines compute the Wigner
3-j coefficient
,
1400 where the arguments are given in half-integer units
, ja
= $two_ja
/2, ma
= $two_ma
/2, etc.
1406 =item C
<gsl_sf_coupling_6j_e
($two_ja
, $two_jb
, $two_jc
, $two_jd
, $two_je
, $two_jf
, $result
)>
1408 =item C
<gsl_sf_coupling_6j
($two_ja
, $two_jb
, $two_jc
, $two_jd
, $two_je
, $two_jf
)>
1410 - These routines compute the Wigner
6-j coefficient
,
1413 where the arguments are given in half-integer units
, ja
= $two_ja
/2, ma
= $two_ma
/2, etc.
1419 =item C
<gsl_sf_coupling_RacahW_e
>
1421 =item C
<gsl_sf_coupling_RacahW
>
1429 =item C
<gsl_sf_coupling_9j_e
($two_ja
, $two_jb
, $two_jc
, $two_jd
, $two_je
, $two_jf
, $two_jg
, $two_jh
, $two_ji
, $result
)>
1431 =item C
<gsl_sf_coupling_9j
($two_ja
, $two_jb
, $two_jc
, $two_jd
, $two_je
, $two_jf
, $two_jg
, $two_jh
, $two_ji
)>
1433 -These routines compute the Wigner
9-j coefficient
,
1438 where the arguments are given in half-integer units
, ja
= two_ja
/2, ma
= two_ma
/2, etc.
1444 =item C
<gsl_sf_dawson_e
($x
, $result
)>
1446 =item C
<gsl_sf_dawson
($x
)>
1448 -These routines compute the value of Dawson's integral for $x.
1454 =item C
<gsl_sf_debye_1_e
($x
, $result
)>
1456 =item C
<gsl_sf_debye_1
($x
)>
1458 -These routines compute the first-order Debye function D_1
(x
) = (1/x
) \int_0^x dt
(t
/(e^t
- 1)).
1464 =item C
<gsl_sf_debye_2_e
($x
, $result
)>
1466 =item C
<gsl_sf_debye_2
($x
)>
1468 -These routines compute the second-order Debye function D_2
(x
) = (2/x^
2) \int_0^x dt
(t^
2/(e^t
- 1)).
1474 =item C
<gsl_sf_debye_3_e
($x
, $result
)>
1476 =item C
<gsl_sf_debye_3
($x
)>
1478 -These routines compute the third-order Debye function D_3
(x
) = (3/x^
3) \int_0^x dt
(t^
3/(e^t
- 1)).
1484 =item C
<gsl_sf_debye_4_e
($x
, $result
)>
1486 =item C
<gsl_sf_debye_4
($x
)>
1488 -These routines compute the fourth-order Debye function D_4
(x
) = (4/x^
4) \int_0^x dt
(t^
4/(e^t
- 1)).
1494 =item C
<gsl_sf_debye_5_e
($x
, $result
)>
1496 =item C
<gsl_sf_debye_5
($x
)>
1498 -These routines compute the fifth-order Debye function D_5
(x
) = (5/x^
5) \int_0^x dt
(t^
5/(e^t
- 1)).
1504 =item C
<gsl_sf_debye_6_e
($x
, $result
)>
1506 =item C
<gsl_sf_debye_6
($x
)>
1508 -These routines compute the sixth-order Debye function D_6
(x
) = (6/x^
6) \int_0^x dt
(t^
6/(e^t
- 1)).
1514 =item C
<gsl_sf_dilog_e
($x
, $result
)>
1516 =item C
<gsl_sf_dilog
($x
)>
1518 - These routines compute the dilogarithm for a real argument. In Lewin's notation this is Li_2
(x
), the real part of the dilogarithm of a real x. It is defined by the integral representation Li_2
(x
) = - \Re \int_0^x ds \log
(1-s
) / s. Note that \Im
(Li_2
(x
)) = 0 for x
<= 1, and
-\pi\log
(x
) for x
> 1. Note that Abramowitz
& Stegun refer to the Spence integral S(x)=Li_2(1-x) as the dilogarithm rather than Li_2(x).
1524 =item C
<gsl_sf_complex_dilog_xy_e
> -
1526 =item C
<gsl_sf_complex_dilog_e
($r
, $theta
, $result_re
, $result_im
)> - This function computes the full complex-valued dilogarithm for the complex argument z
= r \exp
(i \theta
). The real and imaginary parts of the result are returned in the $result_re and $result_im gsl_result structs.
1528 =item C
<gsl_sf_complex_spence_xy_e
> -
1534 =item C
<gsl_sf_multiply
>
1536 =item C
<gsl_sf_multiply_e
($x
, $y
, $result
)> - This function multiplies $x and $y storing the product and its associated error in $result.
1538 =item C
<gsl_sf_multiply_err_e
($x
, $dx
, $y
, $dy
, $result
)> - This function multiplies $x and $y with associated absolute errors $dx and $dy. The product xy
+/- xy \sqrt
((dx
/x
)^
2 +(dy
/y
)^
2) is stored in $result.
1547 =item C
<gsl_sf_ellint_Kcomp_e
($k
, $mode
, $result
)>
1549 =item C
<gsl_sf_ellint_Kcomp
($k
, $mode
)>
1551 -These routines compute the complete elliptic integral K
($k
) to the accuracy specified by the mode variable mode. Note that Abramowitz
& Stegun define this function in terms of the parameter m = k^2.
1557 =item C
<gsl_sf_ellint_Ecomp_e
($k
, $mode
, $result
)>
1559 =item C
<gsl_sf_ellint_Ecomp
($k
, $mode
)>
1567 =item C
<gsl_sf_ellint_Pcomp_e
($k
, $n
, $mode
, $result
)>
1569 =item C
<gsl_sf_ellint_Pcomp
($k
, $n
, $mode
)>
1577 =item C
<gsl_sf_ellint_Dcomp_e
>
1579 =item C
<gsl_sf_ellint_Dcomp
>
1587 =item C
<gsl_sf_ellint_F_e
($phi
, $k
, $mode
, $result
)>
1589 =item C
<gsl_sf_ellint_F
($phi
, $k
, $mode
)>
1591 -These routines compute the incomplete elliptic integral F
($phi
,$k
) to the accuracy specified by the mode variable mode. Note that Abramowitz
& Stegun define this function in terms of the parameter m = k^2.
1597 =item C
<gsl_sf_ellint_E_e
($phi
, $k
, $mode
, $result
)>
1599 =item C
<gsl_sf_ellint_E
($phi
, $k
, $mode
)>
1601 -These routines compute the incomplete elliptic integral E
($phi
,$k
) to the accuracy specified by the mode variable mode. Note that Abramowitz
& Stegun define this function in terms of the parameter m = k^2.
1607 =item C
<gsl_sf_ellint_P_e
($phi
, $k
, $n
, $mode
, $result
)>
1609 =item C
<gsl_sf_ellint_P
($phi
, $k
, $n
, $mode
)>
1611 -These routines compute the incomplete elliptic integral \Pi
(\phi
,k
,n
) to the accuracy specified by the mode variable mode. Note that Abramowitz
& Stegun define this function in terms of the parameters m = k^2 and \sin^2(\alpha) = k^2, with the change of sign n \to -n.
1617 =item C
<gsl_sf_ellint_D_e
($phi
, $k
, $n
, $mode
, $result
)>
1619 =item C
<gsl_sf_ellint_D
($phi
, $k
, $n
, $mode
)>
1621 -These functions compute the incomplete elliptic integral D
(\phi
,k
) which is defined through the Carlson form RD
(x
,y
,z
) by the following relation
, D
(\phi
,k
,n
) = (1/3)(\sin
(\phi
))^
3 RD
(1-\sin^
2(\phi
), 1-k^
2 \sin^
2(\phi
), 1). The argument $n is not used and will be removed in a future release.
1627 =item C
<gsl_sf_ellint_RC_e
($x
, $y
, $mode
, $result
)>
1629 =item C
<gsl_sf_ellint_RC
($x
, $y
, $mode
)>
1631 - These routines compute the incomplete elliptic integral RC
($x
,$y
) to the accuracy specified by the mode variable $mode.
1637 =item C
<gsl_sf_ellint_RD_e
($x
, $y
, $z
, $mode
, $result
)>
1639 =item C
<gsl_sf_ellint_RD
($x
, $y
, $z
, $mode
)>
1641 - These routines compute the incomplete elliptic integral RD
($x
,$y
,$z
) to the accuracy specified by the mode variable $mode.
1647 =item C
<gsl_sf_ellint_RF_e
($x
, $y
, $z
, $mode
, $result
)>
1649 =item C
<gsl_sf_ellint_RF
($x
, $y
, $z
, $mode
)>
1651 - These routines compute the incomplete elliptic integral RF
($x
,$y
,$z
) to the accuracy specified by the mode variable $mode.
1657 =item C
<gsl_sf_ellint_RJ_e
($x
, $y
, $z
, $p
, $mode
, $result
)>
1659 =item C
<gsl_sf_ellint_RJ
($x
, $y
, $z
, $p
, $mode
)>
1661 - These routines compute the incomplete elliptic integral RJ
($x
,$y
,$z
,$p
) to the accuracy specified by the mode variable $mode.
1667 =item C
<gsl_sf_elljac_e
($u
, $m
)> - This function computes the Jacobian elliptic functions sn
(u|m
), cn
(u|m
), dn
(u|m
) by descending Landen transformations. The function returns
0 if the operation succeded
, 1 otherwise and then returns the result of sn
, cn and dn in this order.
1669 =item C
<gsl_sf_erfc_e
($x
, $result
)>
1671 =item C
<gsl_sf_erfc
($x
)>
1673 -These routines compute the complementary error function erfc
(x
) = 1 - erf
(x
) = (2/\sqrt
(\pi
)) \int_x^\infty \exp
(-t^
2).
1679 =item C
<gsl_sf_log_erfc_e
($x
, $result
)>
1681 =item C
<gsl_sf_log_erfc
($x
)>
1683 -These routines compute the logarithm of the complementary error function \log
(\erfc
(x
)).
1689 =item C
<gsl_sf_erf_e
($x
, $result
)>
1691 =item C
<gsl_sf_erf
($x
)>
1693 -These routines compute the error function erf
(x
), where erf
(x
) = (2/\sqrt
(\pi
)) \int_0^x dt \exp
(-t^
2).
1699 =item C
<gsl_sf_erf_Z_e
($x
, $result
)>
1701 =item C
<gsl_sf_erf_Z
($x
)>
1703 -These routines compute the Gaussian probability density function Z
(x
) = (1/\sqrt
{2\pi
}) \exp
(-x^
2/2).
1709 =item C
<gsl_sf_erf_Q_e
($x
, $result
)>
1711 =item C
<gsl_sf_erf_Q
($x
)>
1713 - These routines compute the upper tail of the Gaussian probability function Q
(x
) = (1/\sqrt
{2\pi
}) \int_x^\infty dt \exp
(-t^
2/2). The hazard function for the normal distribution
, also known as the inverse Mill's ratio
, is defined as
, h
(x
) = Z
(x
)/Q
(x
) = \sqrt
{2/\pi
} \exp
(-x^
2 / 2) / \erfc
(x
/\sqrt
2) It decreases rapidly as x approaches
-\infty and asymptotes to h
(x
) \sim x as x approaches
+\infty.
1719 =item C
<gsl_sf_hazard_e
($x
, $result
)>
1721 =item C
<gsl_sf_hazard
($x
)>
1723 - These routines compute the hazard function for the normal distribution.
1729 =item C
<gsl_sf_exp_e
($x
, $result
)>
1731 =item C
<gsl_sf_exp
($x
)>
1733 - These routines provide an exponential function \exp
(x
) using GSL semantics and error checking.
1739 =item C
<gsl_sf_exp_e10_e
> -
1745 =item C
<gsl_sf_exp_mult_e
>
1747 =item C
<gsl_sf_exp_mult
>
1755 =item C
<gsl_sf_exp_mult_e10_e
> -
1761 =item C
<gsl_sf_expm1_e
($x
, $result
)>
1763 =item C
<gsl_sf_expm1
($x
)>
1765 -These routines compute the quantity \exp
(x
)-1 using an algorithm that is accurate for small x.
1771 =item C
<gsl_sf_exprel_e
($x
, $result
)>
1773 =item C
<gsl_sf_exprel
($x
)>
1775 -These routines compute the quantity
(\exp
(x
)-1)/x using an algorithm that is accurate for small x. For small x the algorithm is based on the expansion
(\exp
(x
)-1)/x
= 1 + x
/2 + x^
2/(2*3) + x^
3/(2*3*4) + \dots.
1781 =item C
<gsl_sf_exprel_2_e
($x
, $result
)>
1783 =item C
<gsl_sf_exprel_2
($x
)>
1785 -These routines compute the quantity
2(\exp
(x
)-1-x
)/x^
2 using an algorithm that is accurate for small x. For small x the algorithm is based on the expansion
2(\exp
(x
)-1-x
)/x^
2 = 1 + x
/3 + x^
2/(3*4) + x^
3/(3*4*5) + \dots.
1791 =item C
<gsl_sf_exprel_n_e
($x
, $result
)>
1793 =item C
<gsl_sf_exprel_n
($x
)>
1795 -These routines compute the N-relative exponential
, which is the n-th generalization of the functions gsl_sf_exprel and gsl_sf_exprel2. The N-relative exponential is given by
,
1796 exprel_N
(x
) = N
!/x^N
(\exp
(x
) - \sum_
{k
=0}^
{N-1
} x^k
/k
!)
1797 = 1 + x
/(N
+1) + x^
2/((N
+1)(N
+2)) + ...
1804 =item C
<gsl_sf_exp_err_e
($x
, $dx
, $result
)> - This function exponentiates $x with an associated absolute error $dx.
1806 =item C
<gsl_sf_exp_err_e10_e
> -
1808 =item C
<gsl_sf_exp_mult_err_e
($x
, $dx
, $y
, $dy
, $result
)> -
1810 =item C
<gsl_sf_exp_mult_err_e10_e
> -
1816 =item C
<gsl_sf_expint_E1_e
($x
, $result
)>
1818 =item C
<gsl_sf_expint_E1
($x
)>
1820 -These routines compute the exponential integral E_1
(x
), E_1
(x
) := \Re \int_1^\infty dt \exp
(-xt
)/t.
1826 =item C
<gsl_sf_expint_E2_e
($x
, $result
)>
1828 =item C
<gsl_sf_expint_E2
($x
)>
1830 -These routines compute the second-order exponential integral E_2
(x
),
1831 E_2
(x
) := \Re \int_1^\infty dt \exp
(-xt
)/t^
2.
1838 =item C
<gsl_sf_expint_En_e
($n
, $x
, $result
)>
1840 =item C
<gsl_sf_expint_En
($n
, $x
)>
1842 -These routines compute the exponential integral E_n
(x
) of order n
,
1843 E_n
(x
) := \Re \int_1^\infty dt \exp
(-xt
)/t^n.
1850 =item C
<gsl_sf_expint_E1_scaled_e
>
1852 =item C
<gsl_sf_expint_E1_scaled
>
1860 =item C
<gsl_sf_expint_E2_scaled_e
>
1862 =item C
<gsl_sf_expint_E2_scaled
>
1870 =item C
<gsl_sf_expint_En_scaled_e
>
1872 =item C
<gsl_sf_expint_En_scaled
>
1880 =item C
<gsl_sf_expint_Ei_e
($x
, $result
)>
1882 =item C
<gsl_sf_expint_Ei
($x
)>
1884 -These routines compute the exponential integral Ei
(x
), Ei
(x
) := - PV
(\int_
{-x
}^\infty dt \exp
(-t
)/t
) where PV denotes the principal value of the integral.
1890 =item C
<gsl_sf_expint_Ei_scaled_e
>
1892 =item C
<gsl_sf_expint_Ei_scaled
>
1900 =item C
<gsl_sf_Shi_e
($x
, $result
)>
1902 =item C
<gsl_sf_Shi
($x
)>
1904 -These routines compute the integral Shi
(x
) = \int_0^x dt \sinh
(t
)/t.
1910 =item C
<gsl_sf_Chi_e
($x
, $result
)>
1912 =item C
<gsl_sf_Chi
($x
)>
1914 -These routines compute the integral Chi
(x
) := \Re
[ \gamma_E
+ \log
(x
) + \int_0^x dt
(\cosh
[t
]-1)/t
] , where \gamma_E is the Euler constant
(available as $M_EULER from the Math
::GSL
::Const module
).
1920 =item C
<gsl_sf_expint_3_e
($x
, $result
)>
1922 =item C
<gsl_sf_expint_3
($x
)>
1924 -These routines compute the third-order exponential integral Ei_3
(x
) = \int_0^xdt \exp
(-t^
3) for x
>= 0.
1930 =item C
<gsl_sf_Si_e
($x
, $result
)>
1932 =item C
<gsl_sf_Si
($x
)>
1934 -These routines compute the Sine integral Si
(x
) = \int_0^x dt \sin
(t
)/t.
1940 =item C
<gsl_sf_Ci_e
($x
, $result
)>
1942 =item C
<gsl_sf_Ci
($x
)>
1944 -These routines compute the Cosine integral Ci
(x
) = -\int_x^\infty dt \cos
(t
)/t for x
> 0.
1950 =item C
<gsl_sf_fermi_dirac_m1_e
($x
, $result
)>
1952 =item C
<gsl_sf_fermi_dirac_m1
($x
)>
1954 -These routines compute the complete Fermi-Dirac integral with an index of
-1. This integral is given by F_
{-1}(x
) = e^x
/ (1 + e^x
).
1960 =item C
<gsl_sf_fermi_dirac_0_e
($x
, $result
)>
1962 =item C
<gsl_sf_fermi_dirac_0
($x
)>
1964 -These routines compute the complete Fermi-Dirac integral with an index of
0. This integral is given by F_0
(x
) = \ln
(1 + e^x
).
1970 =item C
<gsl_sf_fermi_dirac_1_e
($x
, $result
)>
1972 =item C
<gsl_sf_fermi_dirac_1
($x
)>
1974 -These routines compute the complete Fermi-Dirac integral with an index of
1, F_1
(x
) = \int_0^\infty dt
(t
/(\exp
(t-x
)+1)).
1980 =item C
<gsl_sf_fermi_dirac_2_e
($x
, $result
)>
1982 =item C
<gsl_sf_fermi_dirac_2
($x
)>
1984 -These routines compute the complete Fermi-Dirac integral with an index of
2, F_2
(x
) = (1/2) \int_0^\infty dt
(t^
2 /(\exp
(t-x
)+1)).
1990 =item C
<gsl_sf_fermi_dirac_int_e
($j
, $x
, $result
)>
1992 =item C
<gsl_sf_fermi_dirac_int
($j
, $x
)>
1994 -These routines compute the complete Fermi-Dirac integral with an integer index of j
, F_j
(x
) = (1/\Gamma
(j
+1)) \int_0^\infty dt
(t^j
/(\exp
(t-x
)+1)).
2000 =item C
<gsl_sf_fermi_dirac_mhalf_e
($x
, $result
)>
2002 =item C
<gsl_sf_fermi_dirac_mhalf
($x
)>
2004 -These routines compute the complete Fermi-Dirac integral F_
{-1/2}(x
).
2010 =item C
<gsl_sf_fermi_dirac_half_e
($x
, $result
)>
2012 =item C
<gsl_sf_fermi_dirac_half
($x
)>
2014 -These routines compute the complete Fermi-Dirac integral F_
{1/2}(x
).
2020 =item C
<gsl_sf_fermi_dirac_3half_e
($x
, $result
)>
2022 =item C
<gsl_sf_fermi_dirac_3half
($x
)>
2024 -These routines compute the complete Fermi-Dirac integral F_
{3/2}(x
).
2030 =item C
<gsl_sf_fermi_dirac_inc_0_e
($x
, $b
, $result
)>
2032 =item C
<gsl_sf_fermi_dirac_inc_0
($x
, $b
, $result
)>
2034 -These routines compute the incomplete Fermi-Dirac integral with an index of zero
, F_0
(x
,b
) = \ln
(1 + e^
{b-x
}) - (b-x
).
2040 =item C
<gsl_sf_legendre_Pl_e
($l
, $x
, $result
)>
2042 =item C
<gsl_sf_legendre_Pl
($l
, $x
)>
2044 -These functions evaluate the Legendre polynomial P_l
(x
) for a specific value of l
, x subject to l
>= 0, |x|
<= 1
2050 =item C
<gsl_sf_legendre_Pl_array
>
2052 =item C
<gsl_sf_legendre_Pl_deriv_array
>
2060 =item C
<gsl_sf_legendre_P1_e
($x
, $result
)>
2062 =item C
<gsl_sf_legendre_P2_e
($x
, $result
)>
2064 =item C
<gsl_sf_legendre_P3_e
($x
, $result
)>
2066 =item C
<gsl_sf_legendre_P1
($x
)>
2068 =item C
<gsl_sf_legendre_P2
($x
)>
2070 =item C
<gsl_sf_legendre_P3
($x
)>
2072 -These functions evaluate the Legendre polynomials P_l
(x
) using explicit representations for l
=1, 2, 3.
2078 =item C
<gsl_sf_legendre_Q0_e
($x
, $result
)>
2080 =item C
<gsl_sf_legendre_Q0
($x
)>
2082 -These routines compute the Legendre function Q_0
(x
) for x
> -1, x
!= 1.
2088 =item C
<gsl_sf_legendre_Q1_e
($x
, $result
)>
2090 =item C
<gsl_sf_legendre_Q1
($x
)>
2092 -These routines compute the Legendre function Q_1
(x
) for x
> -1, x
!= 1.
2098 =item C
<gsl_sf_legendre_Ql_e
($l
, $x
, $result
)>
2100 =item C
<gsl_sf_legendre_Ql
($l
, $x
)>
2102 -These routines compute the Legendre function Q_l
(x
) for x
> -1, x
!= 1 and l
>= 0.
2108 =item C
<gsl_sf_legendre_Plm_e
($l
, $m
, $x
, $result
)>
2110 =item C
<gsl_sf_legendre_Plm
($l
, $m
, $x
)>
2112 -These routines compute the associated Legendre polynomial P_l^m
(x
) for m
>= 0, l
>= m
, |x|
<= 1.
2118 =item C
<gsl_sf_legendre_Plm_array
>
2120 =item C
<gsl_sf_legendre_Plm_deriv_array
>
2128 =item C
<gsl_sf_legendre_sphPlm_e
($l
, $m
, $x
, $result
)>
2130 =item C
<gsl_sf_legendre_sphPlm
($l
, $m
, $x
)>
2132 -These routines compute the normalized associated Legendre polynomial $\sqrt
{(2l+1)/(4\pi
)} \sqrt
{(l-m
)!/(l
+m
)!} P_l^m
(x
)$ suitable for use in spherical harmonics. The parameters must satisfy m
>= 0, l
>= m
, |x|
<= 1. Theses routines avoid the overflows that occur for the standard normalization of P_l^m
(x
).
2138 =item C
<gsl_sf_legendre_sphPlm_array
>
2140 =item C
<gsl_sf_legendre_sphPlm_deriv_array
>
2148 =item C
<gsl_sf_legendre_array_size
> -
2154 =item C
<gsl_sf_lngamma_e
($x
, $result
)>
2156 =item C
<gsl_sf_lngamma
($x
)>
2158 -These routines compute the logarithm of the Gamma function
, \log
(\Gamma
(x
)), subject to x not being a negative integer or zero. For x
<0 the real part of \log
(\Gamma
(x
)) is returned
, which is equivalent to \log
(|\Gamma
(x
)|
). The function is computed using the real Lanczos method.
2164 =item C
<gsl_sf_lngamma_sgn_e
($x
, $result_lg
)> - This routine returns the sign of the gamma function and the logarithm of its magnitude into this order
, subject to $x not being a negative integer or zero. The function is computed using the real Lanczos method. The value of the gamma function can be reconstructed using the relation \Gamma
(x
) = sgn
* \exp
(resultlg
).
2170 =item C
<gsl_sf_gamma_e
>
2172 =item C
<gsl_sf_gamma
>
2180 =item C
<gsl_sf_gammastar_e
>
2182 =item C
<gsl_sf_gammastar
>
2190 =item C
<gsl_sf_gammainv_e
>
2192 =item C
<gsl_sf_gammainv
>
2200 =item C
<gsl_sf_lngamma_complex_e
>
2208 =item C
<gsl_sf_gamma_inc_Q_e
>
2210 =item C
<gsl_sf_gamma_inc_Q
>
2218 =item C
<gsl_sf_gamma_inc_P_e
>
2220 =item C
<gsl_sf_gamma_inc_P
>
2228 =item C
<gsl_sf_gamma_inc_e
>
2230 =item C
<gsl_sf_gamma_inc
>
2238 =item C
<gsl_sf_taylorcoeff_e
>
2240 =item C
<gsl_sf_taylorcoeff
>
2248 =item C
<gsl_sf_fact_e
>
2250 =item C
<gsl_sf_fact
>
2258 =item C
<gsl_sf_doublefact_e
>
2260 =item C
<gsl_sf_doublefact
>
2268 =item C
<gsl_sf_lnfact_e
>
2270 =item C
<gsl_sf_lnfact
>
2278 =item C
<gsl_sf_lndoublefact_e
>
2280 =item C
<gsl_sf_lndoublefact
>
2288 =item C
<gsl_sf_lnchoose_e
>
2290 =item C
<gsl_sf_lnchoose
>
2298 =item C
<gsl_sf_choose_e
>
2300 =item C
<gsl_sf_choose
>
2308 =item C
<gsl_sf_lnpoch_e
>
2310 =item C
<gsl_sf_lnpoch
>
2318 =item C
<gsl_sf_lnpoch_sgn_e
>
2326 =item C
<gsl_sf_poch_e
>
2328 =item C
<gsl_sf_poch
>
2336 =item C
<gsl_sf_pochrel_e
>
2338 =item C
<gsl_sf_pochrel
>
2346 =item C
<gsl_sf_lnbeta_e
>
2348 =item C
<gsl_sf_lnbeta
>
2356 =item C
<gsl_sf_lnbeta_sgn_e
>
2364 =item C
<gsl_sf_beta_e
>
2366 =item C
<gsl_sf_beta
>
2374 =item C
<gsl_sf_beta_inc_e
>
2376 =item C
<gsl_sf_beta_inc
>
2384 =item C
<gsl_sf_gegenpoly_1_e
>
2386 =item C
<gsl_sf_gegenpoly_2_e
>
2388 =item C
<gsl_sf_gegenpoly_3_e
>
2390 =item C
<gsl_sf_gegenpoly_1
>
2392 =item C
<gsl_sf_gegenpoly_2
>
2394 =item C
<gsl_sf_gegenpoly_3
>
2402 =item C
<gsl_sf_gegenpoly_n_e
>
2404 =item C
<gsl_sf_gegenpoly_n
>
2412 =item C
<gsl_sf_gegenpoly_array
>
2414 =item C
<gsl_sf_hyperg_0F1_e
>
2416 =item C
<gsl_sf_hyperg_0F1
>
2424 =item C
<gsl_sf_hyperg_1F1_int_e
>
2426 =item C
<gsl_sf_hyperg_1F1_int
>
2434 =item C
<gsl_sf_hyperg_1F1_e
>
2436 =item C
<gsl_sf_hyperg_1F1
>
2444 =item C
<gsl_sf_hyperg_U_int_e
>
2446 =item C
<gsl_sf_hyperg_U_int
>
2454 =item C
<gsl_sf_hyperg_U_int_e10_e
>
2462 =item C
<gsl_sf_hyperg_U_e
>
2464 =item C
<gsl_sf_hyperg_U
>
2472 =item C
<gsl_sf_hyperg_U_e10_e
>
2480 =item C
<gsl_sf_hyperg_2F1_e
>
2482 =item C
<gsl_sf_hyperg_2F1
>
2490 =item C
<gsl_sf_hyperg_2F1_conj_e
>
2492 =item C
<gsl_sf_hyperg_2F1_conj
>
2500 =item C
<gsl_sf_hyperg_2F1_renorm_e
>
2502 =item C
<gsl_sf_hyperg_2F1_renorm
>
2510 =item C
<gsl_sf_hyperg_2F1_conj_renorm_e
>
2512 =item C
<gsl_sf_hyperg_2F1_conj_renorm
>
2520 =item C
<gsl_sf_hyperg_2F0_e
>
2522 =item C
<gsl_sf_hyperg_2F0
>
2530 =item C
<gsl_sf_laguerre_1_e
>
2532 =item C
<gsl_sf_laguerre_2_e
>
2534 =item C
<gsl_sf_laguerre_3_e
>
2536 =item C
<gsl_sf_laguerre_1
>
2538 =item C
<gsl_sf_laguerre_2
>
2540 =item C
<gsl_sf_laguerre_3
>
2548 =item C
<gsl_sf_laguerre_n_e
>
2550 =item C
<gsl_sf_laguerre_n
>
2558 =item C
<gsl_sf_lambert_W0_e
>
2560 =item C
<gsl_sf_lambert_W0
>
2568 =item C
<gsl_sf_lambert_Wm1_e
>
2570 =item C
<gsl_sf_lambert_Wm1
>
2578 =item C
<gsl_sf_conicalP_half_e
>
2580 =item C
<gsl_sf_conicalP_half
>
2588 =item C
<gsl_sf_conicalP_mhalf_e
>
2590 =item C
<gsl_sf_conicalP_mhalf
>
2598 =item C
<gsl_sf_conicalP_0_e
>
2600 =item C
<gsl_sf_conicalP_0
>
2608 =item C
<gsl_sf_conicalP_1_e
>
2610 =item C
<gsl_sf_conicalP_1
>
2618 =item C
<gsl_sf_conicalP_sph_reg_e
>
2620 =item C
<gsl_sf_conicalP_sph_reg
>
2628 =item C
<gsl_sf_conicalP_cyl_reg_e
>
2630 =item C
<gsl_sf_conicalP_cyl_reg
>
2638 =item C
<gsl_sf_legendre_H3d_0_e
>
2640 =item C
<gsl_sf_legendre_H3d_0
>
2648 =item C
<gsl_sf_legendre_H3d_1_e
>
2650 =item C
<gsl_sf_legendre_H3d_1
>
2658 =item C
<gsl_sf_legendre_H3d_e
>
2660 =item C
<gsl_sf_legendre_H3d
>
2668 =item C
<gsl_sf_legendre_H3d_array
>
2676 =item C
<gsl_sf_log_e
>
2686 =item C
<gsl_sf_log_abs_e
>
2688 =item C
<gsl_sf_log_abs
>
2696 =item C
<gsl_sf_complex_log_e
>
2704 =item C
<gsl_sf_log_1plusx_e
>
2706 =item C
<gsl_sf_log_1plusx
>
2714 =item C
<gsl_sf_log_1plusx_mx_e
>
2716 =item C
<gsl_sf_log_1plusx_mx
>
2724 =item C
<gsl_sf_mathieu_a_array
>
2726 =item C
<gsl_sf_mathieu_b_array
>
2734 =item C
<gsl_sf_mathieu_a
>
2736 =item C
<gsl_sf_mathieu_b
>
2744 =item C
<gsl_sf_mathieu_a_coeff
>
2746 =item C
<gsl_sf_mathieu_b_coeff
>
2754 =item C
<gsl_sf_mathieu_alloc
>
2762 =item C
<gsl_sf_mathieu_free
>
2770 =item C
<gsl_sf_mathieu_ce
>
2772 =item C
<gsl_sf_mathieu_se
>
2780 =item C
<gsl_sf_mathieu_ce_array
>
2782 =item C
<gsl_sf_mathieu_se_array
>
2790 =item C
<gsl_sf_mathieu_Mc
>
2792 =item C
<gsl_sf_mathieu_Ms
>
2800 =item C
<gsl_sf_mathieu_Mc_array
>
2802 =item C
<gsl_sf_mathieu_Ms_array
>
2810 =item C
<gsl_sf_pow_int_e
>
2812 =item C
<gsl_sf_pow_int
>
2820 =item C
<gsl_sf_psi_int_e
>
2822 =item C
<gsl_sf_psi_int
>
2830 =item C
<gsl_sf_psi_e
>
2840 =item C
<gsl_sf_psi_1piy_e
>
2842 =item C
<gsl_sf_psi_1piy
>
2850 =item C
<gsl_sf_complex_psi_e
>
2858 =item C
<gsl_sf_psi_1_int_e
>
2860 =item C
<gsl_sf_psi_1_int
>
2868 =item C
<gsl_sf_psi_1_e
>
2870 =item C
<gsl_sf_psi_1
>
2878 =item C
<gsl_sf_psi_n_e
>
2880 =item C
<gsl_sf_psi_n
>
2888 =item C
<gsl_sf_result_smash_e
>
2896 =item C
<gsl_sf_synchrotron_1_e
>
2898 =item C
<gsl_sf_synchrotron_1
>
2906 =item C
<gsl_sf_synchrotron_2_e
>
2908 =item C
<gsl_sf_synchrotron_2
>
2916 =item C
<gsl_sf_transport_2_e
>
2918 =item C
<gsl_sf_transport_2
>
2926 =item C
<gsl_sf_transport_3_e
>
2928 =item C
<gsl_sf_transport_3
>
2936 =item C
<gsl_sf_transport_4_e
>
2938 =item C
<gsl_sf_transport_4
>
2946 =item C
<gsl_sf_transport_5_e
>
2948 =item C
<gsl_sf_transport_5
>
2956 =item C
<gsl_sf_sin_e
>
2966 =item C
<gsl_sf_cos_e
>
2968 =item C
<gsl_sf_cos
>
2976 =item C
<gsl_sf_hypot_e
>
2978 =item C
<gsl_sf_hypot
>
2986 =item C
<gsl_sf_complex_sin_e
>
2994 =item C
<gsl_sf_complex_cos_e
>
3002 =item C
<gsl_sf_complex_logsin_e
>
3010 =item C
<gsl_sf_sinc_e
>
3012 =item C
<gsl_sf_sinc
>
3020 =item C
<gsl_sf_lnsinh_e
>
3022 =item C
<gsl_sf_lnsinh
>
3030 =item C
<gsl_sf_lncosh_e
>
3032 =item C
<gsl_sf_lncosh
>
3040 =item C
<gsl_sf_polar_to_rect
>
3048 =item C
<gsl_sf_rect_to_polar
>
3056 =item C
<gsl_sf_sin_err_e
>
3058 =item C
<gsl_sf_cos_err_e
>
3066 =item C
<gsl_sf_angle_restrict_symm_e
>
3068 =item C
<gsl_sf_angle_restrict_symm
>
3076 =item C
<gsl_sf_angle_restrict_pos_e
>
3078 =item C
<gsl_sf_angle_restrict_pos
>
3086 =item C
<gsl_sf_angle_restrict_symm_err_e
>
3088 =item C
<gsl_sf_angle_restrict_pos_err_e
>
3092 =item C
<gsl_sf_atanint_e
>
3094 =item C
<gsl_sf_atanint
>
3096 -These routines compute the Arctangent integral
, which is defined as AtanInt
(x
) = \int_0^x dt \arctan
(t
)/t.
3100 =item C
<gsl_sf_zeta_int_e
>
3102 =item C
<gsl_sf_zeta_int
>
3104 =item C
<gsl_sf_zeta_e gsl_sf_zeta
>
3106 =item C
<gsl_sf_zetam1_e
>
3108 =item C
<gsl_sf_zetam1
>
3110 =item C
<gsl_sf_zetam1_int_e
>
3112 =item C
<gsl_sf_zetam1_int
>
3114 =item C
<gsl_sf_hzeta_e
>
3116 =item C
<gsl_sf_hzeta
>
3118 =item C
<gsl_sf_eta_int_e
>
3120 =item C
<gsl_sf_eta_int
>
3122 =item C
<gsl_sf_eta_e
>
3124 =item C
<gsl_sf_eta
>
3128 This module also contains the following constants used as mode in various of those functions
:
3132 =item
* GSL_PREC_DOUBLE
- Double-precision
, a relative accuracy of approximately
2 * 10^
-16.
3134 =item
* GSL_PREC_SINGLE
- Single-precision
, a relative accuracy of approximately
10^
-7.
3136 =item
* GSL_PREC_APPROX
- Approximate values
, a relative accuracy of approximately
5 * 10^
-4.
3140 You can import the functions that you want to use by giving a space separated
3141 list to Math
::GSL
::SF when you use the package. You can also write
3142 use Math
::GSL
::SF qw
/:all
/
3143 to use all avaible functions of the module. Note that
3144 the tag names begin with a colon. Other tags are also available
, here is a
3145 complete list of all tags for this module
:
3175 =item C
<hypergeometric
>
3195 For more informations on the functions
, we refer you to the GSL offcial
3196 documentation
: L
<http
://www.gnu.org
/software
/gsl
/manual
/html_node
/>
3198 Tip
: search on google
: site
:http
://www.gnu.org
/software
/gsl
/manual
/html_node
/name_of_the_function_you_want
3202 This example computes the dilogarithm of
1/10 :
3204 use Math
::GSL
::SF qw
/dilog
/;
3205 my $x
= gsl_sf_dilog
(0.1);
3206 print
"gsl_sf_dilog(0.1) = $x\n";
3208 An example using Math
::GSL
::SF and gnuplot is in the B
<examples
/sf
> folder of the source code.
3212 Jonathan Leto
<jonathan@leto.net
> and Thierry Moisan
<thierry.moisan@gmail.com
>
3214 =head1 COPYRIGHT
AND LICENSE
3216 Copyright
(C
) 2008 Jonathan Leto and Thierry Moisan
3218 This program is free software
; you can redistribute it and
/or modify it
3219 under the same terms as Perl itself.