ParaMonte Fortran 2.0.0
Parallel Monte Carlo and Machine Learning Library
See the latest version documentation.
pm_mathGammaGil::getGammaIncLowGil Interface Reference

Generate and return the regularized Lower Incomplete Gamma function for the specified shape parameter ( \(\kappa\)) and upper limit of the integral x. More...

Detailed Description

Generate and return the regularized Lower Incomplete Gamma function for the specified shape parameter ( \(\kappa\)) and upper limit of the integral x.

The regularized Lower Incomplete Gamma function is defined as,

\begin{equation} \large P(\kappa, x) = \frac{1}{\Gamma(\kappa)} \int_0^{x}~t^{\kappa-1}{\mathrm e}^{-t} ~ dt ~, \end{equation}

where \((\kappa > 0, x > 0)\) should hold, with \(\kappa\) representing the shape parameter of the Gamma function (or distribution) and \(x\) representing the upper limit in the integral of the Lower Incomplete Gamma function.
Note that this integral is bounded between zero and one ( \([0,1]\)).
The regularized Lower Incomplete Gamma function also represents the complement of the Cumulative Distribution Function (CDF) of the univariate Gamma distribution with the specified shape parameter and standardized x (with the scale parameter of unity).

Parameters
[in]x: The input scalar of type real of kind any supported by the processor (e.g., RK, RK32, RK64, or RK128), representing the upper limit in the integral of the Lower Incomplete Gamma function \(P(\kappa,x)\).
[in]kappa: The input scalar of the same type and kind as x, representing the shape parameter ( \(\kappa\)) of the Lower Incomplete Gamma function \(P(\kappa,x)\).
Returns
gammaIncLow : The output scalar of the same type and kind as the output argument x representing the Lower Incomplete Gamma function for the specified kappa and upper limit.
Note that gammaIncLow is, by definition, always positive in the range \([0, 1]\).
Note that the procedure will abruptly end the program by calling error stop if the computation of the Incomplete Gamma function fails to converge**.


Possible calling interfaces

gammaIncLow = getGammaIncLowGil(x, kappa)
Generate and return the regularized Lower Incomplete Gamma function for the specified shape parameter...
This module contains procedures and generic interfaces for the Lower and Upper Incomplete Gamma funct...
Warning
The condition 0 < x must hold for the corresponding input arguments.
The condition 0 < kappa must hold for the corresponding input arguments.
These conditions are verified only if the library is built with the preprocessor macro CHECK_ENABLED=1.
Remarks
The procedures under discussion are impure.
The procedures under discussion are elemental.
See also
getGammaIncLowGil
setGammaIncGil


Example usage

1program example
2
3 use pm_kind, only: SK, IK, LK
4 use pm_kind, only: RKS, RKD, RKH
6 use pm_io, only: display_type
7
8 implicit none
9
10 type(display_type) :: disp
11 disp = display_type(file = "main.out.F90")
12
13 call disp%skip()
14 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
15 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
16 call disp%show("! Compute the regularized Lower Incomplete Gamma Function using its series representation.")
17 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
18 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
19 call disp%skip()
20
21 call disp%skip()
22 call disp%show("getGammaIncLowGil(x = 1.5_RKS, kappa = 2._RKS)")
23 call disp%show( getGammaIncLowGil(x = 1.5_RKS, kappa = 2._RKS) )
24 call disp%skip()
25
26 call disp%skip()
27 call disp%show("getGammaIncLowGil(x = 1.5_RKD, kappa = 2._RKD)")
28 call disp%show( getGammaIncLowGil(x = 1.5_RKD, kappa = 2._RKD) )
29 call disp%skip()
30
31 call disp%skip()
32 call disp%show("getGammaIncLowGil(x = 1.5_RKH, kappa = 2._RKH)")
33 call disp%show( getGammaIncLowGil(x = 1.5_RKH, kappa = 2._RKH) )
34 call disp%skip()
35
36 call disp%skip()
37 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
38 call disp%show("! Compute the regularized Lower Incomplete Gamma Function for a vector of points.")
39 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
40 call disp%skip()
41
42 call disp%skip()
43 call disp%show("getGammaIncLowGil(x = [0._RKS, 1._RKS, 10._RKS], kappa = 2._RKS)")
44 call disp%show( getGammaIncLowGil(x = [0._RKS, 1._RKS, 10._RKS], kappa = 2._RKS) )
45 call disp%skip()
46
47 call disp%skip()
48 call disp%show("getGammaIncLowGil(x = [0._RKD, 1._RKD, 10._RKD], kappa = 2._RKD)")
49 call disp%show( getGammaIncLowGil(x = [0._RKD, 1._RKD, 10._RKD], kappa = 2._RKD) )
50 call disp%skip()
51
52 call disp%skip()
53 call disp%show("getGammaIncLowGil(x = [0._RKH, 1._RKH, 10._RKH], kappa = 2._RKH)")
54 call disp%show( getGammaIncLowGil(x = [0._RKH, 1._RKH, 10._RKH], kappa = 2._RKH) )
55 call disp%skip()
56
57 call disp%skip()
58 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
59 call disp%show("! Compute the regularized Lower Incomplete Gamma Function for a vector of shape parameters.")
60 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
61 call disp%skip()
62
63 call disp%skip()
64 call disp%show("getGammaIncLowGil(x = 1._RKS, kappa = [0.1_RKS, 1._RKS, 10._RKS])")
65 call disp%show( getGammaIncLowGil(x = 1._RKS, kappa = [0.1_RKS, 1._RKS, 10._RKS]) )
66 call disp%skip()
67
68 call disp%skip()
69 call disp%show("getGammaIncLowGil(x = 1._RKD, kappa = [0.1_RKD, 1._RKD, 10._RKD])")
70 call disp%show( getGammaIncLowGil(x = 1._RKD, kappa = [0.1_RKD, 1._RKD, 10._RKD]) )
71 call disp%skip()
72
73 call disp%skip()
74 call disp%show("getGammaIncLowGil(x = 1._RKH, kappa = [0.1_RKH, 1._RKH, 10._RKH])")
75 call disp%show( getGammaIncLowGil(x = 1._RKH, kappa = [0.1_RKH, 1._RKH, 10._RKH]) )
76 call disp%skip()
77
78 call disp%skip()
79 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
80 call disp%show("! Compute the regularized Lower Incomplete Gamma Function for a vector of points and shape parameters.")
81 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
82 call disp%skip()
83
84 block
85 use pm_kind, only: RKG => RKS
86 integer(IK) :: i, rprecision
87 integer(IK), allocatable :: exprange(:), info(:)
88 real(RKG), allocatable :: gamIncLow(:)
89 call disp%skip()
90 call disp%show("rprecision = precision(0._RKG) * 2")
91 rprecision = precision(0._RKG) * 2
92 call disp%show("rprecision")
93 call disp%show( rprecision )
94 call disp%show("exprange = [(i, i = -rprecision, rprecision)]")
95 exprange = [(i, i = -rprecision, rprecision)]
96 call disp%show("exprange")
97 call disp%show( exprange )
98 call disp%show("allocate(gamIncLow(size(exprange)), info(size(exprange)))")
99 allocate(gamIncLow(size(exprange)), info(size(exprange)))
100 call disp%show("gamIncLow = getGammaIncLowGil(x = 10._RKG**exprange, kappa = 10._RKG**exprange)")
101 gamIncLow = getGammaIncLowGil(x = 10._RKG**exprange, kappa = 10._RKG**exprange)
102 call disp%show("reshape([10._RKG**exprange, gamIncLow], shape = [size(info), 2])")
103 call disp%show( reshape([10._RKG**exprange, gamIncLow], shape = [size(info), 2]) )
104 call disp%skip()
105 end block
106
107 block
108 use pm_kind, only: RKG => RKD
109 integer(IK) :: i, rprecision
110 integer(IK), allocatable :: exprange(:), info(:)
111 real(RKG), allocatable :: gamIncLow(:)
112 call disp%skip()
113 call disp%show("rprecision = precision(0._RKG) * 2")
114 rprecision = precision(0._RKG) * 2
115 call disp%show("rprecision")
116 call disp%show( rprecision )
117 call disp%show("exprange = [(i, i = -rprecision, rprecision)]")
118 exprange = [(i, i = -rprecision, rprecision)]
119 call disp%show("exprange")
120 call disp%show( exprange )
121 call disp%show("allocate(gamIncLow(size(exprange)), info(size(exprange)))")
122 allocate(gamIncLow(size(exprange)), info(size(exprange)))
123 call disp%show("gamIncLow = getGammaIncLowGil(x = 10._RKG**exprange, kappa = 10._RKG**exprange)")
124 gamIncLow = getGammaIncLowGil(x = 10._RKG**exprange, kappa = 10._RKG**exprange)
125 call disp%show("reshape([10._RKG**exprange, gamIncLow], shape = [size(info), 2])")
126 call disp%show( reshape([10._RKG**exprange, gamIncLow], shape = [size(info), 2]) )
127 call disp%skip()
128 end block
129
130 block
131 use pm_kind, only: RKG => RKH
132 integer(IK) :: i, rprecision
133 integer(IK), allocatable :: exprange(:), info(:)
134 real(RKG), allocatable :: gamIncLow(:)
135 call disp%skip()
136 call disp%show("rprecision = precision(0._RKG) * 2")
137 rprecision = precision(0._RKG) * 2
138 call disp%show("rprecision")
139 call disp%show( rprecision )
140 call disp%show("exprange = [(i, i = -rprecision, rprecision)]")
141 exprange = [(i, i = -rprecision, rprecision)]
142 call disp%show("exprange")
143 call disp%show( exprange )
144 call disp%show("allocate(gamIncLow(size(exprange)), info(size(exprange)))")
145 allocate(gamIncLow(size(exprange)), info(size(exprange)))
146 call disp%show("gamIncLow = getGammaIncLowGil(x = 10._RKG**exprange, kappa = 10._RKG**exprange)")
147 gamIncLow = getGammaIncLowGil(x = 10._RKG**exprange, kappa = 10._RKG**exprange)
148 call disp%show("reshape([10._RKG**exprange, gamIncLow], shape = [size(info), 2])")
149 call disp%show( reshape([10._RKG**exprange, gamIncLow], shape = [size(info), 2]) )
150 call disp%skip()
151 end block
152
153 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
154 ! Output an example array of the regularized Lower Incomplete Gamma function for visualization.
155 !%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
156
157 block
158
159 use pm_arraySpace, only: setLinSpace
160 integer(IK) , parameter :: NP = 1000_IK
161 real(RKS) :: x_RKS(NP)
162 integer :: fileUnit, i
163
164 call setLinSpace(x_RKS, 0._RKS, 10._RKS)
165 open(newunit = fileUnit, file = "getGammaIncLowGil.RK.txt")
166 do i = 1, NP
167 write(fileUnit, "(*(g0,:,' '))") x_RKS(i), getGammaIncLowGil(x_RKS(i), kappa = [1.0_RKS, 2.5_RKS, 5.0_RKS])
168 end do
169 close(fileUnit)
170
171 end block
172
173end program example
Return the linSpace output argument with size(linSpace) elements of evenly-spaced values over the int...
This is a generic method of the derived type display_type with pass attribute.
Definition: pm_io.F90:11726
This is a generic method of the derived type display_type with pass attribute.
Definition: pm_io.F90:11508
This module contains procedures and generic interfaces for generating arrays with linear or logarithm...
This module contains classes and procedures for input/output (IO) or generic display operations on st...
Definition: pm_io.F90:252
type(display_type) disp
This is a scalar module variable an object of type display_type for general display.
Definition: pm_io.F90:11393
This module defines the relevant Fortran kind type-parameters frequently used in the ParaMonte librar...
Definition: pm_kind.F90:268
integer, parameter LK
The default logical kind in the ParaMonte library: kind(.true.) in Fortran, kind(....
Definition: pm_kind.F90:541
integer, parameter IK
The default integer kind in the ParaMonte library: int32 in Fortran, c_int32_t in C-Fortran Interoper...
Definition: pm_kind.F90:540
integer, parameter RKD
The double precision real kind in Fortran mode. On most platforms, this is an 64-bit real kind.
Definition: pm_kind.F90:568
integer, parameter SK
The default character kind in the ParaMonte library: kind("a") in Fortran, c_char in C-Fortran Intero...
Definition: pm_kind.F90:539
integer, parameter RKH
The scalar integer constant of intrinsic default kind, representing the highest-precision real kind t...
Definition: pm_kind.F90:858
integer, parameter RKS
The single-precision real kind in Fortran mode. On most platforms, this is an 32-bit real kind.
Definition: pm_kind.F90:567
Generate and return an object of type display_type.
Definition: pm_io.F90:10282

Example Unix compile command via Intel ifort compiler
1#!/usr/bin/env sh
2rm main.exe
3ifort -fpp -standard-semantics -O3 -Wl,-rpath,../../../lib -I../../../inc main.F90 ../../../lib/libparamonte* -o main.exe
4./main.exe

Example Windows Batch compile command via Intel ifort compiler
1del main.exe
2set PATH=..\..\..\lib;%PATH%
3ifort /fpp /standard-semantics /O3 /I:..\..\..\include main.F90 ..\..\..\lib\libparamonte*.lib /exe:main.exe
4main.exe

Example Unix / MinGW compile command via GNU gfortran compiler
1#!/usr/bin/env sh
2rm main.exe
3gfortran -cpp -ffree-line-length-none -O3 -Wl,-rpath,../../../lib -I../../../inc main.F90 ../../../lib/libparamonte* -o main.exe
4./main.exe

Example output
1
2!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
4! Compute the regularized Lower Incomplete Gamma Function using its series representation.
5!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
6!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
7
8
9getGammaIncLowGil(x = 1.5_RKS, kappa = 2._RKS)
10+0.442174435
11
12
13getGammaIncLowGil(x = 1.5_RKD, kappa = 2._RKD)
14+0.44217459962892536
15
16
17getGammaIncLowGil(x = 1.5_RKH, kappa = 2._RKH)
18+0.442174599628925427666798823089968559
19
20
21!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
22! Compute the regularized Lower Incomplete Gamma Function for a vector of points.
23!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
24
25
26getGammaIncLowGil(x = [0._RKS, 1._RKS, 10._RKS], kappa = 2._RKS)
27+0.00000000, +0.264241129, +0.999500573
28
29
30getGammaIncLowGil(x = [0._RKD, 1._RKD, 10._RKD], kappa = 2._RKD)
31+0.0000000000000000, +0.26424111765711528, +0.99950060077261271
32
33
34getGammaIncLowGil(x = [0._RKH, 1._RKH, 10._RKH], kappa = 2._RKH)
35+0.00000000000000000000000000000000000, +0.264241117657115356808952459677078110, +0.999500600772612666633108493328833987
36
37
38!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
39! Compute the regularized Lower Incomplete Gamma Function for a vector of shape parameters.
40!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
41
42
43getGammaIncLowGil(x = 1._RKS, kappa = [0.1_RKS, 1._RKS, 10._RKS])
44+0.975872695, +0.632120550, +0.111424356E-6
45
46
47getGammaIncLowGil(x = 1._RKD, kappa = [0.1_RKD, 1._RKD, 10._RKD])
48+0.97587265627367237, +0.63212055882855767, +0.11142547833872021E-6
49
50
51getGammaIncLowGil(x = 1._RKH, kappa = [0.1_RKH, 1._RKH, 10._RKH])
52+0.975872656273672222617030564366645365, +0.632120558828557678404476229838539127, +0.111425478338720677353048198587738909E-6
53
54
55!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
56! Compute the regularized Lower Incomplete Gamma Function for a vector of points and shape parameters.
57!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
58
59
60rprecision = precision(0._RKG) * 2
61rprecision
62+12
63exprange = [(i, i = -rprecision, rprecision)]
64exprange
65-12, -11, -10, -9, -8, -7, -6, -5, -4, -3, -2, -1, +0, +1, +2, +3, +4, +5, +6, +7, +8, +9, +10, +11, +12
66allocate(gamIncLow(size(exprange)), info(size(exprange)))
67gamIncLow = getGammaIncLowGil(x = 10._RKG**exprange, kappa = 10._RKG**exprange)
68reshape([10._RKG**exprange, gamIncLow], shape = [size(info), 2])
69+0.999999996E-12, +1.00000000
70+0.999999996E-11, +1.00000000
71+0.100000001E-9, +1.00000000
72+0.999999972E-9, +1.00000000
73+0.999999994E-8, +0.999999821
74+0.100000001E-6, +0.999998450
75+0.999999997E-6, +0.999986768
76+0.999999975E-5, +0.999890625
77+0.999999975E-4, +0.999137044
78+0.100000005E-2, +0.993687630
79+0.999999978E-2, +0.960347414
80+0.100000001, +0.827551782
81+1.00000000, +0.632120550
82+10.0000000, +0.542070270
83+100.000000, +0.513298810
84+1000.00000, +0.504205227
85+10000.0000, +0.501329780
86+100000.000, +0.500420511
87+1000000.00, +0.500132978
88+10000000.0, +0.500042081
89+100000000., +0.500013292
90+0.100000000E+10, +0.500004172
91+0.100000000E+11, +0.500001311
92+0.999999980E+11, +0.500000417
93+0.999999996E+12, +0.500000119
94
95
96rprecision = precision(0._RKG) * 2
97rprecision
98+30
99exprange = [(i, i = -rprecision, rprecision)]
100exprange
101-30, -29, -28, -27, -26, -25, -24, -23, -22, -21, -20, -19, -18, -17, -16, -15, -14, -13, -12, -11, -10, -9, -8, -7, -6, -5, -4, -3, -2, -1, +0, +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
102allocate(gamIncLow(size(exprange)), info(size(exprange)))
103gamIncLow = getGammaIncLowGil(x = 10._RKG**exprange, kappa = 10._RKG**exprange)
104reshape([10._RKG**exprange, gamIncLow], shape = [size(info), 2])
105+0.99999999999999991E-30, +1.0000000000000000
106+0.10000000000000001E-28, +1.0000000000000000
107+0.10000000000000001E-27, +1.0000000000000000
108+0.10000000000000000E-26, +1.0000000000000000
109+0.99999999999999990E-26, +1.0000000000000000
110+0.99999999999999992E-25, +1.0000000000000000
111+0.10000000000000001E-23, +1.0000000000000000
112+0.10000000000000001E-22, +1.0000000000000000
113+0.10000000000000000E-21, +1.0000000000000000
114+0.99999999999999991E-21, +1.0000000000000000
115+0.99999999999999995E-20, +1.0000000000000000
116+0.99999999999999998E-19, +1.0000000000000000
117+0.10000000000000001E-17, +1.0000000000000000
118+0.10000000000000001E-16, +0.99999999999999967
119+0.99999999999999998E-16, +0.99999999999999634
120+0.10000000000000001E-14, +0.99999999999996603
121+0.10000000000000000E-13, +0.99999999999968336
122+0.10000000000000000E-12, +0.99999999999706435
123+0.99999999999999998E-12, +0.99999999997294620
124+0.99999999999999994E-11, +0.99999999975248777
125+0.10000000000000000E-9, +0.99999999775513648
126+0.10000000000000001E-8, +0.99999997985395006
127+0.10000000000000000E-7, +0.99999982156536493
128+0.99999999999999995E-7, +0.99999844591319076
129+0.99999999999999995E-6, +0.99998676179091028
130+0.10000000000000001E-4, +0.99989064869904365
131+0.10000000000000000E-3, +0.99913704186899344
132+0.10000000000000000E-2, +0.99368764670886034
133+0.10000000000000000E-1, +0.96034742352150926
134+0.10000000000000001, +0.82755175958585059
135+1.0000000000000000, +0.63212055882855767
136+10.000000000000000, +0.54207028552814762
137+100.00000000000000, +0.51329879827914859
138+1000.0000000000000, +0.50420524418021551
139+10000.000000000000, +0.50132980833995522
140+100000.00000000000, +0.50042052211036525
141+1000000.0000000000, +0.50013298076087254
142+10000000.000000000, +0.50004205220872366
143+100000000.00000000, +0.50001329807601413
144+1000000000.0000000, +0.50000420522087008
145+10000000000.000000, +0.50000132980760137
146+100000000000.00000, +0.50000042052208693
147+1000000000000.0000, +0.50000013298076018
148+10000000000000.000, +0.50000004205220872
149+100000000000000.00, +0.50000001329807597
150+1000000000000000.0, +0.50000000420522084
151+10000000000000000., +0.50000000132980760
152+0.10000000000000000E+18, +0.50000000042052206
153+0.10000000000000000E+19, +0.50000000013298074
154+0.10000000000000000E+20, +0.50000000004205214
155+0.10000000000000000E+21, +0.50000000001329803
156+0.10000000000000000E+22, +0.50000000000420530
157+0.10000000000000000E+23, +0.50000000000132983
158+0.99999999999999992E+23, +0.50000000000042055
159+0.99999999999999998E+24, +0.50000000000013300
160+0.10000000000000001E+26, +0.50000000000004208
161+0.10000000000000000E+27, +0.50000000000001332
162+0.10000000000000000E+28, +0.50000000000000422
163+0.99999999999999996E+28, +0.50000000000000133
164+0.99999999999999991E+29, +0.50000000000000044
165+0.10000000000000000E+31, +0.50000000000000011
166
167
168rprecision = precision(0._RKG) * 2
169rprecision
170+66
171exprange = [(i, i = -rprecision, rprecision)]
172exprange
173-66, -65, -64, -63, -62, -61, -60, -59, -58, -57, -56, -55, -54, -53, -52, -51, -50, -49, -48, -47, -46, -45, -44, -43, -42, -41, -40, -39, -38, -37, -36, -35, -34, -33, -32, -31, -30, -29, -28, -27, -26, -25, -24, -23, -22, -21, -20, -19, -18, -17, -16, -15, -14, -13, -12, -11, -10, -9, -8, -7, -6, -5, -4, -3, -2, -1, +0, +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
174allocate(gamIncLow(size(exprange)), info(size(exprange)))
175gamIncLow = getGammaIncLowGil(x = 10._RKG**exprange, kappa = 10._RKG**exprange)
176reshape([10._RKG**exprange, gamIncLow], shape = [size(info), 2])
177+0.100000000000000000000000000000000475E-65, +1.00000000000000000000000000000000000
178+0.100000000000000000000000000000000468E-64, +1.00000000000000000000000000000000000
179+0.100000000000000000000000000000000457E-63, +1.00000000000000000000000000000000000
180+0.100000000000000000000000000000000451E-62, +1.00000000000000000000000000000000000
181+0.100000000000000000000000000000000463E-61, +1.00000000000000000000000000000000000
182+0.100000000000000000000000000000000444E-60, +1.00000000000000000000000000000000000
183+0.100000000000000000000000000000000432E-59, +1.00000000000000000000000000000000000
184+0.100000000000000000000000000000000420E-58, +1.00000000000000000000000000000000000
185+0.100000000000000000000000000000000412E-57, +1.00000000000000000000000000000000000
186+0.100000000000000000000000000000000409E-56, +1.00000000000000000000000000000000000
187+0.100000000000000000000000000000000395E-55, +1.00000000000000000000000000000000000
188+0.100000000000000000000000000000000381E-54, +1.00000000000000000000000000000000000
189+0.100000000000000000000000000000000397E-53, +1.00000000000000000000000000000000000
190+0.100000000000000000000000000000000384E-52, +1.00000000000000000000000000000000000
191+0.100000000000000000000000000000000378E-51, +1.00000000000000000000000000000000000
192+0.100000000000000000000000000000000365E-50, +1.00000000000000000000000000000000000
193+0.100000000000000000000000000000000355E-49, +1.00000000000000000000000000000000000
194+0.100000000000000000000000000000000353E-48, +1.00000000000000000000000000000000000
195+0.100000000000000000000000000000000346E-47, +1.00000000000000000000000000000000000
196+0.100000000000000000000000000000000333E-46, +1.00000000000000000000000000000000000
197+0.100000000000000000000000000000000339E-45, +1.00000000000000000000000000000000000
198+0.100000000000000000000000000000000336E-44, +1.00000000000000000000000000000000000
199+0.100000000000000000000000000000000328E-43, +1.00000000000000000000000000000000000
200+0.100000000000000000000000000000000304E-42, +1.00000000000000000000000000000000000
201+0.100000000000000000000000000000000301E-41, +1.00000000000000000000000000000000000
202+0.100000000000000000000000000000000301E-40, +1.00000000000000000000000000000000000
203+0.100000000000000000000000000000000296E-39, +1.00000000000000000000000000000000000
204+0.100000000000000000000000000000000268E-38, +1.00000000000000000000000000000000000
205+0.100000000000000000000000000000000276E-37, +1.00000000000000000000000000000000000
206+0.100000000000000000000000000000000265E-36, +1.00000000000000000000000000000000000
207+0.100000000000000000000000000000000269E-35, +0.999999999999999999999999999999999904
208+0.100000000000000000000000000000000246E-34, +0.999999999999999999999999999999999230
209+0.100000000000000000000000000000000239E-33, +0.999999999999999999999999999999992200
210+0.100000000000000000000000000000000242E-32, +0.999999999999999999999999999999924600
211+0.100000000000000000000000000000000230E-31, +0.999999999999999999999999999999268917
212+0.100000000000000000000000000000000216E-30, +0.999999999999999999999999999992919704
213+0.100000000000000000000000000000000228E-29, +0.999999999999999999999999999931499679
214+0.100000000000000000000000000000000212E-28, +0.999999999999999999999999999338022441
215+0.100000000000000000000000000000000208E-27, +0.999999999999999999999999993610483298
216+0.100000000000000000000000000000000196E-26, +0.999999999999999999999999938407418198
217+0.100000000000000000000000000000000187E-25, +0.999999999999999999999999407100032438
218+0.100000000000000000000000000000000177E-24, +0.999999999999999999999994301258833966
219+0.100000000000000000000000000000000169E-23, +0.999999999999999999999945315173433069
220+0.100000000000000000000000000000000153E-22, +0.999999999999999999999476177585260410
221+0.100000000000000000000000000000000165E-21, +0.999999999999999999994992034361903273
222+0.100000000000000000000000000000000151E-20, +0.999999999999999999952222928712026561
223+0.100000000000000000000000000000000145E-19, +0.999999999999999999545255138050206146
224+0.100000000000000000000000000000000132E-18, +0.999999999999999995682809889801466461
225+0.100000000000000000000000000000000129E-17, +0.999999999999999959130683991008711382
226+0.100000000000000000000000000000000119E-16, +0.999999999999999614332690840027636544
227+0.100000000000000000000000000000000114E-15, +0.999999999999996373585417699686748847
228+0.100000000000000000000000000000000101E-14, +0.999999999999966038439269991422471636
229+0.100000000000000000000000000000000108E-13, +0.999999999999683410243629898865133795
230+0.100000000000000000000000000000000100E-12, +0.999999999997064360945602184660495791
231+0.100000000000000000000000000000000096E-11, +0.999999999972946194549337116380045088
232+0.100000000000000000000000000000000075E-10, +0.999999999752487796450119202118859619
233+0.100000000000000000000000000000000072E-9, +0.999999997755136475997589056179272555
234+0.100000000000000000000000000000000065E-8, +0.999999979853950029064322113904329775
235+0.100000000000000000000000000000000058E-7, +0.999999821565364946706359216161737009
236+0.100000000000000000000000000000000043E-6, +0.999998445913190763809082249812063593
237+0.100000000000000000000000000000000048E-5, +0.999986761790910335167378117922698844
238+0.100000000000000000000000000000000041E-4, +0.999890648699043670145241732485521290
239+0.100000000000000000000000000000000032E-3, +0.999137041868993400061435556832101876
240+0.100000000000000000000000000000000013E-2, +0.993687646708860290206558750403283676
241+0.100000000000000000000000000000000017E-1, +0.960347423521509198326882715453714384
242+0.100000000000000000000000000000000005, +0.827551759585850541450312389744143485
243+1.00000000000000000000000000000000000, +0.632120558828557678404476229838539127
244+10.0000000000000000000000000000000000, +0.542070285528147791685845370654762642
245+100.000000000000000000000000000000000, +0.513298798279148664857314256560736836
246+1000.00000000000000000000000000000000, +0.504205244180215508503777843602118862
247+10000.0000000000000000000000000000000, +0.501329808339955200382742251299851386
248+100000.000000000000000000000000000000, +0.500420522110365176693312579043826337
249+1000000.00000000000000000000000000000, +0.500132980760872591244322817503206681
250+10000000.0000000000000000000000000000, +0.500042052208723698333756164784025937
251+100000000.000000000000000000000000000, +0.500013298076014119871248917592827104
252+1000000000.00000000000000000000000000, +0.500004205220870056962418526621128081
253+10000000000.0000000000000000000000000, +0.500001329807601338847708467065353556
254+100000000000.000000000000000000000000, +0.500000420522087003383370379357918933
255+1000000000000.00000000000000000000000, +0.500000132980760133811631428649428437
256+10000000000000.0000000000000000000000, +0.500000042052208700336024166457325569
257+100000000000000.000000000000000000000, +0.500000013298076013381090003446869344
258+1000000000000000.00000000000000000000, +0.500000004205220870033600103774254030
259+10000000000000000.0000000000000000000, +0.500000001329807601338108927205268918
260+100000000000000000.000000000000000000, +0.500000000420522087003360008064553908
261+1000000000000000000.00000000000000000, +0.500000000132980760133810892647387449
262+10000000000000000000.0000000000000000, +0.500000000042052208700336000804142541
263+100000000000000000000.000000000000000, +0.500000000013298076013381089264665675
264+1000000000000000000000.00000000000000, +0.500000000004205220870033600080411943
265+10000000000000000000000.0000000000000, +0.500000000001329807601338108926466452
266+100000000000000000000000.000000000000, +0.500000000000420522087003360008041223
267+1000000000000000000000000.00000000000, +0.500000000000132980760133810892646664
268+10000000000000000000000000.0000000000, +0.500000000000042052208700336000804084
269+100000000000000000000000000.000000000, +0.500000000000013298076013381089264705
270+1000000000000000000000000000.00000000, +0.500000000000004205220870033600080351
271+10000000000000000000000000000.0000000, +0.500000000000001329807601338108926490
272+100000000000000000000000000000.000000, +0.500000000000000420522087003360008093
273+1000000000000000000000000000000.00000, +0.500000000000000132980760133810892639
274+10000000000000000000000000000000.0000, +0.500000000000000042052208700336000790
275+100000000000000000000000000000000.000, +0.500000000000000013298076013381089225
276+1000000000000000000000000000000000.00, +0.500000000000000004205220870033600012
277+10000000000000000000000000000000000.0, +0.500000000000000001329807601338108942
278+100000000000000000000000000000000000., +0.500000000000000000420522087003360078
279+0.100000000000000000000000000000000000E+37, +0.500000000000000000132980760133810942
280+0.100000000000000000000000000000000000E+38, +0.500000000000000000042052208700335989
281+0.100000000000000000000000000000000000E+39, +0.500000000000000000013298076013381094
282+0.100000000000000000000000000000000000E+40, +0.500000000000000000004205220870033589
283+0.100000000000000000000000000000000000E+41, +0.500000000000000000001329807601338090
284+0.100000000000000000000000000000000000E+42, +0.500000000000000000000420522087003349
285+0.100000000000000000000000000000000000E+43, +0.500000000000000000000132980760133742
286+0.100000000000000000000000000000000000E+44, +0.500000000000000000000042052208700296
287+0.100000000000000000000000000000000000E+45, +0.500000000000000000000013298076013413
288+0.100000000000000000000000000000000000E+46, +0.500000000000000000000004205220870049
289+0.100000000000000000000000000000000000E+47, +0.500000000000000000000001329807601361
290+0.100000000000000000000000000000000000E+48, +0.500000000000000000000000420522086947
291+0.100000000000000000000000000000000000E+49, +0.500000000000000000000000132980760117
292+0.999999999999999999999999999999999944E+49, +0.500000000000000000000000042052208675
293+0.100000000000000000000000000000000008E+51, +0.500000000000000000000000013298075954
294+0.100000000000000000000000000000000001E+52, +0.500000000000000000000000004205220848
295+0.100000000000000000000000000000000004E+53, +0.500000000000000000000000001329807634
296+0.100000000000000000000000000000000008E+54, +0.500000000000000000000000000420522085
297+0.100000000000000000000000000000000004E+55, +0.500000000000000000000000000132980744
298+0.100000000000000000000000000000000004E+56, +0.500000000000000000000000000042052199
299+0.999999999999999999999999999999999950E+56, +0.500000000000000000000000000013298065
300+0.100000000000000000000000000000000003E+58, +0.500000000000000000000000000004205268
301+0.100000000000000000000000000000000006E+59, +0.500000000000000000000000000001329855
302+0.100000000000000000000000000000000003E+60, +0.500000000000000000000000000000420527
303+0.100000000000000000000000000000000003E+61, +0.500000000000000000000000000000132985
304+0.100000000000000000000000000000000000E+62, +0.500000000000000000000000000000041985
305+0.100000000000000000000000000000000003E+63, +0.500000000000000000000000000000013289
306+0.100000000000000000000000000000000003E+64, +0.500000000000000000000000000000004237
307+0.999999999999999999999999999999999962E+64, +0.500000000000000000000000000000001348
308+0.100000000000000000000000000000000001E+66, +0.500000000000000000000000000000000385
309+0.999999999999999999999999999999999932E+66, +0.500000000000000000000000000000000193
310
311

Postprocessing of the example output
1#!/usr/bin/env python
2
3import matplotlib.pyplot as plt
4import pandas as pd
5import numpy as np
6import glob
7import sys
8
9fontsize = 17
10
11kind = "RK"
12label = [ r"shape: $\kappa = 1.0$"
13 , r"shape: $\kappa = 2.5$"
14 , r"shape: $\kappa = 5.0$"
15 ]
16
17pattern = "*." + kind + ".txt"
18fileList = glob.glob(pattern)
19if len(fileList) == 1:
20
21 df = pd.read_csv(fileList[0], delimiter = " ")
22
23 fig = plt.figure(figsize = 1.25 * np.array([6.4, 4.8]), dpi = 200)
24 ax = plt.subplot()
25
26 for i in range(1,len(df.values[0,:]+1)):
27
28 plt.plot( df.values[:, 0]
29 , df.values[:,i]
30 , linewidth = 2
31 )
32
33 plt.xticks(fontsize = fontsize - 2)
34 plt.yticks(fontsize = fontsize - 2)
35 ax.set_xlabel("x", fontsize = fontsize)
36 ax.set_ylabel("Regularized Lower\nIncomplete Gamma Function", fontsize = fontsize)
37
38 plt.grid(visible = True, which = "both", axis = "both", color = "0.85", linestyle = "-")
39 ax.tick_params(axis = "y", which = "minor")
40 ax.tick_params(axis = "x", which = "minor")
41
42 ax.legend ( label
43 , fontsize = fontsize
44 #, loc = "center left"
45 #, bbox_to_anchor = (1, 0.5)
46 )
47
48 plt.savefig(fileList[0].replace(".txt",".png"))
49
50else:
51
52 sys.exit("Ambiguous file list exists.")

Visualization of the example output
Test:
test_pm_mathGammaGil


Final Remarks


If you believe this algorithm or its documentation can be improved, we appreciate your contribution and help to edit this page's documentation and source file on GitHub.
For details on the naming abbreviations, see this page.
For details on the naming conventions, see this page.
This software is distributed under the MIT license with additional terms outlined below.

  1. If you use any parts or concepts from this library to any extent, please acknowledge the usage by citing the relevant publications of the ParaMonte library.
  2. If you regenerate any parts/ideas from this library in a programming environment other than those currently supported by this ParaMonte library (i.e., other than C, C++, Fortran, MATLAB, Python, R), please also ask the end users to cite this original ParaMonte library.

This software is available to the public under a highly permissive license.
Help us justify its continued development and maintenance by acknowledging its benefit to society, distributing it, and contributing to it.

Author:
Fatemeh Bagheri, Monday 12:36 pm, August 16, 2021, Dallas TX

Definition at line 137 of file pm_mathGammaGil.F90.


The documentation for this interface was generated from the following file: