Skip to main content

Finite Form Representations for Extended Instances of Meijer G and Fox H Functions

  • Chapter
  • First Online:
Finite Form Representations for Meijer G and Fox H Functions

Part of the book series: Lecture Notes in Statistics ((LNS,volume 223))

  • 452 Accesses

Abstract

In this chapter the authors use the results in the three theorems in the previous chapter to obtain the p.d.f.’s and c.d.f.’s of all the products of independent Beta r.v.’s in those theorems in terms of the Meijer G and the Fox H functions as well as their finite forms based on the EGIG (Exponentiated Generalized Integer Gamma) p.d.f. and c.d.f., this way obtaining the equivalences among several instances of the Meijer G and Fox H functions and their finite representations through the EGIG p.d.f. and c.d.f..

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  • Erdélyi, A., Magnus, W., Oberhettinger, F., Tricomi, F.G. (eds.): Higher Transcendental Functions (The Bateman Manuscript Project), vol. I. McGraw-Hill, New York (1953)

    Google Scholar 

  • Fox, C.: The G and H functions as symmetrical kernels. Trans. Amer. Math. Soc. 98 395–429 (1961)

    MathSciNet  MATH  Google Scholar 

  • Meijer, C.S.: Über Whittakersche bzw. Besselsche Funktionen und deren Produkte. Nieuw Archief voor Wiskunde 18(2), 10–29 (1936a)

    MATH  Google Scholar 

  • Meijer, C.S.: Neue Integraldarstellungen aus der Theorie der Whittakerschen und Hankelschen Funktionen. Math. Annalen 112(2), 469–489 (1936b)

    Article  MathSciNet  Google Scholar 

  • Meijer, C.S.: Multiplikationstheoreme für die Funktion \(G_{p,q}^{m,n}(z)\). Proc. Koninklijk Nederlandse Akademie van Weteenschappen 44, 1062–1070 (1941)

    Google Scholar 

  • Meijer, C.S.: On the G-function. Proc. Koninklijk Nederlandse Akademie van Weteenschappen 49, 227–237, 344–356, 457–469, 632–641, 765–772, 936–943, 1063–1072, 1165–1175 (1946)

    Google Scholar 

  • Yilmaz, F., Alouini, M.-S.: Product of the powers of generalized Nakagami-m variates and performance of cascaded fading channels. Proceedings of IEEE Global Telecommunications Conference, pp. 1–8 (2009)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Appendix: Modules for the Computation of the p.d.f.’s, c.d.f.’s, and Quantiles for the Distributions in Corollaries 4.1–4.5

Appendix: Modules for the Computation of the p.d.f.’s, c.d.f.’s, and Quantiles for the Distributions in Corollaries 4.14.5

In this appendix we present the Mathematica modules used to compute the GIG/EGIG versions of the p.d.f.’s and c.d.f.’s in Corollaries 4.14.5 as well as the corresponding quantiles, together with sets of commands that may be used to compute such values. Also the modules used to compute the p.d.f.’s and c.d.f.’s for the distributions in the same three corollaries, based on the Meijer G function are provided, together with a few examples of their implementation.

All modules in this appendix were programmed in Mathematica, version 9.0.0, and are available at https://sites.google.com/site/exactdistributions/.

Fig. 4.1
figure 1

Mathematica modules used to compute the p.d.f.’s and c.d.f.’s in Corollaries 4.14.5

In Fig. 4.1 we have the Mathematica modules PDFCorEGIG and CDFCorEGIG used to compute the p.d.f.’s and c.d.f.’s in Corollaries 4.14.5, based on the EGIG distribution (see the examples of commands in Fig. 4.15). These modules have six mandatory arguments, which are

cor –:

the number of the corollary we are referring to: 1, 2, 3, 4, or 5, respectively for Corollary 4.1, 4.2, 4.3, 4.4, or 4.5

a –:

a list with the values of the parameters a ν (ν = 1, …, m )

n –:

a list with the values of the parameters n ν (ν = 1, …, m ) (irrelevant when carrying out computations for Corollary 4.1, in which case this argument may be given any value, like zero or 1, since in this case the n ν are obtained from the length of the sub-lists in k below)

k –:

a two-level list with the values of the parameters k νℓ (ν = 1, …, m ;

 = 1, …, n ν), in case of Corollary 4.1 or a simple list with the parameters k ν (ν = 1, …, m ) in case of Corollary 4.2 or 4.3

m –:

a two-level list with the values of the parameters m νℓ (ν = 1, …, m ;

 = 1, …, n ν), in case of Corollary 4.1 or a simple list with the parameters m ν (ν = 1, …, m ) in case of Corollary 4.2 or 4.3

z –:

the running value of the r.v. Z in Corollaries 4.14.5 to be used for the computation of the p.d.f. or the c.d.f.

which have to be given in the above order, and two optional arguments

prec –:

the precision (number of digits) to be used in the computations (default value: 50)

ind –:

an index which if given a value different from 0 (zero) will make the computations to be done with the more precise modules EGIGpdf and EGIGcdf in Fig. 4.8, instead of the faster modules EGIGpdffast and EGIGcdffast, also in Fig. 4.8 (default value: 0) (all computations of p.d.f.’s and c.d.f.’s shown in Sect. 4.4 were carried out with the default value of 0 (zero) for this argument, thus using the faster modules; these results are exactly the same that would be obtained would the more precise modules had been used).

For Corollaries 4.4 and 4.5

a and n –:

are double lists with the values of the parameters a ν and \(a^{\ast }_\nu \) or n ν and \(n^{\ast }_\nu \), respectively

k and m –:

are double lists with the values of the parameters k νℓ and \(k^{\ast }_\nu \) or m νℓ and \(m^{\ast }_\nu \) in case of Corollary 4.4 or of the parameters k ν and \(k^{\ast }_\nu \) or m ν and \(m^{\ast }_\nu \) in case of Corollary 4.5.

Modules ParCor1EGIG and ParCor2EGIG in Fig. 4.2 are used to compute the rate and shape parameters for the EGIG versions of the distributions respectively in Corollaries 4.1 and 4.2, the first one based on the parameters a νℓ, k νℓ and m νℓ (ν = 1, …, m ; = 1, …, n ν), and the second one based on the parameters a ν, n ν, k ν, and m ν (ν = 1, …, m ). In Fig. 4.3 we have module ParCor3EGIG which computes the rate and shape parameters for the EGIG based form of the distributions in Corollary 4.3, based on the parameters a ν, k ν, n ν, and s ν (ν = 1, …, m ).

These modules are called by modules PDFCorEGIG and CDFCorEGIG and the user actually does not have to worry about the details on how to use them.

Fig. 4.2
figure 2

Mathematica modules ParCor1EGIG and ParCor2EGIG called by the modules in Fig. 4.1 to compute the shape and rate parameters in the EGIG distributions in Corollaries 4.1 and 4.2, from the parameters a ν, n ν, k νℓ, and m νℓ

Fig. 4.3
figure 3

Mathematica module ParCor3EGIG called by the modules in Fig. 4.1 to compute the shape and rate parameters in the EGIG distributions in Corollary 4.3, from the parameters a ν, n ν, k νℓ, and m νℓ

In Fig. 4.4 we have module Rat, used to rationalize real values. Module Rat is called by modules ParCor1EGIG, ParCor2EGIG, and ParCor3EGIG. Although Mathematica has the native function/module Rationalize, the need for module Rat is made clear through the examples in Fig. 4.5, where it is shown that the Mathematica native function/module does not display the necessary behavior, while the use of the module Rat gives the right results.

Fig. 4.4
figure 4

Mathematica modules called by the modules in Figs. 4.2 and 4.3, used alternatively to the native Mathematica function Rationalize, to rationalize values

Fig. 4.5
figure 5

Examples illustrating the need for the use of module Rat in Fig. 4.4 instead of the native Mathematica function/module Rationalize

Modules Screen and Screen2 in Fig. 4.6 do something similar to what the Mathematica function/module Tally does. They scan a list of real values looking for possible repetitions and register these in a vector of integer values with the multiplicities of the corresponding real values, outputting then both sets of values. Their use and functioning are illustrated in Fig. 4.7. Module Screen accepts as input a list of real values and it just uses the native Mathematica function/module Tally, to output then the set of real values, together with the set of their corresponding multiplicities, while module Screen2 does a slightly more sophisticated thing which is to accept as input a first argument which is a list of real values, which may still have repeated values, and a second argument which is a list with the multiplicities of the corresponding real values, outputting then the set of real values, without repetitions, and the set of the corresponding multiplicities.

Fig. 4.6
figure 6

Mathematica modules called by the modules in Fig. 4.4 to screen the list of rate parameters in the EGIG and GIG distributions for duplicated values and give as output a list of rate without duplicated values and the corresponding list of shape parameters

Fig. 4.7
figure 7

Examples illustrating the use and functioning of modules Screen and Screen2 in Fig. 4.6

In Fig. 4.8 are listed modules EGIGpdffast, EGIGcdffast, EGIGpdf, and EGIGcdf, called by modules PDFCorEGIG and CDFCorEGIG to compute the EGIG p.d.f. and c.d.f. being the first two modules, as their names clearly indicate, the modules associated with the fast version.

Fig. 4.8
figure 8

Mathematica modules for the computation of the EGIG p.d.f. and c.d.f., based on the GIG distribution modules in Fig. 4.7

The modules in Fig. 4.8 call in turn the modules in Figs. 4.9 and 4.10 to compute the EGIG p.d.f.’s and c.d.f.’s from the corresponding GIG p.d.f.’s and c.d.f.’s.

Fig. 4.9
figure 9

Mathematica modules called by the modules in Fig. 4.6 to compute the p.d.f. and c.d.f. of the GIG distribution in a fast way

Fig. 4.10
figure 10

Mathematica modules called by the modules in Fig. 4.6 to compute the p.d.f. and c.d.f. of the GIG distribution in a more precise way

Module Makec in Fig. 4.11 is called by modules GIGpdf and GIGcdf in Figs. 4.9 and 4.10. It is used to compute the coefficients c j,k given by (2.20)–(2.22), which appear in the formulation of the GIG p.d.f. and c.d.f. in (2.18) and (2.19).

Fig. 4.11
figure 11

Mathematica module used to compute the coefficients c j,k (k = 1, …, r j; j = 1, …, p) in the GIG p.d.f. and c.d.f.

In Figs. 4.12, 4.13, and 4.14 are listed the Mathematica modules used to compute the p.d.f.’s and c.d.f.’s for each of the Corollaries 4.1, 4.2, and 4.3, based on the Meijer G function formulation. Modules PDFCor1Meijer and CDFCor1Meijer call module ParCor1Meijer to setup, from the values of the parameters a νℓ, k νℓ, and m νℓ (ν = 1, …, m ; = 1, …, n ν), the arguments for the Mathematica native function/module Meijer, which is then used to make the computations. Modules PDFCor1Meijer and CDFCor1Meijer have four mandatory arguments which are, in this order, the list of the a ν parameters, the two-level lists of the k νℓ and m νℓ parameters and the running value of the r.v. Z where the p.d.f. or the c.d.f. is to be computed.

Modules PDFCor2Meijer and CDFCor2Meijer have a similar functioning and usage, with the only difference that these have five mandatory arguments, which are, in this order, the lists of the a ν, n ν, k ν, and m ν (ν = 1, …, m ) parameters and the running value of the r.v. Z, while modules PDFCor3Meijer and CDFCor3Meijer also have five mandatory arguments which are, in this order, the values for the a ν, k ν, n ν, and s ν (ν = 1, …, m ) parameters and the running value for the r.v. Z.

Fig. 4.12
figure 12

Mathematica modules used to implement the Meijer G functions for the p.d.f. and c.d.f. in Corollary 4.1

Fig. 4.13
figure 13

Mathematica modules used to implement the Meijer G functions for the p.d.f. and c.d.f. in Corollary 4.2

Fig. 4.14
figure 14

Mathematica modules used to implement the Meijer G functions for the p.d.f. and c.d.f. in Corollary 4.3

Fig. 4.15
figure 15

Examples illustrating the use of modules PDFCorEGIG and CDFCorEGIG to compute values for the p.d.f. and c.d.f. for scenarios I.1, II.1, and III.1

In Fig. 4.15 it is exemplified how one can compute the values for the p.d.f. and the c.d.f. for scenarios I.1, II.1, and III.1 using the EGIG implementation based modules PDFCorEGIG and CDFCorEGIG, both with the fast and the more precise versions, and in Fig. 4.16 we have the set of commands to be used with modules PDFCor1Meijer, PDFCor2Meijer, and PDFCor3Meijer to compute the p.d.f. values for these same scenarios by using the Meijer G function based implementations. Similar commands which use the corresponding c.d.f. modules would be used to compute the c.d.f. values.

Fig. 4.16
figure 16

Commands to be used to compute the values for the p.d.f.’s in scenarios I.1, II.1, and III.1, based on the Meijer G function formulation

Fig. 4.17
figure 17

Mathematica module used for the computation of quantiles for the distributions in Corollaries 4.14.3

Figure 4.17 bears the listing of the module QuantCorEGIG, used to compute the quantiles for the distributions in Corollaries 4.14.5, in an “assisted” way. We call this version of the computation of the quantiles “assisted” since when using this module we need to provide both a starting value and the precision for the computations. An adequate starting value may be easily obtained from a few computations of the corresponding c.d.f., carried out using module CDFCorEGIG, while the minimal precision needed may then be obtained by starting with the same precision, that is, the same number of digits, used to compute the corresponding c.d.f., or something slightly higher, and, if necessary, adjusting it to slightly higher values, in case the module gives as output an error message or no output at all or yet if it does not give any result in a quite short time.

Module QuantCorEGIG uses a Newton type algorithm to compute successive approximations for the quantiles, starting from a given initial value. Such procedure reveals itself as much more efficient and reliable than the use of the generalist native Mathematica module/function FindRoot.

In Fig. 4.18 we have the set of commands used to obtain the 0.05 quantiles for scenarios I.1, II.1, and III.1 which are listed in Tables 4.4, 4.11, and 4.17, using module QuantCorEGIG. This module has eight mandatory arguments and two optional ones. The first five mandatory arguments are exactly the same as those for modules PDFCorEGIG and CDFCorEGIG, while the remaining three ones are:

quant –:

the quantile value, a value between 0 (zero) and 1

xo –:

the initial value for the quantile computation

eps –:

the “epsilon” value, that is, an upper-bound for the difference between two consecutive approximations for the quantile

in this order. The two optional arguments are:

prec –:

the precision, that is, the number of digits to be used in computing the p.d.f. and the c.d.f. values

ind –:

see the argument with a similar name for modules PDFCorEGIG and CDFCorEGIG.

Fig. 4.18
figure 18

Commands to be used to compute the 0.05 quantiles for scenarios I.1, II.1, and III.1 with the nonautomated module QuantCorEGIG

The modules in Fig. 4.19 are two sets of modules used to compute the EGIG p.d.f. and c.d.f. in repeated computations of these functions. These modules call the corresponding computing GIG modules in Fig. 4.20. These modules, instead of computing the c j,k coefficients in the GIG/EGIG distributions, take these as an argument list, which is denoted as the argument c in the modules in Figs. 4.19 and 4.20. This list is computed inside the module QuantCorEGIG, before the modules that compute the EGIG p.d.f. and c.d.f. are called. Anyway, these are computational details that allow huge improvements in the computing times of quantiles, but which are transparent to the end-user, that is, these are details about which the end-user does not have to worry about.

Fig. 4.19
figure 19

Mathematica modules called by module QuantCorEGIG in Fig. 4.13, used to compute the EGIG p.d.f. and c.d.f.

Fig. 4.20
figure 20

Mathematica modules called by the modules in Fig. 4.14, used to compute the GIG p.d.f. and c.d.f. avoiding the computation of the parameters c jk in each step

Fig. 4.21
figure 21

Mathematica module used for the unassisted computation of quantiles for the distributions in Corollaries 4.14.3

Module QuantCor in Fig. 4.21 is the module used to compute the “automated” or unassisted version of the quantiles. This module does not require either a starting value or an a priori setup precision value as arguments. The module has six mandatory arguments which are:

cor –:

the number of the corollary we are referring to: 1, 2, 3, 4, or 5, respectively for Corollary 4.1, 4.2, 4.3, 4.4, or 4.5

qquant –:

the quantile value, a value between 0 (zero) and 1

a –:

the same as the second mandatory argument of modules PDFCorEGIG and CDFCorEGIG (see pages 56–57)

n –:

the same as the third mandatory argument of modules PDFCorEGIG and CDFCorEGIG (see pages 56–57)

k –:

the same as the fourth mandatory argument of modules PDFCorEGIG and CDFCorEGIG (see pages 56–57)

m –:

the same as the fifth mandatory argument of modules PDFCorEGIG and CDFCorEGIG (see pages 56–57)

in this order, and four optional arguments, which are

eps –:

the “epsilon” value, that is, an upper-bound for the difference between two consecutive approximations for the quantile (default value: 10−11)

ind –:

see the argument with a similar name for modules PDFCorEGIG and CDFCorEGIG (all computing times reported in Tables 4.4, 4.11, and 4.17 were obtained by using the default value of 0 (zero) for this argument)

pp –:

the number of precision digits to be used to print the quantile value (default value: 11)

preco –:

the number of digits to be used in the initial computations of the c.d.f. carried out by the module in order to determine a good starting value (default value: 50) (this value is internally adjusted by the module if necessary, even when a value is explicitly given for this argument, anyway it may have to be used for cases where the argument a has extremely large values)

xo –:

the original starting value for the computation of the quantile (default value: 1/2)

Module QuantCor uses a variant of the bisection algorithm in order to obtain a good starting value for the quantile computation. This starting value has to yield a value for the c.d.f. that falls within 10−3 of the required α-value specified in the mandatory argument qquant. Once this starting value is found, a Newton-type algorithm in all similar to the one used by module QuantCorEGIG is used till the final approximate value of the quantile is obtained.

In Fig. 4.22 we have the commands used to compute the 0.05 quantiles for scenarios I.1, II.1, and III.1 with this automated module using the corresponding parameter definitions in Fig. 4.18.

Fig. 4.22
figure 22

Commands to be used to compute the 0.05 quantiles for scenarios I.1, II.1, and III.1 with the automated module QuantCor

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Coelho, C.A., Arnold, B.C. (2019). Finite Form Representations for Extended Instances of Meijer G and Fox H Functions. In: Finite Form Representations for Meijer G and Fox H Functions. Lecture Notes in Statistics, vol 223. Springer, Cham. https://doi.org/10.1007/978-3-030-28790-0_4

Download citation

Publish with us

Policies and ethics