ParaMonte Fortran 2.0.0 Parallel Monte Carlo and Machine Learning LibrarySee the latest version documentation.

This module contains classes and procedures for non-adaptive and adaptive global numerical quadrature and Cauchy Principal Value of 1D functions with various types of singularities and points of difficulties via the Gauss-Kronrod and Clenshaw-Curtis quadrature formulae.
More...

## Data Types

Compute the 1D integral of the input scalar (potentially singular) integrand getFunc on a finite or semi/fully-infinite interval (a, b) and estimate its absolute error via the requested adaptive global Gauss-Kronrod (GK) extension rules. More...

Compute the 1D integral of the input scalar integrand getFunc on the finite or infinite interval [a, b] and estimate its absolute error via the requested non-adaptive Gauss-Kronrod (GK) extension rule. More...

type  GK15_type
This is the indicator type for generating instances of objects that indicate the use of 7-point Gauss-Legendre quadrature with 15-point Kronrod extension formulae as the drivers in the (Adaptive) Global Gauss-Kronrod Quadrature of getQuadGK. More...

type  GK21_type
This is the indicator type for generating instances of objects that indicate the use of 10-point Gauss-Legendre quadrature with 11-point Kronrod extension formulae as the drivers in the (Adaptive) Global Gauss-Kronrod Quadrature of getQuadGK. More...

type  GK31_type
This is the indicator type for generating instances of objects that indicate the use of 15-point Gauss-Legendre quadrature with 31-point Kronrod extension formulae as the drivers in the (Adaptive) Global Gauss-Kronrod Quadrature of getQuadGK. More...

type  GK41_type
This is the indicator type for generating instances of objects that indicate the use of 20-point Gauss-Legendre quadrature with 41-point Kronrod extension formulae as the drivers in the (Adaptive) Global Gauss-Kronrod Quadrature of getQuadGK. More...

type  GK51_type
This is the indicator type for generating instances of objects that indicate the use of 25-point Gauss-Legendre quadrature with 51-point Kronrod extension formulae as the drivers in the (Adaptive) Global Gauss-Kronrod Quadrature of getQuadGK. More...

type  GK61_type
This is the indicator type for generating instances of objects that indicate the use of 30-point Gauss-Legendre quadrature with 61-point Kronrod extension formulae as the drivers in the (Adaptive) Global Gauss-Kronrod Quadrature of getQuadGK. More...

Compute the 1D integral of the input scalar (potentially singular) integrand getFunc on a finite or semi/fully-infinite interval (a, b) and estimate its absolute error via the requested adaptive global quadrature rule. More...

interface  setChebExpan
Compute and return the series expansion of the input function values via the Chebyshev polynomials of the first kind of degrees 12 and 24 using Fast Fourier Transform method. More...

interface  setErrSorted
Sort the input local error estimates list (resulting from the interval subdivision process of the Adaptive Global quadrature procedures of this module) in descending order. More...

interface  setNodeWeightGK
Return the Kronrod $$2n + 1$$ nodes and weights of the extension to the $$n$$-point Gauss-Legendre quadrature, as well as the $$n$$-point Gauss-Legendre weights. More...

interface  setSeqLimEps
Return the limit of a given sequence of approximations via the Epsilon method of Wynn (1961). More...

interface  wcauchy_type
This is the derived type for constructing objects that signify the computation of the Cauchy Principal Value of arbitrary function whose Cauchy singularities is stored in the cs components of the objects of this type.
More...

interface  wcos_type
This is the derived type for constructing objects that signify the computation of the integral an arbitrary Cose-weighted function. More...

type  weps_type
This is the indicator type for generating instances of objects that indicate the use of Epsilon extrapolation method of Wynn (1961) to accelerate the convergence of integrations of functions with integrable singularities and infinities using the (Adaptive) Global Gauss-Kronrod Quadrature of getQuadErr. More...

interface  wsin_type
This is the derived type for constructing objects that signify the computation of the integral an arbitrary Sine-weighted function. More...

## Variables

character(*, SK), parameter MODULE_NAME = "@pm_quadPack"

type(GK15_type), parameter GK15 = GK15_type()
The scalar constant object of type GK15_type that indicates the use of 7-point Gauss-Legendre quadrature with 15-point Kronrod extension formulae as the drivers in the (Adaptive) Global Gauss-Kronrod Quadrature of getQuadGK. More...

real(RKB), dimension(4), parameter nodeG7 = [ 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+00_RKB , 4.0584515137739716690660641207696146334738201409937012638704325179466381322612565532831268972774658776528675866604802e-01_RKB , 7.4153118559939443986386477328078840707414764714139026011995535196742987467218051379282683236686324705969251809311201e-01_RKB , 9.4910791234275852452618968404785126240077093767061778354876910391306333035484014080573077002792572414430073966699522e-01_RKB ]
A vector of type real of the highest-precision kind available by the processor, containing the abscissas of the 7-points Gauss quadrature rule. More...

real(RKB), dimension(4), parameter weightG7 = [ 4.1795918367346938775510204081632653061224489795918367346938775510204081632653061224489795918367346938775510204081633e-01_RKB , 3.8183005050511894495036977548897513387836508353386273475108345103070554643412970834868465934404480145031467176458536e-01_RKB , 2.7970539148927666790146777142377958248692506522659876453701403269361881043056267681324094290119761876632337521337205e-01_RKB , 1.2948496616886969327061143267908201832858740225994666397720863872465523497204230871562541816292084508948440200163443e-01_RKB ]
A vector of type real of the highest-precision kind available by the processor, containing the weights of the 7-points Gauss quadrature rule. More...

real(RKB), dimension(8), parameter nodeK15 = [ 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+00_RKB , 2.0778495500789846760068940377324491347978440714517064971384573461986693844943520226910343227183698530560857645062738e-01_RKB , 4.0584515137739716690660641207696146334738201409937012638704325179466381322612565532831268972774658776528675866604802e-01_RKB , 5.8608723546769113029414483825872959843678075060436095130499289319880373607444407464511674498935942098956811555121368e-01_RKB , 7.4153118559939443986386477328078840707414764714139026011995535196742987467218051379282683236686324705969251809311201e-01_RKB , 8.6486442335976907278971278864092620121097230707408814860145771276706770813259572103585847859604590541475281326027862e-01_RKB , 9.4910791234275852452618968404785126240077093767061778354876910391306333035484014080573077002792572414430073966699522e-01_RKB , 9.9145537112081263920685469752632851664204433837033470129108741357244173934653407235924503509626841760744349505339308e-01_RKB ]
A vector of type real of the highest-precision kind available by the processor, containing the abscissas of the 15-points Kronrod extension to the 7-points Gauss quadrature rule. More...

real(RKB), dimension(8), parameter weightK15 = [ 2.0948214108472782801299917489171426369776208022370431671299800656137515132325648616816908211675949102392971459688215e-01_RKB , 2.0443294007529889241416199923464908471651760418071835742447095312045467698546598879348374292009347554167803659293064e-01_RKB , 1.9035057806478540991325640242101368282607807545535835588544088036744058072410212679605964605106377593834568683551139e-01_RKB , 1.6900472663926790282658342659855028410624490030294424149734006755695680921619029112936702403855359908156070095656537e-01_RKB , 1.4065325971552591874518959051023792039988975724799857556174546893312708093090950408097379122415555910759700350860143e-01_RKB , 1.0479001032225018383987632254151801744375665421383061189339065133963746321576289524167571627509311333949422518201492e-01_RKB , 6.3092092629978553290700663189204286665071157211550707113605545146983997477964874928199170264504441995865872491871943e-02_RKB , 2.2935322010529224963732008058969591993560811275746992267507430254711815787976075946156368168156289483493617134063245e-02_RKB ]
A vector of type real of the highest-precision kind available by the processor, containing the weights of the 15-points Kronrod extension to the 7-points Gauss quadrature rule. More...

type(GK21_type), parameter GK21 = GK21_type()
The scalar constant object of type GK21_type that indicates the use of 10-point Gauss-Legendre quadrature with 21-point Kronrod extension formulae as the drivers in the (Adaptive) Global Gauss-Kronrod Quadrature of getQuadGK. More...

real(RKB), dimension(5), parameter nodeG10 = [ 1.4887433898163121088482600112971998461756485942069169570798925351590361735566852137117762979946369123003116080525534e-01_RKB , 4.3339539412924719079926594316578416220007183765624649650270151314376698907770350122510275795011772122368293504099894e-01_RKB , 6.7940956829902440623432736511487357576929471183480946766481718895255857539507492461507857357048037949983390204739932e-01_RKB , 8.6506336668898451073209668842349304852754301496533045252195973184537475513805556135679072894604577069440463108641177e-01_RKB , 9.7390652851717172007796401208445205342826994669238211923121206669659520323463615962572356495626855625823304251877421e-01_RKB ]
A vector of type real of the highest-precision kind available by the processor, containing the abscissas of the 10-points Gauss quadrature rule. More...

real(RKB), dimension(5), parameter weightG10 = [ 2.9552422471475287017389299465133832942104671702685360135430802975599593821715232927035659579375421672271716440125256e-01_RKB , 2.6926671930999635509122692156946935285975993846088379580056327624215343231917927676422663670925276075559581145036870e-01_RKB , 2.1908636251598204399553493422816319245877187052267708988095654363519991065295128124268399317720219278659121687281289e-01_RKB , 1.4945134915058059314577633965769733240255663966942736783547726875323865472663001094594726463473195191400575256104544e-01_RKB , 6.6671344308688137593568809893331792857864834320158145128694881613412064084087101776785509685058877821090054714520419e-02_RKB ]
A vector of type real of the highest-precision kind available by the processor, containing the weights of the 10-points Gauss quadrature rule. More...

real(RKB), dimension(11), parameter nodeK21 = [ 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+00_RKB , 1.4887433898163121088482600112971998461756485942069169570798925351590361735566852137117762979946369123003116080525534e-01_RKB , 2.9439286270146019813112660310386556616268662515695791864888229172724611166332737888445523178268237359119185139299872e-01_RKB , 4.3339539412924719079926594316578416220007183765624649650270151314376698907770350122510275795011772122368293504099894e-01_RKB , 5.6275713466860468333900009927269414084301388194196695886034621458779266353216327549712087854169992422106448211158815e-01_RKB , 6.7940956829902440623432736511487357576929471183480946766481718895255857539507492461507857357048037949983390204739932e-01_RKB , 7.8081772658641689706371757834504237716340752029815717974694859999505607982761420654526977234238996241110129779403362e-01_RKB , 8.6506336668898451073209668842349304852754301496533045252195973184537475513805556135679072894604577069440463108641177e-01_RKB , 9.3015749135570822600120718005950834622516790998193924230349406866828415983091673055011194572851007884702013619684320e-01_RKB , 9.7390652851717172007796401208445205342826994669238211923121206669659520323463615962572356495626855625823304251877421e-01_RKB , 9.9565716302580808073552728068900284792126058721947892436337916111757023046774867357152325996912076724298149077812671e-01_RKB ]
A vector of type real of the highest-precision kind available by the processor, containing the abscissas of the 21-points Kronrod extension to the 10-points Gauss quadrature rule. More...

real(RKB), dimension(11), parameter weightK21 = [ 1.4944555400291690566493646838982120374523631668747280383560851873698964478511841925721030705689540264726493367634340e-01_RKB , 1.4773910490133849137484151597206804552373162548520660451819195439885993016735696405732703959182882254268727823258502e-01_RKB , 1.4277593857706008079709427313871706088597905653190555560741004743970770449909340027811131706283756428281146832304737e-01_RKB , 1.3470921731147332592805400177170683276099191300855971406636668491320291400121282036676953159488271772384389604997640e-01_RKB , 1.2349197626206585107795810983107415951230034952864832764467994120974054238975454689681538622363738230836484113389878e-01_RKB , 1.0938715880229764189921059032580496027181329983434522007819675829826550372891432168683899432674553842507906611591517e-01_RKB , 9.3125454583697605535065465083366344390018828880760031970085038760177735672200775237414123061615827474831165614953012e-02_RKB , 7.5039674810919952767043140916190009395219382000910088173697048048430404342858495178813808730646554086856929327903059e-02_RKB , 5.4755896574351996031381300244580176373721114058333557524432615804784098927818975325116301569003298086458722055550981e-02_RKB , 3.2558162307964727478818972459389760617388939845662609571537504232714121820165498692381607605384626494546068817765276e-02_RKB , 1.1694638867371874278064396062192048396217332481931888927598147525622222058064992651806736704969967250888097490233242e-02_RKB ]
A vector of type real of the highest-precision kind available by the processor, containing the weights of the 21-points Kronrod extension to the 10-points Gauss quadrature rule. More...

type(GK31_type), parameter GK31 = GK31_type()
The scalar constant object of type GK31_type that indicates the use of 15-point Gauss-Legendre quadrature with 31-point Kronrod extension formulae as the drivers in the (Adaptive) Global Gauss-Kronrod Quadrature of getQuadGK. More...

real(RKB), dimension(8), parameter nodeG15 = [ 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+00_RKB , 2.0119409399743452230062830339459620781283645446263767961594972460994823900302018760183625806752105908967902257386509e-01_RKB , 3.9415134707756336989720737098104546836275277615869825503116534395160895778696141797549711416165976202589352169635648e-01_RKB , 5.7097217260853884753722673725391064123838639628274960485326541705419537986975857948341462856982614477912646497026257e-01_RKB , 7.2441773136017004741618605461393800963089929458410256355142342070412378167792521899610109760313432626923598549381925e-01_RKB , 8.4820658341042721620064832077421685136625617473699263409572755876067507517414548519760771975082148085090373835713340e-01_RKB , 9.3727339240070590430775894771020947124399627351530445790136307635020297379704552795054758617426808659746824044603157e-01_RKB , 9.8799251802048542848956571858661258114697281712376148999999751558738843736901942471272205036831914497667516843990079e-01_RKB ]
A vector of type real of the highest-precision kind available by the processor, containing the abscissas of the 15-points Gauss quadrature rule. More...

real(RKB), dimension(8), parameter weightG15 = [ 2.0257824192556127288062019996751931483866215800947735679670411605143539875474607409339344071278803213535148267082999e-01_RKB , 1.9843148532711157645611832644383932481869255995754199348473792792912479753343426813331499916481782320766020854889310e-01_RKB , 1.8616100001556221102680056186642282450622601227792840281549572731001325550269916061894976888609932360539977709001384e-01_RKB , 1.6626920581699393355320086048120881113090018009841290732186519056355356321227851771070517429241553621484461540657185e-01_RKB , 1.3957067792615431444780479451102832252085027531551124320239112863108844454190781168076825736357133363814908889327664e-01_RKB , 1.0715922046717193501186954668586930341554371575810198068702238912187799485231579972568585713760862404439808767837506e-01_RKB , 7.0366047488108124709267416450667338466708032754330719825907292914387055512874237044840452066693939219355489858595041e-02_RKB , 3.0753241996117268354628393577204417721748144833434074264228285504237189467117168039038770732399404002516991188859473e-02_RKB ]
A vector of type real of the highest-precision kind available by the processor, containing the weights of the 15-points Gauss quadrature rule. More...

real(RKB), dimension(16), parameter nodeK31 = [ 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+00_RKB , 1.0114206691871749902707423144739233878745105740164180495800189504151097862454083050931321451540380998341273193681967e-01_RKB , 2.0119409399743452230062830339459620781283645446263767961594972460994823900302018760183625806752105908967902257386509e-01_RKB , 2.9918000715316881216678002426638896266160338274382080184125545738918081102513884467602322020157243563662094470221235e-01_RKB , 3.9415134707756336989720737098104546836275277615869825503116534395160895778696141797549711416165976202589352169635648e-01_RKB , 4.8508186364023968069365574023235061286633893089407312129367943604080239955167155974371848690848595275551258416303565e-01_RKB , 5.7097217260853884753722673725391064123838639628274960485326541705419537986975857948341462856982614477912646497026257e-01_RKB , 6.5099674129741697053373589531327469254694822609259966708966160576093305841043840794460394747228060367236079289132544e-01_RKB , 7.2441773136017004741618605461393800963089929458410256355142342070412378167792521899610109760313432626923598549381925e-01_RKB , 7.9041850144246593296764929481794734686214051995697617332365280643308302974631807059994738664225445530963711137343440e-01_RKB , 8.4820658341042721620064832077421685136625617473699263409572755876067507517414548519760771975082148085090373835713340e-01_RKB , 8.9726453234408190088250965645449588283177871149442786763972687601078537721473771221195399661919716123038835639691946e-01_RKB , 9.3727339240070590430775894771020947124399627351530445790136307635020297379704552795054758617426808659746824044603157e-01_RKB , 9.6773907567913913425734797878433722528335733730013163797468062226335804249452174804319385048203118506304424717089291e-01_RKB , 9.8799251802048542848956571858661258114697281712376148999999751558738843736901942471272205036831914497667516843990079e-01_RKB , 9.9800229869339706028517284015227120907340644231555723034839427970683348682837134566648979907760125278631896777136104e-01_RKB ]
A vector of type real of the highest-precision kind available by the processor, containing the abscissas of the 31-points Kronrod extension to the 15-points Gauss quadrature rule. More...

real(RKB), dimension(16), parameter weightK31 = [ 1.0133000701479154901737479276749254677092627259659629246734858372174107615774696665932418050683956749891773195816338e-01_RKB , 1.0076984552387559504494666261756972191634838013536373069278929029488122760822761077475060185965408326901925180106227e-01_RKB , 9.9173598721791959332393173484603131059567260816713281734860095693651563064308745717056680128223790739026832596087552e-02_RKB , 9.6642726983623678505179907627589335136656568630495198973407668882934392359962841826511402504664592185391687490319950e-02_RKB , 9.3126598170825321225486872747345718561927881321317330560285879189052002874531855060114908990458716740695847509343865e-02_RKB , 8.8564443056211770647275443693774303212266732690655967817996052574877144544749814260718837576325109922207832119243346e-02_RKB , 8.3080502823133021038289247286103789601554188253368717607281604875233630643885056057630789228337088859687986285569521e-02_RKB , 7.6849680757720378894432777482659006722109101167947000584089097112470821092034084418224731527690291913686588446455555e-02_RKB , 6.9854121318728258709520077099147475786045435140671549698798093177992675624987998849748628778570667518643649536771245e-02_RKB , 6.2009567800670640285139230960802932190400004210329723569147829395618376206272317333030584268303808639229575334680414e-02_RKB , 5.3481524690928087265343147239430296771554760947116739813222888752727413616259625439714812475198987513183153639571249e-02_RKB , 4.4589751324764876608227299373279690223256649667921096570980823211805450700059906366455036418897149593261561551176267e-02_RKB , 3.5346360791375846222037948478360048122630678992420820868148023340902501837247680978434662724296810081131106317333086e-02_RKB , 2.5460847326715320186874001019653359397271745046864640508377984982400903447009185267605205778819712848080691366407461e-02_RKB , 1.5007947329316122538374763075807268094639436437387634979291759700896494746154334398961710227490402528151677469993935e-02_RKB , 5.3774798729233489877920514301276498183080402431284197876486169536848635554354599213793172596490038991436925569025913e-03_RKB ]
A vector of type real of the highest-precision kind available by the processor, containing the weights of the 31-points Kronrod extension to the 15-points Gauss quadrature rule. More...

type(GK41_type), parameter GK41 = GK41_type()
The scalar constant object of type GK41_type that indicates the use of 20-point Gauss-Legendre quadrature with 41-point Kronrod extension formulae as the drivers in the (Adaptive) Global Gauss-Kronrod Quadrature of getQuadGK. More...

real(RKB), dimension(10), parameter nodeG20 = [ 7.6526521133497333754640409398838211004796266813497500804795244384256342048336978241545114181556215606998505646364133e-02_RKB , 2.2778585114164507808049619536857462474308893768292747231463573920717134186355582779495212519096870803177373131560430e-01_RKB , 3.7370608871541956067254817702492723739574632170568271182794861351564576437305952789589568363453337894476772208852815e-01_RKB , 5.1086700195082709800436405095525099842549132920242683347234861989473497039076572814403168305086777919832943068843526e-01_RKB , 6.3605368072651502545283669622628593674338911679936846393944662254654126258543013255870319549576130658211710937772596e-01_RKB , 7.4633190646015079261430507035564159031073067956917644413954590606853535503815506468110411362064752061238490065167656e-01_RKB , 8.3911697182221882339452906170152068532962936506563737325249272553286109399932480991922934056595764922060422035306914e-01_RKB , 9.1223442825132590586775244120329811304918479742369177479588221915807089120871907893644472619292138737876039175464603e-01_RKB , 9.6397192727791379126766613119727722191206032780618885606353759389204158078438305698001812525596471563131043491596423e-01_RKB , 9.9312859918509492478612238847132027822264713090165589614818413121798471762775378083944940249657220927472894034724419e-01_RKB ]
A vector of type real of the highest-precision kind available by the processor, containing the abscissas of the 21-points Gauss quadrature rule. More...

real(RKB), dimension(10), parameter weightG20 = [ 1.5275338713072585069808433195509759349194864511237859727470104981759745316273778153557248783650390593544001842813788e-01_RKB , 1.4917298647260374678782873700196943669267990408136831649621121780984442259558678069396132603521048105170913854567338e-01_RKB , 1.4209610931838205132929832506716493303451541339202030333736708298382808749793436761694922428320058260133068573666201e-01_RKB , 1.3168863844917662689849449974816313491611051114698352699643649370885435642948093314355797518397262924510598005463625e-01_RKB , 1.1819453196151841731237737771138228700504121954896877544688995202017474835051151630572868782581901744606267543092317e-01_RKB , 1.0193011981724043503675013548034987616669165602339255626197161619685232202539434647534931576947985821375859035525483e-01_RKB , 8.3276741576704748724758143222046206100177828583163290744882060785693082894079419471375190843790839349096116111932764e-02_RKB , 6.2672048334109063569506535187041606351601076578436364099584345437974811033665678644563766056832203512603253399592073e-02_RKB , 4.0601429800386941331039952274932109879090639989951536817606854561832296750987328295538920623044384976189825709675075e-02_RKB , 1.7614007139152118311861962351852816362143105543336732524349326677348419259621847817403105542146097668703716227512570e-02_RKB ]
A vector of type real of the highest-precision kind available by the processor, containing the weights of the 20-points Gauss quadrature rule. More...

real(RKB), dimension(21), parameter nodeK41 = [ 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+00_RKB , 7.6526521133497333754640409398838211004796266813497500804795244384256342048336978241545114181556215606998505646364133e-02_RKB , 1.5260546524092267550522024102267752791167622481841730660174156703809133685751696356987995886397049724808931527012542e-01_RKB , 2.2778585114164507808049619536857462474308893768292747231463573920717134186355582779495212519096870803177373131560430e-01_RKB , 3.0162786811491300432055535685859226061539650501373092456926374427956957435978384116066498234762220215751079886015902e-01_RKB , 3.7370608871541956067254817702492723739574632170568271182794861351564576437305952789589568363453337894476772208852815e-01_RKB , 4.4359317523872510319999221349264010784010101082300309613315028346299543059315258601993479156987847429893626854030516e-01_RKB , 5.1086700195082709800436405095525099842549132920242683347234861989473497039076572814403168305086777919832943068843526e-01_RKB , 5.7514044681971031534294603658642513281381264014771682537415885495717468074720062012357788489049470208285175093670561e-01_RKB , 6.3605368072651502545283669622628593674338911679936846393944662254654126258543013255870319549576130658211710937772596e-01_RKB , 6.9323765633475138480549071184593153338642585141021417904687378454301191710739219011546672416325022748282227809465165e-01_RKB , 7.4633190646015079261430507035564159031073067956917644413954590606853535503815506468110411362064752061238490065167656e-01_RKB , 7.9504142883755119835063883327278794295938959911578029703855163894322697871710382866701777890251824617748545658564370e-01_RKB , 8.3911697182221882339452906170152068532962936506563737325249272553286109399932480991922934056595764922060422035306914e-01_RKB , 8.7827681125228197607744299511307846671124526828251164853898086998248145904743220740840261624245683876748360309079747e-01_RKB , 9.1223442825132590586775244120329811304918479742369177479588221915807089120871907893644472619292138737876039175464603e-01_RKB , 9.4082263383175475351998272221244338027429557377965291059536839973186796006557571220888218676776618448841584569497535e-01_RKB , 9.6397192727791379126766613119727722191206032780618885606353759389204158078438305698001812525596471563131043491596423e-01_RKB , 9.8150787745025025919334299472021694456725093981023759869077533318793098857465723460898060491887511355706497739384103e-01_RKB , 9.9312859918509492478612238847132027822264713090165589614818413121798471762775378083944940249657220927472894034724419e-01_RKB , 9.9885903158827766383831557654586300999957020432629666866666860339324411793311982967839129772854179884971700274369367e-01_RKB ]
A vector of type real of the highest-precision kind available by the processor, containing the abscissas of the 41-points Kronrod extension to the 20-points Gauss quadrature rule. More...

real(RKB), dimension(21), parameter weightK41 = [ 7.6600711917999656445049901530101740827932500628670118055485349620314721456712029449597396569857880493210849110825276e-02_RKB , 7.6377867672080736705502835038061001800801036764945996714946431116936745542061941050008345047482501253320401746334511e-02_RKB , 7.5704497684556674659542775376616558263363155900414326194855223272348838596099414841886740468379707283366777797425290e-02_RKB , 7.4582875400499188986581418362487528616116493572092273080047040726969899567887364227664202642942357104526915332274625e-02_RKB , 7.3030690332786667495189417658913112760626845234552742380174250771849743831660040966804802312464527721645765620253776e-02_RKB , 7.1054423553444068305790361723210167412912159322210143921628270586407381879789525901086146473278095159807542174985045e-02_RKB , 6.8648672928521619345623411885367801715489704958239860400434264173923806029589970941711224257967651039544669425313433e-02_RKB , 6.5834597133618422111563556969397943147223506343381443709751749639944420314384296347503523810096842402960802728781816e-02_RKB , 6.2653237554781168025870122174254980585819744698897886186553324157100424088919284503451596742588386343548162830898103e-02_RKB , 5.9111400880639572374967220648594217136419365977042191748388047204015262840407696611508732839851952697839735487615776e-02_RKB , 5.5195105348285994744832372419777329194753456228153116909812131213177827707884692917845453999535518818940813085110223e-02_RKB , 5.0944573923728691932707670050344948664836365809262579747517140086119113476866735641054822574173198900379392130050979e-02_RKB , 4.6434821867497674720231880926107516842127071007077929289994127933243222585938804392953931185146446072587020288747981e-02_RKB , 4.1668873327973686263788305936894738043960843153010324860966353235271889596379726462208702081068715463576895020003842e-02_RKB , 3.6600169758200798030557240707211008487453496747498001651070009441973280061489266074044986901436324295513243878212345e-02_RKB , 3.1287306777032798958543119323800737887769280362813337359554598005322423266047996771926031069705049476071896145456496e-02_RKB , 2.5882133604951158834505067096153142999479118048674944526997797755374306421629440393392427198869345793286369198147609e-02_RKB , 2.0388373461266523598010231432754705122838627940185929365371868214433006532030353671253640300679157504987977281782909e-02_RKB , 1.4626169256971252983787960308868356163881050162249770342103474631076960029748751959380482484308382288261238476948520e-02_RKB , 8.6002698556429421986617879501023472521289227667077976622450602031426535362696437838448828009554532025301579670206091e-03_RKB , 3.0735837185205315012182932460309874880335046882543449198461628212114333665590378156706265241414469306987988292234740e-03_RKB ]
A vector of type real of the highest-precision kind available by the processor, containing the weights of the 41-points Kronrod extension to the 20-points Gauss quadrature rule. More...

type(GK51_type), parameter GK51 = GK51_type()
The scalar constant object of type GK51_type that indicates the use of 25-point Gauss-Legendre quadrature with 51-point Kronrod extension formulae as the drivers in the (Adaptive) Global Gauss-Kronrod Quadrature of getQuadGK. More...

real(RKB), dimension(13), parameter nodeG25 = [ 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+00_RKB , 1.2286469261071039638735981880803680553220534604978373842389353789270883496885841582643884994633105537597765980412320e-01_RKB , 2.4386688372098843204519036279745158640563315632598447642113565325038747278585595067977636776325034060327548499765742e-01_RKB , 3.6117230580938783773582173012764066742207834704337506979457877784674538239569654860329531506093761400789294612122812e-01_RKB , 4.7300273144571496052218211500919204133181773846162729090723082769560327584128603010315684778279363544192787010704498e-01_RKB , 5.7766293024122296772368984161265406739573503929151825664548350776102301275263202227671659646579649084013116066120581e-01_RKB , 6.7356636847346836448512063324762217588341672807274931705965696177828773684928421158196368568030932194044282149314388e-01_RKB , 7.5925926303735763057728286520436097638752201889833412091838973544501862882026240760763679724185230331463919586229073e-01_RKB , 8.3344262876083400142102110869356956946096411382352078602086471546171813247709012525322973947759168107133491065937347e-01_RKB , 8.9499199787827536885104200678280495417455484975358390306170168295917151090119945137118600693039178162093726882638296e-01_RKB , 9.4297457122897433941401116965847053190520157060899014192745249713729532254404926130890521815127348327109666786665572e-01_RKB , 9.7666392145951751149831538647959406774537055531440674467098742731616386753588055389644670948300617866819865983054648e-01_RKB , 9.9555696979049809790878494689390161725756264940480817121080493113293348134372793448728802635294700756868258870429256e-01_RKB ]
A vector of type real of the highest-precision kind available by the processor, containing the abscissas of the 25-points Gauss quadrature rule. More...

real(RKB), dimension(13), parameter weightG25 = [ 1.2317605372671545120390287307905014243823362751815166539135219731691200794926142128460112517504958377310054583945994e-01_RKB , 1.2224244299031004168895951894585150583505924756305904090758008223203896721918010243033540891078906637115620156845304e-01_RKB , 1.1945576353578477222817812651290104739017670141372642551958788133518409022018773502442869720975271321374348568426235e-01_RKB , 1.1485825914571164833932554586955580864093619166818014959151499003148279667112542256534429898558156273250513652351744e-01_RKB , 1.0851962447426365311609395705011661934007758798672201615649430734883929279360844269339768350029654172135832773427565e-01_RKB , 1.0053594906705064420220689039268582698846609452814190706986904199941294815904602968195565620373258211755226681206658e-01_RKB , 9.1028261982963649811497220702891653380992558959334310970483768967017384678410526902484398142953718885872521590850372e-02_RKB , 8.0140700335001018013234959669111302290225732853675893716201462973612828934801289559457377714225318048243957479325813e-02_RKB , 6.8038333812356917207187185656707968554709494354636562615071226410003654051711473106651522969481873733098761760660898e-02_RKB , 5.4904695975835191925936891540473324160109985553111349048508498244593774678436511895711924079433444763756746828817613e-02_RKB , 4.0939156701306312655623487711645953660845783364104346504698414899297432880215512770478971055110424130123527015425511e-02_RKB , 2.6354986615032137261901815295299144935963281703322468755366165783870934008879499371529821528172928890350362464605104e-02_RKB , 1.1393798501026287947902964113234773603320526292909696448948061116189891729766743355923677112945033505688431618009664e-02_RKB ]
A vector of type real of the highest-precision kind available by the processor, containing the weights of the 25-points Gauss quadrature rule. More...

real(RKB), dimension(26), parameter nodeK51 = [ 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+00_RKB , 6.1544483005685078886546392366796631281724348039823545274305431751687279361558658545141048781022691067898008423227288e-02_RKB , 1.2286469261071039638735981880803680553220534604978373842389353789270883496885841582643884994633105537597765980412320e-01_RKB , 1.8371893942104889201596988875952841578528447834990555215034512653236752851109815617651867160645591242103823539931527e-01_RKB , 2.4386688372098843204519036279745158640563315632598447642113565325038747278585595067977636776325034060327548499765742e-01_RKB , 3.0308953893110783016747890998033932920041937876655194685731578452573120372337209717349617882111662416355753711853559e-01_RKB , 3.6117230580938783773582173012764066742207834704337506979457877784674538239569654860329531506093761400789294612122812e-01_RKB , 4.1788538219303774885181439459457248709336998140069528034955785068796932076966599548717224205109797297615032607570119e-01_RKB , 4.7300273144571496052218211500919204133181773846162729090723082769560327584128603010315684778279363544192787010704498e-01_RKB , 5.2632528433471918259962377815801017803683252320191114313002425180471455022502695302371008520604638341970901082293650e-01_RKB , 5.7766293024122296772368984161265406739573503929151825664548350776102301275263202227671659646579649084013116066120581e-01_RKB , 6.2681009901031741278812268162451788101954628995068510806525222008437260184181183053045236423845198752346149030569920e-01_RKB , 6.7356636847346836448512063324762217588341672807274931705965696177828773684928421158196368568030932194044282149314388e-01_RKB , 7.1776640681308438818665407977329778059771167555515582423493486823991612820974965089522905953765860328116692570706602e-01_RKB , 7.5925926303735763057728286520436097638752201889833412091838973544501862882026240760763679724185230331463919586229073e-01_RKB , 7.9787379799850005941041090499430656940863230009338267661706934499488650817643824077118950314443984031474353711531825e-01_RKB , 8.3344262876083400142102110869356956946096411382352078602086471546171813247709012525322973947759168107133491065937347e-01_RKB , 8.6584706529327559544899696958834008820284409402823690293965213246691432948180280120756708738064779055576005302835351e-01_RKB , 8.9499199787827536885104200678280495417455484975358390306170168295917151090119945137118600693039178162093726882638296e-01_RKB , 9.2074711528170156174634608454633063157457035996277199700642836501131385042631212407808952281702820179915510491592339e-01_RKB , 9.4297457122897433941401116965847053190520157060899014192745249713729532254404926130890521815127348327109666786665572e-01_RKB , 9.6161498642584251241813003366016724169212642963709676666624520141292893281185666917636407790823210892689040877316178e-01_RKB , 9.7666392145951751149831538647959406774537055531440674467098742731616386753588055389644670948300617866819865983054648e-01_RKB , 9.8803579453407724763733101457740622707248415209160748131449972199405186821347293686245404742032360498210710718706868e-01_RKB , 9.9555696979049809790878494689390161725756264940480817121080493113293348134372793448728802635294700756868258870429256e-01_RKB , 9.9926210499260983419345748654034059370452496042279618586228697762904524428167719073818746102238075978747461480736921e-01_RKB ]
A vector of type real of the highest-precision kind available by the processor, containing the abscissas of the 51-points Kronrod extension to the 25-points Gauss quadrature rule. More...

real(RKB), dimension(26), parameter weightK51 = [ 6.1580818067832935078759824240064553190436936903140808056908996403358367244202623293256774502185186717703954810463664e-02_RKB , 6.1471189871425316661544131965264177586537962876885022711111683500151700796198726558483367566537422877227096643444043e-02_RKB , 6.1128509717053048305859030416292711922678552321960938357322028070390133769952032831204895569347757809858568165047769e-02_RKB , 6.0539455376045862945360267517565427162312365710457079923487043144554747810689514408013582515489930908693681447570811e-02_RKB , 5.9720340324174059979099291932561853835363045476189975483372207816149988460708299020779612375010639778624011960832019e-02_RKB , 5.8689680022394207961974175856787764139795646254828315293243700305012569486054157617049685031506591863121580010947248e-02_RKB , 5.7437116361567832853582693939506471994832856823896682976509412313367495727224381199978598247737089593472710899482737e-02_RKB , 5.5950811220412317308240686382747346820271035112771802428932791066115158268338607019365831655460314732208940609352540e-02_RKB , 5.4251129888545490144543370459875606826076838441263383072163293312936923476650934130242315028422047795830492882862973e-02_RKB , 5.2362885806407475864366712137872714887351550723707596350905793656046659248541276597504566497990926306481919129870507e-02_RKB , 5.0277679080715671963325259433440084440587630604775975142050968279743014641141402310302584542633557037153607386127936e-02_RKB , 4.7982537138836713906392255756914754983592207423271169651235865196757913880334117810235517477328110033499422471098658e-02_RKB , 4.5502913049921788909870584752660393043707768935695327316724254392794299567957035458208970599641697203261236226745020e-02_RKB , 4.2872845020170049476895792439495161101999504199883328877919242515738957655253932048951366960802592343905647433925806e-02_RKB , 4.0083825504032382074839284467075646401410549266591308713115878386835777315058451955614116158949614066927183232852042e-02_RKB , 3.7116271483415543560330625367619875995997802688047764805628702762773009669395760582294525748583875707140577080663373e-02_RKB , 3.4002130274329337836748795229551203225670528250050443083264193121524339063344855010257660547708022429300203676502386e-02_RKB , 3.0792300167387488891109020215228585600877162393292487644544830559965388047996492709248618249084851477787538356572832e-02_RKB , 2.7475317587851737802948455517811078614796013288710603199613621069727810352835469926107822047433566792405123805901196e-02_RKB , 2.4009945606953216220092489164881081392931528209659330290734972342536012282191913069778658241972047765300060007037359e-02_RKB , 2.0435371145882835456568292235938973678758006097668937220074531550163622566841885855957623103354443247806459277197725e-02_RKB , 1.6847817709128298231516667536336315840402654624706139411175769276842182270078960078544597372646532637619276509222462e-02_RKB , 1.3236229195571674813656405846976238077578084997863654732213860488560614587634395544002156258192582265590155862296710e-02_RKB , 9.4739733861741516072077105236553238716453268483726334971394029603529306140359023187904705754719643032594360138998941e-03_RKB , 5.5619321353567137580402369010655220701769295496290984052961210793810038857581724171021610100708799763006942755331129e-03_RKB , 1.9873838923303159265078518828434098894299804282505973837653346298985629336820118753523093675303476883723992297810124e-03_RKB ]
A vector of type real of the highest-precision kind available by the processor, containing the weights of the 51-points Kronrod extension to the 25-points Gauss quadrature rule. More...

type(GK61_type), parameter GK61 = GK61_type()
The scalar constant object of type GK61_type that indicates the use of 30-point Gauss-Legendre quadrature with 61-point Kronrod extension formulae as the drivers in the (Adaptive) Global Gauss-Kronrod Quadrature of getQuadGK. More...

real(RKB), dimension(15), parameter nodeG30 = [ 5.1471842555317695833025213166722573749141453666569564255160843987964755210427109055870090707285485841217089963590678e-02_RKB , 1.5386991360858354696379467274325592041855197124433846171896298291578714851081610139692310651074078557990111754952062e-01_RKB , 2.5463692616788984643980512981780510788278930330251842616428597508896353156907880290636628138423620257595521678255758e-01_RKB , 3.5270472553087811347103720708937386065363100802142562659418446890026941623319107866436039675211352945165817827083104e-01_RKB , 4.4703376953808917678060990032285400016240759386142440975447738172761535172858420700400688872124189834257262048739699e-01_RKB , 5.3662414814201989926416979331107279416417800693029710545274348291201490861897837863114116009718990258091585830703557e-01_RKB , 6.2052618298924286114047755643118929920736469282952813259505117012433531497488911774115258445532782106478789996137481e-01_RKB , 6.9785049479331579693229238802664006838235380065395465637972284673997672124315996069538163644008904690545069439941341e-01_RKB , 7.6777743210482619491797734097450313169488361723290845320649438736515857017299504505260960258623968420224697596501719e-01_RKB , 8.2956576238276839744289811973250191643906869617034167880695298345365650658958163508295244350814016004371545455777732e-01_RKB , 8.8256053579205268154311646253022559005668914714648423206832605312161626269519165572921583828573210485349058106849548e-01_RKB , 9.2620004742927432587932427708047400408647453682532906091103713367942299565110232681677288015055886244486106298320068e-01_RKB , 9.6002186496830751221687102558179766293035921740392339948566167242493995770706842922718944370380002378239172677454384e-01_RKB , 9.8366812327974720997003258160566280194031785470971136351718001015114429536479104370207597166035471368057762560137209e-01_RKB , 9.9689348407464954027163005091869528334088203811775079010809429780238769521016374081588201955806171741257405095963817e-01_RKB ]
A vector of type real of the highest-precision kind available by the processor, containing the abscissas of the 30-points Gauss quadrature rule. More...

real(RKB), dimension(15), parameter weightG30 = [ 1.0285265289355884034128563670541504386837555706492822258631898667601623865660942939262884632188870916503815852709086e-01_RKB , 1.0176238974840550459642895216855404463270628948712684086426094541964251360531767494547599781978391198881693385887696e-01_RKB , 9.9593420586795267062780282103569476529869263666704277221365146183946660389908809018092299289324184705373523229592037e-02_RKB , 9.6368737174644259639468626351809865096406461430160245912994275732837534742003123724951247818104195363343093583583429e-02_RKB , 9.2122522237786128717632707087618767196913234418234107527675047001973047070094168298464052916811907158954949394100501e-02_RKB , 8.6899787201082979802387530715125702576753328743545344012222129882153582254261494247955033509639105330215477601953921e-02_RKB , 8.0755895229420215354694938460529730875892803708439299890258593706051180567026345604212402769217808080749416147400962e-02_RKB , 7.3755974737705206268243850022190734153770526037049438941269182374599399314635211710401352716638183270192254236882630e-02_RKB , 6.5974229882180495128128515115962361237442953656660378967031516042143672466094179365819913911598737439478205808271237e-02_RKB , 5.7493156217619066481721689402056128797120670721763134548715799003232147409954376925211999650950125355559974348279846e-02_RKB , 4.8402672830594052902938140422807517815271809197372736345191936791805425677102152797767439563562263454374645955072007e-02_RKB , 3.8799192569627049596801936446347692033200976766395352107732789705946970952769793919055026279035105656340228558382274e-02_RKB , 2.8784707883323369349719179611292043639588894546287496474180122608145988940013933101730206711484171554940392262251283e-02_RKB , 1.8466468311090959142302131912047269096206533968181403371298365514585599521307973654080519029675417955638095832046164e-02_RKB , 7.9681924961666056154658834746736224504806965871517212294851633569200384329013332941536616922861735209846506562158817e-03_RKB ]
A vector of type real of the highest-precision kind available by the processor, containing the weights of the 30-points Gauss quadrature rule. More...

real(RKB), dimension(31), parameter nodeK61 = [ 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+00_RKB , 5.1471842555317695833025213166722573749141453666569564255160843987964755210427109055870090707285485841217089963590678e-02_RKB , 1.0280693796673703014709675131800059247190133296515840552101946914632788253917872738234797140786490207720254922664913e-01_RKB , 1.5386991360858354696379467274325592041855197124433846171896298291578714851081610139692310651074078557990111754952062e-01_RKB , 2.0452511668230989143895767100202470952410426459556377447604465028350321894663245495592565235317147819577892124850607e-01_RKB , 2.5463692616788984643980512981780510788278930330251842616428597508896353156907880290636628138423620257595521678255758e-01_RKB , 3.0407320227362507737267710719925655353115778980946272844421536998312150442387767304001423699909778588529370119457430e-01_RKB , 3.5270472553087811347103720708937386065363100802142562659418446890026941623319107866436039675211352945165817827083104e-01_RKB , 4.0040125483039439253547621154266063361104593297078395983186610656429170689311759061175527015710247383961903284673474e-01_RKB , 4.4703376953808917678060990032285400016240759386142440975447738172761535172858420700400688872124189834257262048739699e-01_RKB , 4.9248046786177857499369306120770879564426564096318697026073340982988422546396352776837047452262025983265531109327026e-01_RKB , 5.3662414814201989926416979331107279416417800693029710545274348291201490861897837863114116009718990258091585830703557e-01_RKB , 5.7934523582636169175602493217254049590705158881215289208126016612312833567812241903809970751783808208940322061083509e-01_RKB , 6.2052618298924286114047755643118929920736469282952813259505117012433531497488911774115258445532782106478789996137481e-01_RKB , 6.6006106412662696137005366814927075303835037480883390955067197339904937499734522076788020517029688190998858739703079e-01_RKB , 6.9785049479331579693229238802664006838235380065395465637972284673997672124315996069538163644008904690545069439941341e-01_RKB , 7.3379006245322680472617113136952764566938172775468549208701399518300016463613325382024664531597318795933262446521430e-01_RKB , 7.6777743210482619491797734097450313169488361723290845320649438736515857017299504505260960258623968420224697596501719e-01_RKB , 7.9972783582183908301366894232268324073569842937778450923647349548686662567326007229195202524185356472023967927713548e-01_RKB , 8.2956576238276839744289811973250191643906869617034167880695298345365650658958163508295244350814016004371545455777732e-01_RKB , 8.5720523354606109895865851065894385682080017062359612850504551739119887225712932688031120704657195642614071367390794e-01_RKB , 8.8256053579205268154311646253022559005668914714648423206832605312161626269519165572921583828573210485349058106849548e-01_RKB , 9.0557330769990779854652255892595831956897536366222841356404766397803760239449631913585074426842574155323901785046522e-01_RKB , 9.2620004742927432587932427708047400408647453682532906091103713367942299565110232681677288015055886244486106298320068e-01_RKB , 9.4437444474855997941583132403743912158564371496498093181748940139520917000657342753448871376849848523800667868447591e-01_RKB , 9.6002186496830751221687102558179766293035921740392339948566167242493995770706842922718944370380002378239172677454384e-01_RKB , 9.7311632250112626837469386842370688488763796428343933853755850185624118958166838288308561708261486365954975485787212e-01_RKB , 9.8366812327974720997003258160566280194031785470971136351718001015114429536479104370207597166035471368057762560137209e-01_RKB , 9.9163099687040459485862836610948572485050033374616325510019923349807489603260796605556191495843575227494654783755353e-01_RKB , 9.9689348407464954027163005091869528334088203811775079010809429780238769521016374081588201955806171741257405095963817e-01_RKB , 9.9948441005049063757132589570581081946887394701850801923632642830748016674843587830656468823145435723317885056396548e-01_RKB ]
A vector of type real of the highest-precision kind available by the processor, containing the abscissas of the 61-points Kronrod extension to the 30-points Gauss quadrature rule. More...

real(RKB), dimension(31), parameter weightK61 = [ 5.1494729429451567558340433647099307532736880396464168074637323362474083844397567724480716864880173808112573901197920e-02_RKB , 5.1426128537459025933862879215781259829552034862395987263855824172761589259406892072066110681184224608133314131500422e-02_RKB , 5.1221547849258772170656282604944208251146952425246327553509056805511015401279553971190412722969308620984161625812560e-02_RKB , 5.0881795898749606492297473049804691853384914260919239920771942080972542646780575571132056254070929858650733836163479e-02_RKB , 5.0405921402782346840893085653585028902197018251622233664243959211066713308635283713447747907973700791599900911248852e-02_RKB , 4.9795683427074206357811569379942328539209602813696108951047392842948482646220377655098341924089250200477846596263918e-02_RKB , 4.9055434555029778887528165367238173605887405295296569579490717901328215644590555247522873065246297467067324397612445e-02_RKB , 4.8185861757087129140779492298304592605799236108429800057373350872433793583969368428942672063270298939865425225579922e-02_RKB , 4.7185546569299153945261478181099486482884807300628457194141861551725533289490897029020276525603515502104799540544222e-02_RKB , 4.6059238271006988116271735559373580594692875571824924004732379492293604006446052672252973438978639166425766841417488e-02_RKB , 4.4814800133162663192355551616723243757431392796373009889680201194063503947907899189061064792111919040540351834527742e-02_RKB , 4.3452539701356069316831728117073258074603308631703168064888805495738640839573863333942084117196541456054957383622173e-02_RKB , 4.1969810215164246147147541285969757790088656718992374820388720323852655511200365790379948462006156953358103259681948e-02_RKB , 4.0374538951535959111995279752468114216126062126030255633998289613810846761059740961836828802959573901107306640876603e-02_RKB , 3.8678945624727592950348651532281050250923629821553846790376130679337402056620700554139109487533759557982632153728099e-02_RKB , 3.6882364651821229223911065617135967736955164781030337670005198584196134970154169862584193360751243227989492571664973e-02_RKB , 3.4979338028060024137499670731467875097226912794818719972208457232177786702008744219498470603846784465175225933802357e-02_RKB , 3.2981447057483726031814191016853927510599291213858385714519347641452316582381008804994515341969205985818543200837577e-02_RKB , 3.0907257562387762472884252943092272635270458523807153426840486964022086189874056947717446328187131273807982629114591e-02_RKB , 2.8754048765041292843978785354334211144679160542074930035102280759132174815469834227854660515366003136772757344886331e-02_RKB , 2.6509954882333101610601709335075414366517579522748565770867438338472138903658077617652522759934474895733739329287706e-02_RKB , 2.4191162078080601365686370725232026760391377828182462432228943562944885267501070688006470962871743661192935455117297e-02_RKB , 2.1828035821609192297167485738338993401507296056834912773630422358720439403382559079356058602393879803560534375378340e-02_RKB , 1.9414141193942381173408951050128455851421014191431525770276066536497179079025540486072726114628763606440143557769099e-02_RKB , 1.6920889189053272627572289420322092368566703783835191139883410840546679978551861043620089451681146020853650713611444e-02_RKB , 1.4369729507045804812451432443580010195841899895001505873565899403000198662495821906144274682894222591414503342336172e-02_RKB , 1.1823015253496341742232898853250592896264406250607818326302431548265365155855182739401700032519141448997853772603766e-02_RKB , 9.2732796595177634284411468920243604212700249381931076964956469143626665557434385492325784596343112153704094886248672e-03_RKB , 6.6307039159312921733198263697501681336283882177812585973955597357837568277731921327731815844512598157843672104469554e-03_RKB , 3.8904611270998840512672018445155032785151429848864649214200101281144733676455451061226273655941038347210163533085954e-03_RKB , 1.3890136986770076245515912267596996810488412919632724534411055332301367130989865366956251556423820479579333920310978e-03_RKB ]
A vector of type real of the highest-precision kind available by the processor, containing the weights of the 61-points Kronrod extension to the 30-points Gauss quadrature rule. More...

integer(IK), parameter MAXLEN_EPSTAB = 50_IK
The scalar integer of default kind IK, containing the maximum size of the Table of Epsilon algorithm. More...

type(weps_type), parameter weps = weps_type()
The scalar constant object of type weps_type that indicates the use of Epsilon extrapolation method of Wynn (1961) to accelerate the convergence of integrations of functions with integrable singularities and infinities using the (Adaptive) Global Gauss-Kronrod Quadrature of getQuadErr. More...

## Detailed Description

This module contains classes and procedures for non-adaptive and adaptive global numerical quadrature and Cauchy Principal Value of 1D functions with various types of singularities and points of difficulties via the Gauss-Kronrod and Clenshaw-Curtis quadrature formulae.

The algorithms of this module significantly extend the original routines of the venerable QuadPack library in FORTRAN77.

## Usage guidelines

Question
Is there a hassle-free simple nimble reliable numerical integrator that I can use as the first try?
YES, as described below.

1. The generic interface isFailedQuad offers simple highly flexible set of routines for globally adaptive numerical integration of arbitrary 1D functions with varying degrees of difficulties (including Cauchy-type singularities) within the domain of integration.
The procedures of this generic interface rely on a fixed Gauss-Kronrod quadrature rule (10-12) to carry out the integration.
2. If you need specific or custom Gauss-Kronrod quadrature rules other than the default offered by isFailedQuad or if the integration is going to be carried out many many times throughout the program (making absolute performance and thrifty memory management critical), use the less flexible but more performant interface getQuadErr.
3. If you prefer to compute the integral by a fixed Gauss-Kronrod quadrature rule without any error estimates, or with estimating error by applying progressively higher order Gauss-Kronrod quadrature rules, then use the procedures under the generic interface getQuadGK.
In this case, any error estimate for the integration must be obtained manually by the user by computing the integral via progressively higher order Gauss-Kronrod quadrature rules until the desired accuracy is achieved.

## Background

Gaussian Quadrature is an approximation of the definite integral of a function, usually stated as a weighted sum of function values at specified points within the integration domain.
An $$n$$-point Gaussian quadrature rule, named after Carl Friedrich Gauss, is a quadrature rule constructed to yield an exact result for polynomials of degree $$2n − 1$$ or less by a suitable choice of the nodes $$x_i$$ and weights $$w_i$$ for $$i = \{1, \ldots, n\}$$.
The modern formulation using orthogonal polynomials was developed by Carl Gustav Jacobi in 1826.
The most common domain of integration for such a rule is taken as $$[−1, 1]$$, so the rule is stated as

$$\large \int_{-1}^{+1} f(x) \mathrm{d}x \approx \sum_{i = 1}^{n} w_i f(x_i) ~,$$

which is exact for a polynomial of degree $$2n − 1$$ or less. This exact rule is known as the Gauss-Legendre quadrature rule.
The integration of polynomials is trivial and is rarely done via numerical methods.
However, transcendental and numerically defined functions are frequently integrated via Gaussian quadrature, and the defining problem becomes how to estimate the remainder.
The Gauss-Legendre quadrature rule will only be an accurate approximation to the integral above if $$f(x)$$ is well-approximated by a polynomial of degree $$2n − 1$$ or less on $$[−1, 1]$$.
The Gauss-Legendre quadrature rule is typically not used for integrable functions with endpoint singularities.
The key to the Gaussian quadrature is the derivation of the nodes and weights for which established formulae exist (e.g., setNodeWeightGK).
It is possible to compute a Gaussian quadrature of order $$n$$ and another of order (e.g., $$2n+1$$) and use the difference as an error estimate.
However, this is not optimal, as the zeros of the Legendre polynomials (i.e., the nodes of Gaussian quadrature) are never the same for different orders.
This requires $$3n + 1$$ function evaluations to be performed.

The error estimation challenge mentioned above limits the direct application of the Gauss-Legendre quadrature to integration problems.
Higher order Gauss-Legendre quadrature (corresponding to higher numbers of nodes and weights) does not necessarily overlap with the lower-order nodes.
This means that the lower-order calculations of $$f(x)$$ cannot be used in subsequent higher-order Gauss-Legendre quadrature, which has two consequences,

1. difficulty in estimating the integration error,
2. wasting of computational power due to non-overlapping of the lower and higher order Gauss-Legendre quadrature.

The Gauss-Kronrod quadrature is an extension of Gaussian quadrature, enabling the use of lower-order nodes and computations in higher-order quadrature.
Kronrod (1964) considered the problem of how to interleave nodes into a Gauss-Legendre quadrature in such a way that all previous function evaluations can be reused, while increasing the order of polynomials that can be integrated exactly.
Kronrod discovered that one could integrate polynomials of degree $$3n + 1$$ by adding $$n + 1$$ nodes (computed from the zeros of the Legendre-Stieltjes polynomials) to a Gaussian quadrature of order $$n$$.
Later, Patterson (1968, 1969) showed how to compute continued extensions of this kind (e.g., setNodeWeightGK).
This allows an a posteriori error estimate to be provided while still preserving exponential convergence.
This error estimate is, however, frequently pessimistic. This is particularly true when the estimated error is smaller than $$1.25 \times 10^{-6}$$ meaning that the integration result is generally much more accurate than what is understood from the error estimate.

The Clenshaw-Curtis quadrature (Clenshaw and Curtis (1960)) handles the numerical computation of the integral of a function $$f(x)$$ over a finite interval, with weight function $$w = 1$$.
The idea of Clenshaw-Curtis integration is to approximate $$f(x)$$ by a truncated Chebyshev polynomials expansion, which can be integrated exactly.

For functions with a slowly convergent Chebyshev series expansion, use of the Clenshaw-Curtis method is not advisable.
However, there is a possibility to retain the advantage of the computational ease of the Clenshaw-Curtis method while extending its practical applicability to functions with slowly convergent Chebyshev expansions.
This is accomplished by transferring the difficult part of the integrand, which causes the slow rate of convergence of the Chebyshev series (e.g. a rapidly varying factor), into a weight function.
Even certain singular weight functions, becoming infinite somewhere in the integration interval, can be treated successfully by this technique.
This is makes the Clenshaw-Curtis quadrature rules particularly suitable for computing the Cauchy Principal Value of arbitrary functions when combined with the Gauss-Kronrod rules.

Robert Piessens et al., 1983, QuadPack: A Subroutine Package for Automatic Integration
Laurie, 1997, Calculation of gauss-kronrod quadrature rules.
Kronrod, 1965, Nodes and weights of quadrature formulas.
Numerical Recipes in Fortran by Press et al., 1992, p. 154
QuadPack2: A modernization of the original venerable QuadPack library by Jacob Williams
QuadPack FORTRAN77 and Fortran90 version by John Burkardt
QuadPack by the GNU Scientific Library
Warning
The predefined Gauss-Kronrod rules of this modules are accurate up to 100 significant digits.
While this is likely more than enough precision for the next few decades, reaching this precision limit is unavoidable.
To avoid potential loss of precision and inaccurate integrations, the procedures of this library contain a runtime check to ensure the requested integration precision is within the limits of the precision of the constants of this library.
Note that this limitation only exists with predefined Gauss-Kronrod rules of this library.
The generic interface setNodeWeightGK can be always used at any distant future, for example, the year one million and a half, to compute the Gauss-Kronrod rules for subsequent usage by the integrators of this module.
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

## ◆ GK15

The scalar constant object of type GK15_type that indicates the use of 7-point Gauss-Legendre quadrature with 15-point Kronrod extension formulae as the drivers in the (Adaptive) Global Gauss-Kronrod Quadrature of getQuadGK.

GK15
GK21
GK31
GK41
GK51
GK61

Example usage

1program example
2
3 use pm_kind, only: SK, IK, RK => RKH ! All other real kinds are also supported.
7 use pm_distNorm, only: getNormCDF
8 use pm_io, only: display_type
9 use pm_val2str, only: getStr
10
11 implicit none
12
13 integer(IK) , parameter :: NINTMAX = 1000_IK
14 real(RK) , parameter :: ABSTOL = 0._RK, RELTOL = epsilon(0._RK) * 10000
15 real(RK) :: lb, ub, truth, integral, abserr, sinfo(4, NINTMAX)
16 integer(IK) :: err, neval, nint, sindex(NINTMAX)
17
18 type(display_type) :: disp
19 disp = display_type(file = "main.out.F90")
20
21 call disp%skip()
22 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
23 call disp%show("! Compute the Gauss-Kronrod quadrature of the probability density function of the Standard Normal distribution.")
24 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
25 call disp%skip()
26
27 call disp%skip()
28 call disp%show("[ABSTOL, RELTOL]")
29 call disp%show( [ABSTOL, RELTOL] )
30 call disp%show("lb = -100._RK; ub = +100._RK")
31 lb = -100._RK; ub = +100._RK
32 call disp%show("err = getQuadErr(getNormPDF, lb, ub, ABSTOL, RELTOL, GK15, integral, abserr, sinfo, sindex, neval, nint)")
33 err = getQuadErr(getNormPDF, lb, ub, ABSTOL, RELTOL, GK15, integral, abserr, sinfo, sindex, neval, nint)
34 call disp%show("if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)")
35 if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)
36 call disp%show("truth = getNormCDF(ub) - getNormCDF(lb)")
37 truth = getNormCDF(ub) - getNormCDF(lb)
38 call disp%show("[truth, integral, abserr, abs(integral - truth) / truth]")
39 call disp%show( [truth, integral, abserr, abs(integral - truth) / truth] )
40 call disp%show("[neval, nint]")
41 call disp%show( [neval, nint] )
42 call disp%skip()
43
44 call disp%skip()
45 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
46 call disp%show("! Compute the Gauss-Kronrod quadrature of the probability density function of the Standard LogNormal distribution.")
47 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
48 call disp%skip()
49
50 call disp%skip()
51 call disp%show("[ABSTOL, RELTOL]")
52 call disp%show( [ABSTOL, RELTOL] )
53 call disp%show("lb = exp(-10._RK); ub = exp(+10._RK)")
54 lb = exp(-10._RK); ub = exp(+10._RK)
55 call disp%show("err = getQuadErr(getLogNormPDF, lb, ub, ABSTOL, RELTOL, GK15, integral, abserr, sinfo, sindex, neval, nint)")
56 err = getQuadErr(getLogNormPDF, lb, ub, ABSTOL, RELTOL, GK15, integral, abserr, sinfo, sindex, neval, nint)
57 call disp%show("if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)")
58 if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)
59 call disp%show("truth = getLogNormCDF(ub) - getLogNormCDF(lb)")
60 truth = getLogNormCDF(ub) - getLogNormCDF(lb)
61 call disp%show("[truth, integral, abserr, abs(integral - truth) / truth]")
62 call disp%show( [truth, integral, abserr, abs(integral - truth) / truth] )
63 call disp%show("[neval, nint]")
64 call disp%show( [neval, nint] )
65 call disp%skip()
66
67contains
68
69 function getIntSinCos(x) result(integrand)
70 real(RK) , intent(in) :: x
71 real(RK) :: integrand
72 integrand = cos(100._RK * sin(x))
73 end function
74
75 function getNormPDF(x) result(pdf)
76 use pm_distNorm, only: getNormLogPDF
77 real(RK) , intent(in) :: x
78 real(RK) :: pdf
79 pdf = exp(getNormLogPDF(x))
80 end function
81
82 function getLogNormPDF(x) result(pdf)
84 real(RK) , intent(in) :: x
85 real(RK) :: pdf
86 pdf = exp(getLogNormLogPDF(x))
87 end function
88
89end program example
Generate and return the Cumulative Distribution Function (CDF) of the univariate Lognormal distributi...
Generate the natural logarithm of probability density function (PDF) of the univariate Lognormal dist...
Generate and return the Cumulative Distribution Function (CDF) of the univariate Normal distribution.
Generate the natural logarithm of probability density function (PDF) of the univariate Normal distrib...
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
Generate and return the conversion of the input value to an output Fortran string,...
Definition: pm_val2str.F90:167
This module contains classes and procedures for computing various statistical quantities related to t...
This module contains classes and procedures for computing various statistical quantities related to t...
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 RK
The default real kind in the ParaMonte library: real64 in Fortran, c_double in C-Fortran Interoperati...
Definition: pm_kind.F90:543
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 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
This module contains the generic procedures for converting values of different types and kinds to For...
Definition: pm_val2str.F90:58
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! Compute the Gauss-Kronrod quadrature of the probability density function of the Standard Normal distribution.
4!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5
6
7[ABSTOL, RELTOL]
8+0.00000000000000000000000000000000000, +0.192592994438723585305597794258492732E-29
9lb = -100._RK; ub = +100._RK
10err = getQuadErr(getNormPDF, lb, ub, ABSTOL, RELTOL, GK15, integral, abserr, sinfo, sindex, neval, nint)
11if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)
12truth = getNormCDF(ub) - getNormCDF(lb)
13[truth, integral, abserr, abs(integral - truth) / truth]
14+1.00000000000000000000000000000000000, +1.00000000000000000000000000000000058, +0.126243908273437760430122108890983914E-29, +0.577778983316170755916793382775478196E-33
15[neval, nint]
16+3045, +102
17
18
19!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
20! Compute the Gauss-Kronrod quadrature of the probability density function of the Standard LogNormal distribution.
21!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
22
23
24[ABSTOL, RELTOL]
25+0.00000000000000000000000000000000000, +0.192592994438723585305597794258492732E-29
26lb = exp(-10._RK); ub = exp(+10._RK)
27err = getQuadErr(getLogNormPDF, lb, ub, ABSTOL, RELTOL, GK15, integral, abserr, sinfo, sindex, neval, nint)
28if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)
29truth = getLogNormCDF(ub) - getLogNormCDF(lb)
30[truth, integral, abserr, abs(integral - truth) / truth]
31+0.999999999999999999999984760293951620, +0.999999999999999999999984760293951620, +0.171837883026308929997024824916099746E-29, +0.00000000000000000000000000000000000
32[neval, nint]
33+5265, +176
34
35
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 674 of file pm_quadPack.F90.

## ◆ GK21

The scalar constant object of type GK21_type that indicates the use of 10-point Gauss-Legendre quadrature with 21-point Kronrod extension formulae as the drivers in the (Adaptive) Global Gauss-Kronrod Quadrature of getQuadGK.

GK15
GK21
GK31
GK41
GK51
GK61

Example usage

1program example
2
3 use pm_kind, only: SK, IK, RK => RKH ! All other real kinds are also supported.
7 use pm_distNorm, only: getNormCDF
8 use pm_io, only: display_type
9 use pm_val2str, only: getStr
10
11 implicit none
12
13 integer(IK) , parameter :: NINTMAX = 1000_IK
14 real(RK) , parameter :: ABSTOL = 0._RK, RELTOL = epsilon(0._RK) * 10000
15 real(RK) :: lb, ub, truth, integral, abserr, sinfo(4, NINTMAX)
16 integer(IK) :: err, neval, nint, sindex(NINTMAX)
17
18 type(display_type) :: disp
19 disp = display_type(file = "main.out.F90")
20
21 call disp%skip()
22 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
23 call disp%show("! Compute the Gauss-Kronrod quadrature of the probability density function of the Standard Normal distribution.")
24 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
25 call disp%skip()
26
27 call disp%skip()
28 call disp%show("[ABSTOL, RELTOL]")
29 call disp%show( [ABSTOL, RELTOL] )
30 call disp%show("lb = -100._RK; ub = +100._RK")
31 lb = -100._RK; ub = +100._RK
32 call disp%show("err = getQuadErr(getNormPDF, lb, ub, ABSTOL, RELTOL, GK21, integral, abserr, sinfo, sindex, neval, nint)")
33 err = getQuadErr(getNormPDF, lb, ub, ABSTOL, RELTOL, GK21, integral, abserr, sinfo, sindex, neval, nint)
34 call disp%show("if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)")
35 if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)
36 call disp%show("truth = getNormCDF(ub) - getNormCDF(lb)")
37 truth = getNormCDF(ub) - getNormCDF(lb)
38 call disp%show("[truth, integral, abserr, abs(integral - truth) / truth]")
39 call disp%show( [truth, integral, abserr, abs(integral - truth) / truth] )
40 call disp%show("[neval, nint]")
41 call disp%show( [neval, nint] )
42 call disp%skip()
43
44 call disp%skip()
45 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
46 call disp%show("! Compute the Gauss-Kronrod quadrature of the probability density function of the Standard LogNormal distribution.")
47 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
48 call disp%skip()
49
50 call disp%skip()
51 call disp%show("[ABSTOL, RELTOL]")
52 call disp%show( [ABSTOL, RELTOL] )
53 call disp%show("lb = exp(-10._RK); ub = exp(+10._RK)")
54 lb = exp(-10._RK); ub = exp(+10._RK)
55 call disp%show("err = getQuadErr(getLogNormPDF, lb, ub, ABSTOL, RELTOL, GK21, integral, abserr, sinfo, sindex, neval, nint)")
56 err = getQuadErr(getLogNormPDF, lb, ub, ABSTOL, RELTOL, GK21, integral, abserr, sinfo, sindex, neval, nint)
57 call disp%show("if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)")
58 if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)
59 call disp%show("truth = getLogNormCDF(ub) - getLogNormCDF(lb)")
60 truth = getLogNormCDF(ub) - getLogNormCDF(lb)
61 call disp%show("[truth, integral, abserr, abs(integral - truth) / truth]")
62 call disp%show( [truth, integral, abserr, abs(integral - truth) / truth] )
63 call disp%show("[neval, nint]")
64 call disp%show( [neval, nint] )
65 call disp%skip()
66
67contains
68
69 function getIntSinCos(x) result(integrand)
70 real(RK) , intent(in) :: x
71 real(RK) :: integrand
72 integrand = cos(100._RK * sin(x))
73 end function
74
75 function getNormPDF(x) result(pdf)
76 use pm_distNorm, only: getNormLogPDF
77 real(RK) , intent(in) :: x
78 real(RK) :: pdf
79 pdf = exp(getNormLogPDF(x))
80 end function
81
82 function getLogNormPDF(x) result(pdf)
84 real(RK) , intent(in) :: x
85 real(RK) :: pdf
86 pdf = exp(getLogNormLogPDF(x))
87 end function
88
89end program example

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! Compute the Gauss-Kronrod quadrature of the probability density function of the Standard Normal distribution.
4!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5
6
7[ABSTOL, RELTOL]
8+0.00000000000000000000000000000000000, +0.192592994438723585305597794258492732E-29
9lb = -100._RK; ub = +100._RK
10err = getQuadErr(getNormPDF, lb, ub, ABSTOL, RELTOL, GK21, integral, abserr, sinfo, sindex, neval, nint)
11if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)
12truth = getNormCDF(ub) - getNormCDF(lb)
13[truth, integral, abserr, abs(integral - truth) / truth]
14+1.00000000000000000000000000000000000, +1.00000000000000000000000000000000019, +0.262276156262406806657708612928982037E-30, +0.192592994438723585305597794258492732E-33
15[neval, nint]
16+1407, +34
17
18
19!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
20! Compute the Gauss-Kronrod quadrature of the probability density function of the Standard LogNormal distribution.
21!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
22
23
24[ABSTOL, RELTOL]
25+0.00000000000000000000000000000000000, +0.192592994438723585305597794258492732E-29
26lb = exp(-10._RK); ub = exp(+10._RK)
27err = getQuadErr(getLogNormPDF, lb, ub, ABSTOL, RELTOL, GK21, integral, abserr, sinfo, sindex, neval, nint)
28if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)
29truth = getLogNormCDF(ub) - getLogNormCDF(lb)
30[truth, integral, abserr, abs(integral - truth) / truth]
31+0.999999999999999999999984760293951620, +0.999999999999999999999984760293951523, +0.127824099023790442181797004580128358E-29, +0.962964972193617926528003646595574777E-34
32[neval, nint]
33+2667, +64
34
35
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 870 of file pm_quadPack.F90.

## ◆ GK31

The scalar constant object of type GK31_type that indicates the use of 15-point Gauss-Legendre quadrature with 31-point Kronrod extension formulae as the drivers in the (Adaptive) Global Gauss-Kronrod Quadrature of getQuadGK.

GK15
GK21
GK31
GK41
GK51
GK61

Example usage

1program example
2
3 use pm_kind, only: SK, IK, RK => RKH ! All other real kinds are also supported.
7 use pm_distNorm, only: getNormCDF
8 use pm_io, only: display_type
9 use pm_val2str, only: getStr
10
11 implicit none
12
13 integer(IK) , parameter :: NINTMAX = 1000_IK
14 real(RK) , parameter :: ABSTOL = 0._RK, RELTOL = epsilon(0._RK) * 10000
15 real(RK) :: lb, ub, truth, integral, abserr, sinfo(4, NINTMAX)
16 integer(IK) :: err, neval, nint, sindex(NINTMAX)
17
18 type(display_type) :: disp
19 disp = display_type(file = "main.out.F90")
20
21 call disp%skip()
22 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
23 call disp%show("! Compute the Gauss-Kronrod quadrature of the probability density function of the Standard Normal distribution.")
24 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
25 call disp%skip()
26
27 call disp%skip()
28 call disp%show("[ABSTOL, RELTOL]")
29 call disp%show( [ABSTOL, RELTOL] )
30 call disp%show("lb = -100._RK; ub = +100._RK")
31 lb = -100._RK; ub = +100._RK
32 call disp%show("err = getQuadErr(getNormPDF, lb, ub, ABSTOL, RELTOL, GK31, integral, abserr, sinfo, sindex, neval, nint)")
33 err = getQuadErr(getNormPDF, lb, ub, ABSTOL, RELTOL, GK31, integral, abserr, sinfo, sindex, neval, nint)
34 call disp%show("if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)")
35 if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)
36 call disp%show("truth = getNormCDF(ub) - getNormCDF(lb)")
37 truth = getNormCDF(ub) - getNormCDF(lb)
38 call disp%show("[truth, integral, abserr, abs(integral - truth) / truth]")
39 call disp%show( [truth, integral, abserr, abs(integral - truth) / truth] )
40 call disp%show("[neval, nint]")
41 call disp%show( [neval, nint] )
42 call disp%skip()
43
44 call disp%skip()
45 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
46 call disp%show("! Compute the Gauss-Kronrod quadrature of the probability density function of the Standard LogNormal distribution.")
47 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
48 call disp%skip()
49
50 call disp%skip()
51 call disp%show("[ABSTOL, RELTOL]")
52 call disp%show( [ABSTOL, RELTOL] )
53 call disp%show("lb = exp(-10._RK); ub = exp(+10._RK)")
54 lb = exp(-10._RK); ub = exp(+10._RK)
55 call disp%show("err = getQuadErr(getLogNormPDF, lb, ub, ABSTOL, RELTOL, GK31, integral, abserr, sinfo, sindex, neval, nint)")
56 err = getQuadErr(getLogNormPDF, lb, ub, ABSTOL, RELTOL, GK31, integral, abserr, sinfo, sindex, neval, nint)
57 call disp%show("if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)")
58 if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)
59 call disp%show("truth = getLogNormCDF(ub) - getLogNormCDF(lb)")
60 truth = getLogNormCDF(ub) - getLogNormCDF(lb)
61 call disp%show("[truth, integral, abserr, abs(integral - truth) / truth]")
62 call disp%show( [truth, integral, abserr, abs(integral - truth) / truth] )
63 call disp%show("[neval, nint]")
64 call disp%show( [neval, nint] )
65 call disp%skip()
66
67contains
68
69 function getIntSinCos(x) result(integrand)
70 real(RK) , intent(in) :: x
71 real(RK) :: integrand
72 integrand = cos(100._RK * sin(x))
73 end function
74
75 function getNormPDF(x) result(pdf)
76 use pm_distNorm, only: getNormLogPDF
77 real(RK) , intent(in) :: x
78 real(RK) :: pdf
79 pdf = exp(getNormLogPDF(x))
80 end function
81
82 function getLogNormPDF(x) result(pdf)
84 real(RK) , intent(in) :: x
85 real(RK) :: pdf
86 pdf = exp(getLogNormLogPDF(x))
87 end function
88
89end program example

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! Compute the Gauss-Kronrod quadrature of the probability density function of the Standard Normal distribution.
4!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5
6
7[ABSTOL, RELTOL]
8+0.00000000000000000000000000000000000, +0.192592994438723585305597794258492732E-29
9lb = -100._RK; ub = +100._RK
10err = getQuadErr(getNormPDF, lb, ub, ABSTOL, RELTOL, GK31, integral, abserr, sinfo, sindex, neval, nint)
11if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)
12truth = getNormCDF(ub) - getNormCDF(lb)
13[truth, integral, abserr, abs(integral - truth) / truth]
14+1.00000000000000000000000000000000000, +0.999999999999999999999999999999999904, +0.100334158891416618640107143596373284E-30, +0.962964972193617926527988971292463659E-34
15[neval, nint]
16+1085, +18
17
18
19!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
20! Compute the Gauss-Kronrod quadrature of the probability density function of the Standard LogNormal distribution.
21!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
22
23
24[ABSTOL, RELTOL]
25+0.00000000000000000000000000000000000, +0.192592994438723585305597794258492732E-29
26lb = exp(-10._RK); ub = exp(+10._RK)
27err = getQuadErr(getLogNormPDF, lb, ub, ABSTOL, RELTOL, GK31, integral, abserr, sinfo, sindex, neval, nint)
28if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)
29truth = getLogNormCDF(ub) - getLogNormCDF(lb)
30[truth, integral, abserr, abs(integral - truth) / truth]
31+0.999999999999999999999984760293951620, +0.999999999999999999999984760293951523, +0.133960404630915068164073338651159309E-29, +0.962964972193617926528003646595574777E-34
32[neval, nint]
33+1767, +29
34
35
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 1074 of file pm_quadPack.F90.

## ◆ GK41

The scalar constant object of type GK41_type that indicates the use of 20-point Gauss-Legendre quadrature with 41-point Kronrod extension formulae as the drivers in the (Adaptive) Global Gauss-Kronrod Quadrature of getQuadGK.

GK15
GK21
GK31
GK41
GK51
GK61

Example usage

1program example
2
3 use pm_kind, only: SK, IK, RK => RKH ! All other real kinds are also supported.
7 use pm_distNorm, only: getNormCDF
8 use pm_io, only: display_type
9 use pm_val2str, only: getStr
10
11 implicit none
12
13 integer(IK) , parameter :: NINTMAX = 1000_IK
14 real(RK) , parameter :: ABSTOL = 0._RK, RELTOL = epsilon(0._RK) * 10000
15 real(RK) :: lb, ub, truth, integral, abserr, sinfo(4, NINTMAX)
16 integer(IK) :: err, neval, nint, sindex(NINTMAX)
17
18 type(display_type) :: disp
19 disp = display_type(file = "main.out.F90")
20
21 call disp%skip()
22 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
23 call disp%show("! Compute the Gauss-Kronrod quadrature of the probability density function of the Standard Normal distribution.")
24 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
25 call disp%skip()
26
27 call disp%skip()
28 call disp%show("[ABSTOL, RELTOL]")
29 call disp%show( [ABSTOL, RELTOL] )
30 call disp%show("lb = -100._RK; ub = +100._RK")
31 lb = -100._RK; ub = +100._RK
32 call disp%show("err = getQuadErr(getNormPDF, lb, ub, ABSTOL, RELTOL, GK41, integral, abserr, sinfo, sindex, neval, nint)")
33 err = getQuadErr(getNormPDF, lb, ub, ABSTOL, RELTOL, GK41, integral, abserr, sinfo, sindex, neval, nint)
34 call disp%show("if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)")
35 if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)
36 call disp%show("truth = getNormCDF(ub) - getNormCDF(lb)")
37 truth = getNormCDF(ub) - getNormCDF(lb)
38 call disp%show("[truth, integral, abserr, abs(integral - truth) / truth]")
39 call disp%show( [truth, integral, abserr, abs(integral - truth) / truth] )
40 call disp%show("[neval, nint]")
41 call disp%show( [neval, nint] )
42 call disp%skip()
43
44 call disp%skip()
45 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
46 call disp%show("! Compute the Gauss-Kronrod quadrature of the probability density function of the Standard LogNormal distribution.")
47 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
48 call disp%skip()
49
50 call disp%skip()
51 call disp%show("[ABSTOL, RELTOL]")
52 call disp%show( [ABSTOL, RELTOL] )
53 call disp%show("lb = exp(-10._RK); ub = exp(+10._RK)")
54 lb = exp(-10._RK); ub = exp(+10._RK)
55 call disp%show("err = getQuadErr(getLogNormPDF, lb, ub, ABSTOL, RELTOL, GK41, integral, abserr, sinfo, sindex, neval, nint)")
56 err = getQuadErr(getLogNormPDF, lb, ub, ABSTOL, RELTOL, GK41, integral, abserr, sinfo, sindex, neval, nint)
57 call disp%show("if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)")
58 if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)
59 call disp%show("truth = getLogNormCDF(ub) - getLogNormCDF(lb)")
60 truth = getLogNormCDF(ub) - getLogNormCDF(lb)
61 call disp%show("[truth, integral, abserr, abs(integral - truth) / truth]")
62 call disp%show( [truth, integral, abserr, abs(integral - truth) / truth] )
63 call disp%show("[neval, nint]")
64 call disp%show( [neval, nint] )
65 call disp%skip()
66
67contains
68
69 function getIntSinCos(x) result(integrand)
70 real(RK) , intent(in) :: x
71 real(RK) :: integrand
72 integrand = cos(100._RK * sin(x))
73 end function
74
75 function getNormPDF(x) result(pdf)
76 use pm_distNorm, only: getNormLogPDF
77 real(RK) , intent(in) :: x
78 real(RK) :: pdf
79 pdf = exp(getNormLogPDF(x))
80 end function
81
82 function getLogNormPDF(x) result(pdf)
84 real(RK) , intent(in) :: x
85 real(RK) :: pdf
86 pdf = exp(getLogNormLogPDF(x))
87 end function
88
89end program example

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! Compute the Gauss-Kronrod quadrature of the probability density function of the Standard Normal distribution.
4!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5
6
7[ABSTOL, RELTOL]
8+0.00000000000000000000000000000000000, +0.192592994438723585305597794258492732E-29
9lb = -100._RK; ub = +100._RK
10err = getQuadErr(getNormPDF, lb, ub, ABSTOL, RELTOL, GK41, integral, abserr, sinfo, sindex, neval, nint)
11if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)
12truth = getNormCDF(ub) - getNormCDF(lb)
13[truth, integral, abserr, abs(integral - truth) / truth]
14+1.00000000000000000000000000000000000, +1.00000000000000000000000000000000019, +0.348826834552332163342274808104495182E-30, +0.192592994438723585305597794258492732E-33
15[neval, nint]
16+943, +12
17
18
19!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
20! Compute the Gauss-Kronrod quadrature of the probability density function of the Standard LogNormal distribution.
21!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
22
23
24[ABSTOL, RELTOL]
25+0.00000000000000000000000000000000000, +0.192592994438723585305597794258492732E-29
26lb = exp(-10._RK); ub = exp(+10._RK)
27err = getQuadErr(getLogNormPDF, lb, ub, ABSTOL, RELTOL, GK41, integral, abserr, sinfo, sindex, neval, nint)
28if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)
29truth = getLogNormCDF(ub) - getLogNormCDF(lb)
30[truth, integral, abserr, abs(integral - truth) / truth]
31+0.999999999999999999999984760293951620, +0.999999999999999999999984760293951620, +0.952513811497278733282817811682810727E-32, +0.00000000000000000000000000000000000
32[neval, nint]
33+2009, +25
34
35
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 1294 of file pm_quadPack.F90.

## ◆ GK51

The scalar constant object of type GK51_type that indicates the use of 25-point Gauss-Legendre quadrature with 51-point Kronrod extension formulae as the drivers in the (Adaptive) Global Gauss-Kronrod Quadrature of getQuadGK.

GK15
GK21
GK31
GK41
GK51
GK61

Example usage

1program example
2
3 use pm_kind, only: SK, IK, RK => RKH ! All other real kinds are also supported.
7 use pm_distNorm, only: getNormCDF
8 use pm_io, only: display_type
9 use pm_val2str, only: getStr
10
11 implicit none
12
13 integer(IK) , parameter :: NINTMAX = 1000_IK
14 real(RK) , parameter :: ABSTOL = 0._RK, RELTOL = epsilon(0._RK) * 10000
15 real(RK) :: lb, ub, truth, integral, abserr, sinfo(4, NINTMAX)
16 integer(IK) :: err, neval, nint, sindex(NINTMAX)
17
18 type(display_type) :: disp
19 disp = display_type(file = "main.out.F90")
20
21 call disp%skip()
22 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
23 call disp%show("! Compute the Gauss-Kronrod quadrature of the probability density function of the Standard Normal distribution.")
24 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
25 call disp%skip()
26
27 call disp%skip()
28 call disp%show("[ABSTOL, RELTOL]")
29 call disp%show( [ABSTOL, RELTOL] )
30 call disp%show("lb = -100._RK; ub = +100._RK")
31 lb = -100._RK; ub = +100._RK
32 call disp%show("err = getQuadErr(getNormPDF, lb, ub, ABSTOL, RELTOL, GK51, integral, abserr, sinfo, sindex, neval, nint)")
33 err = getQuadErr(getNormPDF, lb, ub, ABSTOL, RELTOL, GK51, integral, abserr, sinfo, sindex, neval, nint)
34 call disp%show("if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)")
35 if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)
36 call disp%show("truth = getNormCDF(ub) - getNormCDF(lb)")
37 truth = getNormCDF(ub) - getNormCDF(lb)
38 call disp%show("[truth, integral, abserr, abs(integral - truth) / truth]")
39 call disp%show( [truth, integral, abserr, abs(integral - truth) / truth] )
40 call disp%show("[neval, nint]")
41 call disp%show( [neval, nint] )
42 call disp%skip()
43
44 call disp%skip()
45 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
46 call disp%show("! Compute the Gauss-Kronrod quadrature of the probability density function of the Standard LogNormal distribution.")
47 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
48 call disp%skip()
49
50 call disp%skip()
51 call disp%show("[ABSTOL, RELTOL]")
52 call disp%show( [ABSTOL, RELTOL] )
53 call disp%show("lb = exp(-10._RK); ub = exp(+10._RK)")
54 lb = exp(-10._RK); ub = exp(+10._RK)
55 call disp%show("err = getQuadErr(getLogNormPDF, lb, ub, ABSTOL, RELTOL, GK51, integral, abserr, sinfo, sindex, neval, nint)")
56 err = getQuadErr(getLogNormPDF, lb, ub, ABSTOL, RELTOL, GK51, integral, abserr, sinfo, sindex, neval, nint)
57 call disp%show("if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)")
58 if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)
59 call disp%show("truth = getLogNormCDF(ub) - getLogNormCDF(lb)")
60 truth = getLogNormCDF(ub) - getLogNormCDF(lb)
61 call disp%show("[truth, integral, abserr, abs(integral - truth) / truth]")
62 call disp%show( [truth, integral, abserr, abs(integral - truth) / truth] )
63 call disp%show("[neval, nint]")
64 call disp%show( [neval, nint] )
65 call disp%skip()
66
67contains
68
69 function getIntSinCos(x) result(integrand)
70 real(RK) , intent(in) :: x
71 real(RK) :: integrand
72 integrand = cos(100._RK * sin(x))
73 end function
74
75 function getNormPDF(x) result(pdf)
76 use pm_distNorm, only: getNormLogPDF
77 real(RK) , intent(in) :: x
78 real(RK) :: pdf
79 pdf = exp(getNormLogPDF(x))
80 end function
81
82 function getLogNormPDF(x) result(pdf)
84 real(RK) , intent(in) :: x
85 real(RK) :: pdf
86 pdf = exp(getLogNormLogPDF(x))
87 end function
88
89end program example

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! Compute the Gauss-Kronrod quadrature of the probability density function of the Standard Normal distribution.
4!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5
6
7[ABSTOL, RELTOL]
8+0.00000000000000000000000000000000000, +0.192592994438723585305597794258492732E-29
9lb = -100._RK; ub = +100._RK
10err = getQuadErr(getNormPDF, lb, ub, ABSTOL, RELTOL, GK51, integral, abserr, sinfo, sindex, neval, nint)
11if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)
12truth = getNormCDF(ub) - getNormCDF(lb)
13[truth, integral, abserr, abs(integral - truth) / truth]
14+1.00000000000000000000000000000000000, +1.00000000000000000000000000000000000, +0.951479733787516520127962898824318963E-32, +0.00000000000000000000000000000000000
15[neval, nint]
16+969, +10
17
18
19!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
20! Compute the Gauss-Kronrod quadrature of the probability density function of the Standard LogNormal distribution.
21!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
22
23
24[ABSTOL, RELTOL]
25+0.00000000000000000000000000000000000, +0.192592994438723585305597794258492732E-29
26lb = exp(-10._RK); ub = exp(+10._RK)
27err = getQuadErr(getLogNormPDF, lb, ub, ABSTOL, RELTOL, GK51, integral, abserr, sinfo, sindex, neval, nint)
28if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)
29truth = getLogNormCDF(ub) - getLogNormCDF(lb)
30[truth, integral, abserr, abs(integral - truth) / truth]
31+0.999999999999999999999984760293951620, +0.999999999999999999999984760293951716, +0.106372616295217614419595386435385644E-31, +0.962964972193617926528003646595574777E-34
32[neval, nint]
33+2397, +24
34
35
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 1528 of file pm_quadPack.F90.

## ◆ GK61

The scalar constant object of type GK61_type that indicates the use of 30-point Gauss-Legendre quadrature with 61-point Kronrod extension formulae as the drivers in the (Adaptive) Global Gauss-Kronrod Quadrature of getQuadGK.

GK15
GK21
GK31
GK41
GK51
GK61

Example usage

1program example
2
3 use pm_kind, only: SK, IK, RK => RKH ! All other real kinds are also supported.
7 use pm_distNorm, only: getNormCDF
8 use pm_io, only: display_type
9 use pm_val2str, only: getStr
10
11 implicit none
12
13 integer(IK) , parameter :: NINTMAX = 1000_IK
14 real(RK) , parameter :: ABSTOL = 0._RK, RELTOL = epsilon(0._RK) * 10000
15 real(RK) :: lb, ub, truth, integral, abserr, sinfo(4, NINTMAX)
16 integer(IK) :: err, neval, nint, sindex(NINTMAX)
17
18 type(display_type) :: disp
19 disp = display_type(file = "main.out.F90")
20
21 call disp%skip()
22 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
23 call disp%show("! Compute the Gauss-Kronrod quadrature of the probability density function of the Standard Normal distribution.")
24 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
25 call disp%skip()
26
27 call disp%skip()
28 call disp%show("[ABSTOL, RELTOL]")
29 call disp%show( [ABSTOL, RELTOL] )
30 call disp%show("lb = -100._RK; ub = +100._RK")
31 lb = -100._RK; ub = +100._RK
32 call disp%show("err = getQuadErr(getNormPDF, lb, ub, ABSTOL, RELTOL, GK61, integral, abserr, sinfo, sindex, neval, nint)")
33 err = getQuadErr(getNormPDF, lb, ub, ABSTOL, RELTOL, GK61, integral, abserr, sinfo, sindex, neval, nint)
34 call disp%show("if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)")
35 if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)
36 call disp%show("truth = getNormCDF(ub) - getNormCDF(lb)")
37 truth = getNormCDF(ub) - getNormCDF(lb)
38 call disp%show("[truth, integral, abserr, abs(integral - truth) / truth]")
39 call disp%show( [truth, integral, abserr, abs(integral - truth) / truth] )
40 call disp%show("[neval, nint]")
41 call disp%show( [neval, nint] )
42 call disp%skip()
43
44 call disp%skip()
45 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
46 call disp%show("! Compute the Gauss-Kronrod quadrature of the probability density function of the Standard LogNormal distribution.")
47 call disp%show("!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%")
48 call disp%skip()
49
50 call disp%skip()
51 call disp%show("[ABSTOL, RELTOL]")
52 call disp%show( [ABSTOL, RELTOL] )
53 call disp%show("lb = exp(-10._RK); ub = exp(+10._RK)")
54 lb = exp(-10._RK); ub = exp(+10._RK)
55 call disp%show("err = getQuadErr(getLogNormPDF, lb, ub, ABSTOL, RELTOL, GK61, integral, abserr, sinfo, sindex, neval, nint)")
56 err = getQuadErr(getLogNormPDF, lb, ub, ABSTOL, RELTOL, GK61, integral, abserr, sinfo, sindex, neval, nint)
57 call disp%show("if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)")
58 if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)
59 call disp%show("truth = getLogNormCDF(ub) - getLogNormCDF(lb)")
60 truth = getLogNormCDF(ub) - getLogNormCDF(lb)
61 call disp%show("[truth, integral, abserr, abs(integral - truth) / truth]")
62 call disp%show( [truth, integral, abserr, abs(integral - truth) / truth] )
63 call disp%show("[neval, nint]")
64 call disp%show( [neval, nint] )
65 call disp%skip()
66
67contains
68
69 function getIntSinCos(x) result(integrand)
70 real(RK) , intent(in) :: x
71 real(RK) :: integrand
72 integrand = cos(100._RK * sin(x))
73 end function
74
75 function getNormPDF(x) result(pdf)
76 use pm_distNorm, only: getNormLogPDF
77 real(RK) , intent(in) :: x
78 real(RK) :: pdf
79 pdf = exp(getNormLogPDF(x))
80 end function
81
82 function getLogNormPDF(x) result(pdf)
84 real(RK) , intent(in) :: x
85 real(RK) :: pdf
86 pdf = exp(getLogNormLogPDF(x))
87 end function
88
89end program example

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! Compute the Gauss-Kronrod quadrature of the probability density function of the Standard Normal distribution.
4!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
5
6
7[ABSTOL, RELTOL]
8+0.00000000000000000000000000000000000, +0.192592994438723585305597794258492732E-29
9lb = -100._RK; ub = +100._RK
10err = getQuadErr(getNormPDF, lb, ub, ABSTOL, RELTOL, GK61, integral, abserr, sinfo, sindex, neval, nint)
11if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)
12truth = getNormCDF(ub) - getNormCDF(lb)
13[truth, integral, abserr, abs(integral - truth) / truth]
14+1.00000000000000000000000000000000000, +1.00000000000000000000000000000000039, +0.946347726268626978289079196639920652E-32, +0.385185988877447170611195588516985464E-33
15[neval, nint]
16+1159, +10
17
18
19!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
20! Compute the Gauss-Kronrod quadrature of the probability density function of the Standard LogNormal distribution.
21!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
22
23
24[ABSTOL, RELTOL]
25+0.00000000000000000000000000000000000, +0.192592994438723585305597794258492732E-29
26lb = exp(-10._RK); ub = exp(+10._RK)
27err = getQuadErr(getLogNormPDF, lb, ub, ABSTOL, RELTOL, GK61, integral, abserr, sinfo, sindex, neval, nint)
28if (err /= 0_IK) error stop 'integration failed: err = '//getStr(err)
29truth = getLogNormCDF(ub) - getLogNormCDF(lb)
30[truth, integral, abserr, abs(integral - truth) / truth]
31+0.999999999999999999999984760293951620, +0.999999999999999999999984760293946997, +0.495256829077377151017672632812277594E-31, +0.462223186652936604733441750365875893E-32
32[neval, nint]
33+2745, +23
34
35
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 1778 of file pm_quadPack.F90.

## ◆ MAXLEN_EPSTAB

The scalar integer of default kind IK, containing the maximum size of the Table of Epsilon algorithm.

This parameter is used by the various quadrature procedures of this module to perform integration extrapolations.

Warning
If the Epsilon table size exceeds this number, the upper diagonal of the Epsilon table will be deleted.
setSeqLimEps

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 4501 of file pm_quadPack.F90.

## ◆ MODULE_NAME

Definition at line 149 of file pm_quadPack.F90.

## ◆ nodeG10

 real(RKB), dimension(5), parameter pm_quadPack::nodeG10 = [ 1.4887433898163121088482600112971998461756485942069169570798925351590361735566852137117762979946369123003116080525534e-01_RKB , 4.3339539412924719079926594316578416220007183765624649650270151314376698907770350122510275795011772122368293504099894e-01_RKB , 6.7940956829902440623432736511487357576929471183480946766481718895255857539507492461507857357048037949983390204739932e-01_RKB , 8.6506336668898451073209668842349304852754301496533045252195973184537475513805556135679072894604577069440463108641177e-01_RKB , 9.7390652851717172007796401208445205342826994669238211923121206669659520323463615962572356495626855625823304251877421e-01_RKB ]

A vector of type real of the highest-precision kind available by the processor, containing the abscissas of the 10-points Gauss quadrature rule.

nodeG10
nodeK21
weightG10
weightK21
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 894 of file pm_quadPack.F90.

## ◆ nodeG15

 real(RKB), dimension(8), parameter pm_quadPack::nodeG15 = [ 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+00_RKB , 2.0119409399743452230062830339459620781283645446263767961594972460994823900302018760183625806752105908967902257386509e-01_RKB , 3.9415134707756336989720737098104546836275277615869825503116534395160895778696141797549711416165976202589352169635648e-01_RKB , 5.7097217260853884753722673725391064123838639628274960485326541705419537986975857948341462856982614477912646497026257e-01_RKB , 7.2441773136017004741618605461393800963089929458410256355142342070412378167792521899610109760313432626923598549381925e-01_RKB , 8.4820658341042721620064832077421685136625617473699263409572755876067507517414548519760771975082148085090373835713340e-01_RKB , 9.3727339240070590430775894771020947124399627351530445790136307635020297379704552795054758617426808659746824044603157e-01_RKB , 9.8799251802048542848956571858661258114697281712376148999999751558738843736901942471272205036831914497667516843990079e-01_RKB ]

A vector of type real of the highest-precision kind available by the processor, containing the abscissas of the 15-points Gauss quadrature rule.

nodeG15
nodeK31
weightG15
weightK31
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 1098 of file pm_quadPack.F90.

## ◆ nodeG20

 real(RKB), dimension(10), parameter pm_quadPack::nodeG20 = [ 7.6526521133497333754640409398838211004796266813497500804795244384256342048336978241545114181556215606998505646364133e-02_RKB , 2.2778585114164507808049619536857462474308893768292747231463573920717134186355582779495212519096870803177373131560430e-01_RKB , 3.7370608871541956067254817702492723739574632170568271182794861351564576437305952789589568363453337894476772208852815e-01_RKB , 5.1086700195082709800436405095525099842549132920242683347234861989473497039076572814403168305086777919832943068843526e-01_RKB , 6.3605368072651502545283669622628593674338911679936846393944662254654126258543013255870319549576130658211710937772596e-01_RKB , 7.4633190646015079261430507035564159031073067956917644413954590606853535503815506468110411362064752061238490065167656e-01_RKB , 8.3911697182221882339452906170152068532962936506563737325249272553286109399932480991922934056595764922060422035306914e-01_RKB , 9.1223442825132590586775244120329811304918479742369177479588221915807089120871907893644472619292138737876039175464603e-01_RKB , 9.6397192727791379126766613119727722191206032780618885606353759389204158078438305698001812525596471563131043491596423e-01_RKB , 9.9312859918509492478612238847132027822264713090165589614818413121798471762775378083944940249657220927472894034724419e-01_RKB ]

A vector of type real of the highest-precision kind available by the processor, containing the abscissas of the 21-points Gauss quadrature rule.

nodeG20
nodeK41
weightG20
weightK41
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 1318 of file pm_quadPack.F90.

## ◆ nodeG25

 real(RKB), dimension(13), parameter pm_quadPack::nodeG25 = [ 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+00_RKB , 1.2286469261071039638735981880803680553220534604978373842389353789270883496885841582643884994633105537597765980412320e-01_RKB , 2.4386688372098843204519036279745158640563315632598447642113565325038747278585595067977636776325034060327548499765742e-01_RKB , 3.6117230580938783773582173012764066742207834704337506979457877784674538239569654860329531506093761400789294612122812e-01_RKB , 4.7300273144571496052218211500919204133181773846162729090723082769560327584128603010315684778279363544192787010704498e-01_RKB , 5.7766293024122296772368984161265406739573503929151825664548350776102301275263202227671659646579649084013116066120581e-01_RKB , 6.7356636847346836448512063324762217588341672807274931705965696177828773684928421158196368568030932194044282149314388e-01_RKB , 7.5925926303735763057728286520436097638752201889833412091838973544501862882026240760763679724185230331463919586229073e-01_RKB , 8.3344262876083400142102110869356956946096411382352078602086471546171813247709012525322973947759168107133491065937347e-01_RKB , 8.9499199787827536885104200678280495417455484975358390306170168295917151090119945137118600693039178162093726882638296e-01_RKB , 9.4297457122897433941401116965847053190520157060899014192745249713729532254404926130890521815127348327109666786665572e-01_RKB , 9.7666392145951751149831538647959406774537055531440674467098742731616386753588055389644670948300617866819865983054648e-01_RKB , 9.9555696979049809790878494689390161725756264940480817121080493113293348134372793448728802635294700756868258870429256e-01_RKB ]

A vector of type real of the highest-precision kind available by the processor, containing the abscissas of the 25-points Gauss quadrature rule.

nodeG25
nodeK51
weightG25
weightK51
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 1552 of file pm_quadPack.F90.

## ◆ nodeG30

 real(RKB), dimension(15), parameter pm_quadPack::nodeG30 = [ 5.1471842555317695833025213166722573749141453666569564255160843987964755210427109055870090707285485841217089963590678e-02_RKB , 1.5386991360858354696379467274325592041855197124433846171896298291578714851081610139692310651074078557990111754952062e-01_RKB , 2.5463692616788984643980512981780510788278930330251842616428597508896353156907880290636628138423620257595521678255758e-01_RKB , 3.5270472553087811347103720708937386065363100802142562659418446890026941623319107866436039675211352945165817827083104e-01_RKB , 4.4703376953808917678060990032285400016240759386142440975447738172761535172858420700400688872124189834257262048739699e-01_RKB , 5.3662414814201989926416979331107279416417800693029710545274348291201490861897837863114116009718990258091585830703557e-01_RKB , 6.2052618298924286114047755643118929920736469282952813259505117012433531497488911774115258445532782106478789996137481e-01_RKB , 6.9785049479331579693229238802664006838235380065395465637972284673997672124315996069538163644008904690545069439941341e-01_RKB , 7.6777743210482619491797734097450313169488361723290845320649438736515857017299504505260960258623968420224697596501719e-01_RKB , 8.2956576238276839744289811973250191643906869617034167880695298345365650658958163508295244350814016004371545455777732e-01_RKB , 8.8256053579205268154311646253022559005668914714648423206832605312161626269519165572921583828573210485349058106849548e-01_RKB , 9.2620004742927432587932427708047400408647453682532906091103713367942299565110232681677288015055886244486106298320068e-01_RKB , 9.6002186496830751221687102558179766293035921740392339948566167242493995770706842922718944370380002378239172677454384e-01_RKB , 9.8366812327974720997003258160566280194031785470971136351718001015114429536479104370207597166035471368057762560137209e-01_RKB , 9.9689348407464954027163005091869528334088203811775079010809429780238769521016374081588201955806171741257405095963817e-01_RKB ]

A vector of type real of the highest-precision kind available by the processor, containing the abscissas of the 30-points Gauss quadrature rule.

nodeG30
nodeK61
weightG30
weightK61
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 1802 of file pm_quadPack.F90.

## ◆ nodeG7

 real(RKB), dimension(4), parameter pm_quadPack::nodeG7 = [ 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+00_RKB , 4.0584515137739716690660641207696146334738201409937012638704325179466381322612565532831268972774658776528675866604802e-01_RKB , 7.4153118559939443986386477328078840707414764714139026011995535196742987467218051379282683236686324705969251809311201e-01_RKB , 9.4910791234275852452618968404785126240077093767061778354876910391306333035484014080573077002792572414430073966699522e-01_RKB ]

A vector of type real of the highest-precision kind available by the processor, containing the abscissas of the 7-points Gauss quadrature rule.

nodeG7
nodeK15
weightG7
weightG15
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 698 of file pm_quadPack.F90.

## ◆ nodeK15

 real(RKB), dimension(8), parameter pm_quadPack::nodeK15 = [ 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+00_RKB , 2.0778495500789846760068940377324491347978440714517064971384573461986693844943520226910343227183698530560857645062738e-01_RKB , 4.0584515137739716690660641207696146334738201409937012638704325179466381322612565532831268972774658776528675866604802e-01_RKB , 5.8608723546769113029414483825872959843678075060436095130499289319880373607444407464511674498935942098956811555121368e-01_RKB , 7.4153118559939443986386477328078840707414764714139026011995535196742987467218051379282683236686324705969251809311201e-01_RKB , 8.6486442335976907278971278864092620121097230707408814860145771276706770813259572103585847859604590541475281326027862e-01_RKB , 9.4910791234275852452618968404785126240077093767061778354876910391306333035484014080573077002792572414430073966699522e-01_RKB , 9.9145537112081263920685469752632851664204433837033470129108741357244173934653407235924503509626841760744349505339308e-01_RKB ]

A vector of type real of the highest-precision kind available by the processor, containing the abscissas of the 15-points Kronrod extension to the 7-points Gauss quadrature rule.

nodeG7
nodeK15
weightG7
weightG15
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 754 of file pm_quadPack.F90.

## ◆ nodeK21

 real(RKB), dimension(11), parameter pm_quadPack::nodeK21 = [ 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+00_RKB , 1.4887433898163121088482600112971998461756485942069169570798925351590361735566852137117762979946369123003116080525534e-01_RKB , 2.9439286270146019813112660310386556616268662515695791864888229172724611166332737888445523178268237359119185139299872e-01_RKB , 4.3339539412924719079926594316578416220007183765624649650270151314376698907770350122510275795011772122368293504099894e-01_RKB , 5.6275713466860468333900009927269414084301388194196695886034621458779266353216327549712087854169992422106448211158815e-01_RKB , 6.7940956829902440623432736511487357576929471183480946766481718895255857539507492461507857357048037949983390204739932e-01_RKB , 7.8081772658641689706371757834504237716340752029815717974694859999505607982761420654526977234238996241110129779403362e-01_RKB , 8.6506336668898451073209668842349304852754301496533045252195973184537475513805556135679072894604577069440463108641177e-01_RKB , 9.3015749135570822600120718005950834622516790998193924230349406866828415983091673055011194572851007884702013619684320e-01_RKB , 9.7390652851717172007796401208445205342826994669238211923121206669659520323463615962572356495626855625823304251877421e-01_RKB , 9.9565716302580808073552728068900284792126058721947892436337916111757023046774867357152325996912076724298149077812671e-01_RKB ]

A vector of type real of the highest-precision kind available by the processor, containing the abscissas of the 21-points Kronrod extension to the 10-points Gauss quadrature rule.

nodeG10
nodeK21
weightG10
weightK21
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 952 of file pm_quadPack.F90.

## ◆ nodeK31

 real(RKB), dimension(16), parameter pm_quadPack::nodeK31 = [ 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+00_RKB , 1.0114206691871749902707423144739233878745105740164180495800189504151097862454083050931321451540380998341273193681967e-01_RKB , 2.0119409399743452230062830339459620781283645446263767961594972460994823900302018760183625806752105908967902257386509e-01_RKB , 2.9918000715316881216678002426638896266160338274382080184125545738918081102513884467602322020157243563662094470221235e-01_RKB , 3.9415134707756336989720737098104546836275277615869825503116534395160895778696141797549711416165976202589352169635648e-01_RKB , 4.8508186364023968069365574023235061286633893089407312129367943604080239955167155974371848690848595275551258416303565e-01_RKB , 5.7097217260853884753722673725391064123838639628274960485326541705419537986975857948341462856982614477912646497026257e-01_RKB , 6.5099674129741697053373589531327469254694822609259966708966160576093305841043840794460394747228060367236079289132544e-01_RKB , 7.2441773136017004741618605461393800963089929458410256355142342070412378167792521899610109760313432626923598549381925e-01_RKB , 7.9041850144246593296764929481794734686214051995697617332365280643308302974631807059994738664225445530963711137343440e-01_RKB , 8.4820658341042721620064832077421685136625617473699263409572755876067507517414548519760771975082148085090373835713340e-01_RKB , 8.9726453234408190088250965645449588283177871149442786763972687601078537721473771221195399661919716123038835639691946e-01_RKB , 9.3727339240070590430775894771020947124399627351530445790136307635020297379704552795054758617426808659746824044603157e-01_RKB , 9.6773907567913913425734797878433722528335733730013163797468062226335804249452174804319385048203118506304424717089291e-01_RKB , 9.8799251802048542848956571858661258114697281712376148999999751558738843736901942471272205036831914497667516843990079e-01_RKB , 9.9800229869339706028517284015227120907340644231555723034839427970683348682837134566648979907760125278631896777136104e-01_RKB ]

A vector of type real of the highest-precision kind available by the processor, containing the abscissas of the 31-points Kronrod extension to the 15-points Gauss quadrature rule.

nodeG15
nodeK31
weightG15
weightK31
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 1162 of file pm_quadPack.F90.

## ◆ nodeK41

 real(RKB), dimension(21), parameter pm_quadPack::nodeK41 = [ 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+00_RKB , 7.6526521133497333754640409398838211004796266813497500804795244384256342048336978241545114181556215606998505646364133e-02_RKB , 1.5260546524092267550522024102267752791167622481841730660174156703809133685751696356987995886397049724808931527012542e-01_RKB , 2.2778585114164507808049619536857462474308893768292747231463573920717134186355582779495212519096870803177373131560430e-01_RKB , 3.0162786811491300432055535685859226061539650501373092456926374427956957435978384116066498234762220215751079886015902e-01_RKB , 3.7370608871541956067254817702492723739574632170568271182794861351564576437305952789589568363453337894476772208852815e-01_RKB , 4.4359317523872510319999221349264010784010101082300309613315028346299543059315258601993479156987847429893626854030516e-01_RKB , 5.1086700195082709800436405095525099842549132920242683347234861989473497039076572814403168305086777919832943068843526e-01_RKB , 5.7514044681971031534294603658642513281381264014771682537415885495717468074720062012357788489049470208285175093670561e-01_RKB , 6.3605368072651502545283669622628593674338911679936846393944662254654126258543013255870319549576130658211710937772596e-01_RKB , 6.9323765633475138480549071184593153338642585141021417904687378454301191710739219011546672416325022748282227809465165e-01_RKB , 7.4633190646015079261430507035564159031073067956917644413954590606853535503815506468110411362064752061238490065167656e-01_RKB , 7.9504142883755119835063883327278794295938959911578029703855163894322697871710382866701777890251824617748545658564370e-01_RKB , 8.3911697182221882339452906170152068532962936506563737325249272553286109399932480991922934056595764922060422035306914e-01_RKB , 8.7827681125228197607744299511307846671124526828251164853898086998248145904743220740840261624245683876748360309079747e-01_RKB , 9.1223442825132590586775244120329811304918479742369177479588221915807089120871907893644472619292138737876039175464603e-01_RKB , 9.4082263383175475351998272221244338027429557377965291059536839973186796006557571220888218676776618448841584569497535e-01_RKB , 9.6397192727791379126766613119727722191206032780618885606353759389204158078438305698001812525596471563131043491596423e-01_RKB , 9.8150787745025025919334299472021694456725093981023759869077533318793098857465723460898060491887511355706497739384103e-01_RKB , 9.9312859918509492478612238847132027822264713090165589614818413121798471762775378083944940249657220927472894034724419e-01_RKB , 9.9885903158827766383831557654586300999957020432629666866666860339324411793311982967839129772854179884971700274369367e-01_RKB ]

A vector of type real of the highest-precision kind available by the processor, containing the abscissas of the 41-points Kronrod extension to the 20-points Gauss quadrature rule.

nodeG20
nodeK41
weightG20
weightK41
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 1386 of file pm_quadPack.F90.

## ◆ nodeK51

 real(RKB), dimension(26), parameter pm_quadPack::nodeK51 = [ 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+00_RKB , 6.1544483005685078886546392366796631281724348039823545274305431751687279361558658545141048781022691067898008423227288e-02_RKB , 1.2286469261071039638735981880803680553220534604978373842389353789270883496885841582643884994633105537597765980412320e-01_RKB , 1.8371893942104889201596988875952841578528447834990555215034512653236752851109815617651867160645591242103823539931527e-01_RKB , 2.4386688372098843204519036279745158640563315632598447642113565325038747278585595067977636776325034060327548499765742e-01_RKB , 3.0308953893110783016747890998033932920041937876655194685731578452573120372337209717349617882111662416355753711853559e-01_RKB , 3.6117230580938783773582173012764066742207834704337506979457877784674538239569654860329531506093761400789294612122812e-01_RKB , 4.1788538219303774885181439459457248709336998140069528034955785068796932076966599548717224205109797297615032607570119e-01_RKB , 4.7300273144571496052218211500919204133181773846162729090723082769560327584128603010315684778279363544192787010704498e-01_RKB , 5.2632528433471918259962377815801017803683252320191114313002425180471455022502695302371008520604638341970901082293650e-01_RKB , 5.7766293024122296772368984161265406739573503929151825664548350776102301275263202227671659646579649084013116066120581e-01_RKB , 6.2681009901031741278812268162451788101954628995068510806525222008437260184181183053045236423845198752346149030569920e-01_RKB , 6.7356636847346836448512063324762217588341672807274931705965696177828773684928421158196368568030932194044282149314388e-01_RKB , 7.1776640681308438818665407977329778059771167555515582423493486823991612820974965089522905953765860328116692570706602e-01_RKB , 7.5925926303735763057728286520436097638752201889833412091838973544501862882026240760763679724185230331463919586229073e-01_RKB , 7.9787379799850005941041090499430656940863230009338267661706934499488650817643824077118950314443984031474353711531825e-01_RKB , 8.3344262876083400142102110869356956946096411382352078602086471546171813247709012525322973947759168107133491065937347e-01_RKB , 8.6584706529327559544899696958834008820284409402823690293965213246691432948180280120756708738064779055576005302835351e-01_RKB , 8.9499199787827536885104200678280495417455484975358390306170168295917151090119945137118600693039178162093726882638296e-01_RKB , 9.2074711528170156174634608454633063157457035996277199700642836501131385042631212407808952281702820179915510491592339e-01_RKB , 9.4297457122897433941401116965847053190520157060899014192745249713729532254404926130890521815127348327109666786665572e-01_RKB , 9.6161498642584251241813003366016724169212642963709676666624520141292893281185666917636407790823210892689040877316178e-01_RKB , 9.7666392145951751149831538647959406774537055531440674467098742731616386753588055389644670948300617866819865983054648e-01_RKB , 9.8803579453407724763733101457740622707248415209160748131449972199405186821347293686245404742032360498210710718706868e-01_RKB , 9.9555696979049809790878494689390161725756264940480817121080493113293348134372793448728802635294700756868258870429256e-01_RKB , 9.9926210499260983419345748654034059370452496042279618586228697762904524428167719073818746102238075978747461480736921e-01_RKB ]

A vector of type real of the highest-precision kind available by the processor, containing the abscissas of the 51-points Kronrod extension to the 25-points Gauss quadrature rule.

nodeG25
nodeK51
weightG25
weightK51
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 1626 of file pm_quadPack.F90.

## ◆ nodeK61

 real(RKB), dimension(31), parameter pm_quadPack::nodeK61 = [ 0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000e+00_RKB , 5.1471842555317695833025213166722573749141453666569564255160843987964755210427109055870090707285485841217089963590678e-02_RKB , 1.0280693796673703014709675131800059247190133296515840552101946914632788253917872738234797140786490207720254922664913e-01_RKB , 1.5386991360858354696379467274325592041855197124433846171896298291578714851081610139692310651074078557990111754952062e-01_RKB , 2.0452511668230989143895767100202470952410426459556377447604465028350321894663245495592565235317147819577892124850607e-01_RKB , 2.5463692616788984643980512981780510788278930330251842616428597508896353156907880290636628138423620257595521678255758e-01_RKB , 3.0407320227362507737267710719925655353115778980946272844421536998312150442387767304001423699909778588529370119457430e-01_RKB , 3.5270472553087811347103720708937386065363100802142562659418446890026941623319107866436039675211352945165817827083104e-01_RKB , 4.0040125483039439253547621154266063361104593297078395983186610656429170689311759061175527015710247383961903284673474e-01_RKB , 4.4703376953808917678060990032285400016240759386142440975447738172761535172858420700400688872124189834257262048739699e-01_RKB , 4.9248046786177857499369306120770879564426564096318697026073340982988422546396352776837047452262025983265531109327026e-01_RKB , 5.3662414814201989926416979331107279416417800693029710545274348291201490861897837863114116009718990258091585830703557e-01_RKB , 5.7934523582636169175602493217254049590705158881215289208126016612312833567812241903809970751783808208940322061083509e-01_RKB , 6.2052618298924286114047755643118929920736469282952813259505117012433531497488911774115258445532782106478789996137481e-01_RKB , 6.6006106412662696137005366814927075303835037480883390955067197339904937499734522076788020517029688190998858739703079e-01_RKB , 6.9785049479331579693229238802664006838235380065395465637972284673997672124315996069538163644008904690545069439941341e-01_RKB , 7.3379006245322680472617113136952764566938172775468549208701399518300016463613325382024664531597318795933262446521430e-01_RKB , 7.6777743210482619491797734097450313169488361723290845320649438736515857017299504505260960258623968420224697596501719e-01_RKB , 7.9972783582183908301366894232268324073569842937778450923647349548686662567326007229195202524185356472023967927713548e-01_RKB , 8.2956576238276839744289811973250191643906869617034167880695298345365650658958163508295244350814016004371545455777732e-01_RKB , 8.5720523354606109895865851065894385682080017062359612850504551739119887225712932688031120704657195642614071367390794e-01_RKB , 8.8256053579205268154311646253022559005668914714648423206832605312161626269519165572921583828573210485349058106849548e-01_RKB , 9.0557330769990779854652255892595831956897536366222841356404766397803760239449631913585074426842574155323901785046522e-01_RKB , 9.2620004742927432587932427708047400408647453682532906091103713367942299565110232681677288015055886244486106298320068e-01_RKB , 9.4437444474855997941583132403743912158564371496498093181748940139520917000657342753448871376849848523800667868447591e-01_RKB , 9.6002186496830751221687102558179766293035921740392339948566167242493995770706842922718944370380002378239172677454384e-01_RKB , 9.7311632250112626837469386842370688488763796428343933853755850185624118958166838288308561708261486365954975485787212e-01_RKB , 9.8366812327974720997003258160566280194031785470971136351718001015114429536479104370207597166035471368057762560137209e-01_RKB , 9.9163099687040459485862836610948572485050033374616325510019923349807489603260796605556191495843575227494654783755353e-01_RKB , 9.9689348407464954027163005091869528334088203811775079010809429780238769521016374081588201955806171741257405095963817e-01_RKB , 9.9948441005049063757132589570581081946887394701850801923632642830748016674843587830656468823145435723317885056396548e-01_RKB ]

A vector of type real of the highest-precision kind available by the processor, containing the abscissas of the 61-points Kronrod extension to the 30-points Gauss quadrature rule.

nodeG30
nodeK61
weightG30
weightK61
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 1880 of file pm_quadPack.F90.

## ◆ weightG10

 real(RKB), dimension(5), parameter pm_quadPack::weightG10 = [ 2.9552422471475287017389299465133832942104671702685360135430802975599593821715232927035659579375421672271716440125256e-01_RKB , 2.6926671930999635509122692156946935285975993846088379580056327624215343231917927676422663670925276075559581145036870e-01_RKB , 2.1908636251598204399553493422816319245877187052267708988095654363519991065295128124268399317720219278659121687281289e-01_RKB , 1.4945134915058059314577633965769733240255663966942736783547726875323865472663001094594726463473195191400575256104544e-01_RKB , 6.6671344308688137593568809893331792857864834320158145128694881613412064084087101776785509685058877821090054714520419e-02_RKB ]

A vector of type real of the highest-precision kind available by the processor, containing the weights of the 10-points Gauss quadrature rule.

nodeG10
nodeK21
weightG10
weightK21
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 923 of file pm_quadPack.F90.

## ◆ weightG15

 real(RKB), dimension(8), parameter pm_quadPack::weightG15 = [ 2.0257824192556127288062019996751931483866215800947735679670411605143539875474607409339344071278803213535148267082999e-01_RKB , 1.9843148532711157645611832644383932481869255995754199348473792792912479753343426813331499916481782320766020854889310e-01_RKB , 1.8616100001556221102680056186642282450622601227792840281549572731001325550269916061894976888609932360539977709001384e-01_RKB , 1.6626920581699393355320086048120881113090018009841290732186519056355356321227851771070517429241553621484461540657185e-01_RKB , 1.3957067792615431444780479451102832252085027531551124320239112863108844454190781168076825736357133363814908889327664e-01_RKB , 1.0715922046717193501186954668586930341554371575810198068702238912187799485231579972568585713760862404439808767837506e-01_RKB , 7.0366047488108124709267416450667338466708032754330719825907292914387055512874237044840452066693939219355489858595041e-02_RKB , 3.0753241996117268354628393577204417721748144833434074264228285504237189467117168039038770732399404002516991188859473e-02_RKB ]

A vector of type real of the highest-precision kind available by the processor, containing the weights of the 15-points Gauss quadrature rule.

nodeG15
nodeK31
weightG15
weightK31
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 1130 of file pm_quadPack.F90.

## ◆ weightG20

 real(RKB), dimension(10), parameter pm_quadPack::weightG20 = [ 1.5275338713072585069808433195509759349194864511237859727470104981759745316273778153557248783650390593544001842813788e-01_RKB , 1.4917298647260374678782873700196943669267990408136831649621121780984442259558678069396132603521048105170913854567338e-01_RKB , 1.4209610931838205132929832506716493303451541339202030333736708298382808749793436761694922428320058260133068573666201e-01_RKB , 1.3168863844917662689849449974816313491611051114698352699643649370885435642948093314355797518397262924510598005463625e-01_RKB , 1.1819453196151841731237737771138228700504121954896877544688995202017474835051151630572868782581901744606267543092317e-01_RKB , 1.0193011981724043503675013548034987616669165602339255626197161619685232202539434647534931576947985821375859035525483e-01_RKB , 8.3276741576704748724758143222046206100177828583163290744882060785693082894079419471375190843790839349096116111932764e-02_RKB , 6.2672048334109063569506535187041606351601076578436364099584345437974811033665678644563766056832203512603253399592073e-02_RKB , 4.0601429800386941331039952274932109879090639989951536817606854561832296750987328295538920623044384976189825709675075e-02_RKB , 1.7614007139152118311861962351852816362143105543336732524349326677348419259621847817403105542146097668703716227512570e-02_RKB ]

A vector of type real of the highest-precision kind available by the processor, containing the weights of the 20-points Gauss quadrature rule.

nodeG20
nodeK41
weightG20
weightK41
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 1352 of file pm_quadPack.F90.

## ◆ weightG25

 real(RKB), dimension(13), parameter pm_quadPack::weightG25 = [ 1.2317605372671545120390287307905014243823362751815166539135219731691200794926142128460112517504958377310054583945994e-01_RKB , 1.2224244299031004168895951894585150583505924756305904090758008223203896721918010243033540891078906637115620156845304e-01_RKB , 1.1945576353578477222817812651290104739017670141372642551958788133518409022018773502442869720975271321374348568426235e-01_RKB , 1.1485825914571164833932554586955580864093619166818014959151499003148279667112542256534429898558156273250513652351744e-01_RKB , 1.0851962447426365311609395705011661934007758798672201615649430734883929279360844269339768350029654172135832773427565e-01_RKB , 1.0053594906705064420220689039268582698846609452814190706986904199941294815904602968195565620373258211755226681206658e-01_RKB , 9.1028261982963649811497220702891653380992558959334310970483768967017384678410526902484398142953718885872521590850372e-02_RKB , 8.0140700335001018013234959669111302290225732853675893716201462973612828934801289559457377714225318048243957479325813e-02_RKB , 6.8038333812356917207187185656707968554709494354636562615071226410003654051711473106651522969481873733098761760660898e-02_RKB , 5.4904695975835191925936891540473324160109985553111349048508498244593774678436511895711924079433444763756746828817613e-02_RKB , 4.0939156701306312655623487711645953660845783364104346504698414899297432880215512770478971055110424130123527015425511e-02_RKB , 2.6354986615032137261901815295299144935963281703322468755366165783870934008879499371529821528172928890350362464605104e-02_RKB , 1.1393798501026287947902964113234773603320526292909696448948061116189891729766743355923677112945033505688431618009664e-02_RKB ]

A vector of type real of the highest-precision kind available by the processor, containing the weights of the 25-points Gauss quadrature rule.

nodeG25
nodeK51
weightG25
weightK51
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 1589 of file pm_quadPack.F90.

## ◆ weightG30

 real(RKB), dimension(15), parameter pm_quadPack::weightG30 = [ 1.0285265289355884034128563670541504386837555706492822258631898667601623865660942939262884632188870916503815852709086e-01_RKB , 1.0176238974840550459642895216855404463270628948712684086426094541964251360531767494547599781978391198881693385887696e-01_RKB , 9.9593420586795267062780282103569476529869263666704277221365146183946660389908809018092299289324184705373523229592037e-02_RKB , 9.6368737174644259639468626351809865096406461430160245912994275732837534742003123724951247818104195363343093583583429e-02_RKB , 9.2122522237786128717632707087618767196913234418234107527675047001973047070094168298464052916811907158954949394100501e-02_RKB , 8.6899787201082979802387530715125702576753328743545344012222129882153582254261494247955033509639105330215477601953921e-02_RKB , 8.0755895229420215354694938460529730875892803708439299890258593706051180567026345604212402769217808080749416147400962e-02_RKB , 7.3755974737705206268243850022190734153770526037049438941269182374599399314635211710401352716638183270192254236882630e-02_RKB , 6.5974229882180495128128515115962361237442953656660378967031516042143672466094179365819913911598737439478205808271237e-02_RKB , 5.7493156217619066481721689402056128797120670721763134548715799003232147409954376925211999650950125355559974348279846e-02_RKB , 4.8402672830594052902938140422807517815271809197372736345191936791805425677102152797767439563562263454374645955072007e-02_RKB , 3.8799192569627049596801936446347692033200976766395352107732789705946970952769793919055026279035105656340228558382274e-02_RKB , 2.8784707883323369349719179611292043639588894546287496474180122608145988940013933101730206711484171554940392262251283e-02_RKB , 1.8466468311090959142302131912047269096206533968181403371298365514585599521307973654080519029675417955638095832046164e-02_RKB , 7.9681924961666056154658834746736224504806965871517212294851633569200384329013332941536616922861735209846506562158817e-03_RKB ]

A vector of type real of the highest-precision kind available by the processor, containing the weights of the 30-points Gauss quadrature rule.

nodeG30
nodeK61
weightG30
weightK61
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 1841 of file pm_quadPack.F90.

## ◆ weightG7

 real(RKB), dimension(4), parameter pm_quadPack::weightG7 = [ 4.1795918367346938775510204081632653061224489795918367346938775510204081632653061224489795918367346938775510204081633e-01_RKB , 3.8183005050511894495036977548897513387836508353386273475108345103070554643412970834868465934404480145031467176458536e-01_RKB , 2.7970539148927666790146777142377958248692506522659876453701403269361881043056267681324094290119761876632337521337205e-01_RKB , 1.2948496616886969327061143267908201832858740225994666397720863872465523497204230871562541816292084508948440200163443e-01_RKB ]

A vector of type real of the highest-precision kind available by the processor, containing the weights of the 7-points Gauss quadrature rule.

nodeG7
nodeK15
weightG7
weightG15
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 726 of file pm_quadPack.F90.

## ◆ weightK15

 real(RKB), dimension(8), parameter pm_quadPack::weightK15 = [ 2.0948214108472782801299917489171426369776208022370431671299800656137515132325648616816908211675949102392971459688215e-01_RKB , 2.0443294007529889241416199923464908471651760418071835742447095312045467698546598879348374292009347554167803659293064e-01_RKB , 1.9035057806478540991325640242101368282607807545535835588544088036744058072410212679605964605106377593834568683551139e-01_RKB , 1.6900472663926790282658342659855028410624490030294424149734006755695680921619029112936702403855359908156070095656537e-01_RKB , 1.4065325971552591874518959051023792039988975724799857556174546893312708093090950408097379122415555910759700350860143e-01_RKB , 1.0479001032225018383987632254151801744375665421383061189339065133963746321576289524167571627509311333949422518201492e-01_RKB , 6.3092092629978553290700663189204286665071157211550707113605545146983997477964874928199170264504441995865872491871943e-02_RKB , 2.2935322010529224963732008058969591993560811275746992267507430254711815787976075946156368168156289483493617134063245e-02_RKB ]

A vector of type real of the highest-precision kind available by the processor, containing the weights of the 15-points Kronrod extension to the 7-points Gauss quadrature rule.

nodeG7
nodeK15
weightG7
weightG15
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 786 of file pm_quadPack.F90.

## ◆ weightK21

 real(RKB), dimension(11), parameter pm_quadPack::weightK21 = [ 1.4944555400291690566493646838982120374523631668747280383560851873698964478511841925721030705689540264726493367634340e-01_RKB , 1.4773910490133849137484151597206804552373162548520660451819195439885993016735696405732703959182882254268727823258502e-01_RKB , 1.4277593857706008079709427313871706088597905653190555560741004743970770449909340027811131706283756428281146832304737e-01_RKB , 1.3470921731147332592805400177170683276099191300855971406636668491320291400121282036676953159488271772384389604997640e-01_RKB , 1.2349197626206585107795810983107415951230034952864832764467994120974054238975454689681538622363738230836484113389878e-01_RKB , 1.0938715880229764189921059032580496027181329983434522007819675829826550372891432168683899432674553842507906611591517e-01_RKB , 9.3125454583697605535065465083366344390018828880760031970085038760177735672200775237414123061615827474831165614953012e-02_RKB , 7.5039674810919952767043140916190009395219382000910088173697048048430404342858495178813808730646554086856929327903059e-02_RKB , 5.4755896574351996031381300244580176373721114058333557524432615804784098927818975325116301569003298086458722055550981e-02_RKB , 3.2558162307964727478818972459389760617388939845662609571537504232714121820165498692381607605384626494546068817765276e-02_RKB , 1.1694638867371874278064396062192048396217332481931888927598147525622222058064992651806736704969967250888097490233242e-02_RKB ]

A vector of type real of the highest-precision kind available by the processor, containing the weights of the 21-points Kronrod extension to the 10-points Gauss quadrature rule.

nodeG10
nodeK21
weightG10
weightK21
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 987 of file pm_quadPack.F90.

## ◆ weightK31

 real(RKB), dimension(16), parameter pm_quadPack::weightK31 = [ 1.0133000701479154901737479276749254677092627259659629246734858372174107615774696665932418050683956749891773195816338e-01_RKB , 1.0076984552387559504494666261756972191634838013536373069278929029488122760822761077475060185965408326901925180106227e-01_RKB , 9.9173598721791959332393173484603131059567260816713281734860095693651563064308745717056680128223790739026832596087552e-02_RKB , 9.6642726983623678505179907627589335136656568630495198973407668882934392359962841826511402504664592185391687490319950e-02_RKB , 9.3126598170825321225486872747345718561927881321317330560285879189052002874531855060114908990458716740695847509343865e-02_RKB , 8.8564443056211770647275443693774303212266732690655967817996052574877144544749814260718837576325109922207832119243346e-02_RKB , 8.3080502823133021038289247286103789601554188253368717607281604875233630643885056057630789228337088859687986285569521e-02_RKB , 7.6849680757720378894432777482659006722109101167947000584089097112470821092034084418224731527690291913686588446455555e-02_RKB , 6.9854121318728258709520077099147475786045435140671549698798093177992675624987998849748628778570667518643649536771245e-02_RKB , 6.2009567800670640285139230960802932190400004210329723569147829395618376206272317333030584268303808639229575334680414e-02_RKB , 5.3481524690928087265343147239430296771554760947116739813222888752727413616259625439714812475198987513183153639571249e-02_RKB , 4.4589751324764876608227299373279690223256649667921096570980823211805450700059906366455036418897149593261561551176267e-02_RKB , 3.5346360791375846222037948478360048122630678992420820868148023340902501837247680978434662724296810081131106317333086e-02_RKB , 2.5460847326715320186874001019653359397271745046864640508377984982400903447009185267605205778819712848080691366407461e-02_RKB , 1.5007947329316122538374763075807268094639436437387634979291759700896494746154334398961710227490402528151677469993935e-02_RKB , 5.3774798729233489877920514301276498183080402431284197876486169536848635554354599213793172596490038991436925569025913e-03_RKB ]

A vector of type real of the highest-precision kind available by the processor, containing the weights of the 31-points Kronrod extension to the 15-points Gauss quadrature rule.

nodeG15
nodeK31
weightG15
weightK31
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 1202 of file pm_quadPack.F90.

## ◆ weightK41

 real(RKB), dimension(21), parameter pm_quadPack::weightK41 = [ 7.6600711917999656445049901530101740827932500628670118055485349620314721456712029449597396569857880493210849110825276e-02_RKB , 7.6377867672080736705502835038061001800801036764945996714946431116936745542061941050008345047482501253320401746334511e-02_RKB , 7.5704497684556674659542775376616558263363155900414326194855223272348838596099414841886740468379707283366777797425290e-02_RKB , 7.4582875400499188986581418362487528616116493572092273080047040726969899567887364227664202642942357104526915332274625e-02_RKB , 7.3030690332786667495189417658913112760626845234552742380174250771849743831660040966804802312464527721645765620253776e-02_RKB , 7.1054423553444068305790361723210167412912159322210143921628270586407381879789525901086146473278095159807542174985045e-02_RKB , 6.8648672928521619345623411885367801715489704958239860400434264173923806029589970941711224257967651039544669425313433e-02_RKB , 6.5834597133618422111563556969397943147223506343381443709751749639944420314384296347503523810096842402960802728781816e-02_RKB , 6.2653237554781168025870122174254980585819744698897886186553324157100424088919284503451596742588386343548162830898103e-02_RKB , 5.9111400880639572374967220648594217136419365977042191748388047204015262840407696611508732839851952697839735487615776e-02_RKB , 5.5195105348285994744832372419777329194753456228153116909812131213177827707884692917845453999535518818940813085110223e-02_RKB , 5.0944573923728691932707670050344948664836365809262579747517140086119113476866735641054822574173198900379392130050979e-02_RKB , 4.6434821867497674720231880926107516842127071007077929289994127933243222585938804392953931185146446072587020288747981e-02_RKB , 4.1668873327973686263788305936894738043960843153010324860966353235271889596379726462208702081068715463576895020003842e-02_RKB , 3.6600169758200798030557240707211008487453496747498001651070009441973280061489266074044986901436324295513243878212345e-02_RKB , 3.1287306777032798958543119323800737887769280362813337359554598005322423266047996771926031069705049476071896145456496e-02_RKB , 2.5882133604951158834505067096153142999479118048674944526997797755374306421629440393392427198869345793286369198147609e-02_RKB , 2.0388373461266523598010231432754705122838627940185929365371868214433006532030353671253640300679157504987977281782909e-02_RKB , 1.4626169256971252983787960308868356163881050162249770342103474631076960029748751959380482484308382288261238476948520e-02_RKB , 8.6002698556429421986617879501023472521289227667077976622450602031426535362696437838448828009554532025301579670206091e-03_RKB , 3.0735837185205315012182932460309874880335046882543449198461628212114333665590378156706265241414469306987988292234740e-03_RKB ]

A vector of type real of the highest-precision kind available by the processor, containing the weights of the 41-points Kronrod extension to the 20-points Gauss quadrature rule.

nodeG20
nodeK41
weightG20
weightK41
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 1431 of file pm_quadPack.F90.

## ◆ weightK51

 real(RKB), dimension(26), parameter pm_quadPack::weightK51 = [ 6.1580818067832935078759824240064553190436936903140808056908996403358367244202623293256774502185186717703954810463664e-02_RKB , 6.1471189871425316661544131965264177586537962876885022711111683500151700796198726558483367566537422877227096643444043e-02_RKB , 6.1128509717053048305859030416292711922678552321960938357322028070390133769952032831204895569347757809858568165047769e-02_RKB , 6.0539455376045862945360267517565427162312365710457079923487043144554747810689514408013582515489930908693681447570811e-02_RKB , 5.9720340324174059979099291932561853835363045476189975483372207816149988460708299020779612375010639778624011960832019e-02_RKB , 5.8689680022394207961974175856787764139795646254828315293243700305012569486054157617049685031506591863121580010947248e-02_RKB , 5.7437116361567832853582693939506471994832856823896682976509412313367495727224381199978598247737089593472710899482737e-02_RKB , 5.5950811220412317308240686382747346820271035112771802428932791066115158268338607019365831655460314732208940609352540e-02_RKB , 5.4251129888545490144543370459875606826076838441263383072163293312936923476650934130242315028422047795830492882862973e-02_RKB , 5.2362885806407475864366712137872714887351550723707596350905793656046659248541276597504566497990926306481919129870507e-02_RKB , 5.0277679080715671963325259433440084440587630604775975142050968279743014641141402310302584542633557037153607386127936e-02_RKB , 4.7982537138836713906392255756914754983592207423271169651235865196757913880334117810235517477328110033499422471098658e-02_RKB , 4.5502913049921788909870584752660393043707768935695327316724254392794299567957035458208970599641697203261236226745020e-02_RKB , 4.2872845020170049476895792439495161101999504199883328877919242515738957655253932048951366960802592343905647433925806e-02_RKB , 4.0083825504032382074839284467075646401410549266591308713115878386835777315058451955614116158949614066927183232852042e-02_RKB , 3.7116271483415543560330625367619875995997802688047764805628702762773009669395760582294525748583875707140577080663373e-02_RKB , 3.4002130274329337836748795229551203225670528250050443083264193121524339063344855010257660547708022429300203676502386e-02_RKB , 3.0792300167387488891109020215228585600877162393292487644544830559965388047996492709248618249084851477787538356572832e-02_RKB , 2.7475317587851737802948455517811078614796013288710603199613621069727810352835469926107822047433566792405123805901196e-02_RKB , 2.4009945606953216220092489164881081392931528209659330290734972342536012282191913069778658241972047765300060007037359e-02_RKB , 2.0435371145882835456568292235938973678758006097668937220074531550163622566841885855957623103354443247806459277197725e-02_RKB , 1.6847817709128298231516667536336315840402654624706139411175769276842182270078960078544597372646532637619276509222462e-02_RKB , 1.3236229195571674813656405846976238077578084997863654732213860488560614587634395544002156258192582265590155862296710e-02_RKB , 9.4739733861741516072077105236553238716453268483726334971394029603529306140359023187904705754719643032594360138998941e-03_RKB , 5.5619321353567137580402369010655220701769295496290984052961210793810038857581724171021610100708799763006942755331129e-03_RKB , 1.9873838923303159265078518828434098894299804282505973837653346298985629336820118753523093675303476883723992297810124e-03_RKB ]

A vector of type real of the highest-precision kind available by the processor, containing the weights of the 51-points Kronrod extension to the 25-points Gauss quadrature rule.

nodeG25
nodeK51
weightG25
weightK51
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 1676 of file pm_quadPack.F90.

## ◆ weightK61

 real(RKB), dimension(31), parameter pm_quadPack::weightK61 = [ 5.1494729429451567558340433647099307532736880396464168074637323362474083844397567724480716864880173808112573901197920e-02_RKB , 5.1426128537459025933862879215781259829552034862395987263855824172761589259406892072066110681184224608133314131500422e-02_RKB , 5.1221547849258772170656282604944208251146952425246327553509056805511015401279553971190412722969308620984161625812560e-02_RKB , 5.0881795898749606492297473049804691853384914260919239920771942080972542646780575571132056254070929858650733836163479e-02_RKB , 5.0405921402782346840893085653585028902197018251622233664243959211066713308635283713447747907973700791599900911248852e-02_RKB , 4.9795683427074206357811569379942328539209602813696108951047392842948482646220377655098341924089250200477846596263918e-02_RKB , 4.9055434555029778887528165367238173605887405295296569579490717901328215644590555247522873065246297467067324397612445e-02_RKB , 4.8185861757087129140779492298304592605799236108429800057373350872433793583969368428942672063270298939865425225579922e-02_RKB , 4.7185546569299153945261478181099486482884807300628457194141861551725533289490897029020276525603515502104799540544222e-02_RKB , 4.6059238271006988116271735559373580594692875571824924004732379492293604006446052672252973438978639166425766841417488e-02_RKB , 4.4814800133162663192355551616723243757431392796373009889680201194063503947907899189061064792111919040540351834527742e-02_RKB , 4.3452539701356069316831728117073258074603308631703168064888805495738640839573863333942084117196541456054957383622173e-02_RKB , 4.1969810215164246147147541285969757790088656718992374820388720323852655511200365790379948462006156953358103259681948e-02_RKB , 4.0374538951535959111995279752468114216126062126030255633998289613810846761059740961836828802959573901107306640876603e-02_RKB , 3.8678945624727592950348651532281050250923629821553846790376130679337402056620700554139109487533759557982632153728099e-02_RKB , 3.6882364651821229223911065617135967736955164781030337670005198584196134970154169862584193360751243227989492571664973e-02_RKB , 3.4979338028060024137499670731467875097226912794818719972208457232177786702008744219498470603846784465175225933802357e-02_RKB , 3.2981447057483726031814191016853927510599291213858385714519347641452316582381008804994515341969205985818543200837577e-02_RKB , 3.0907257562387762472884252943092272635270458523807153426840486964022086189874056947717446328187131273807982629114591e-02_RKB , 2.8754048765041292843978785354334211144679160542074930035102280759132174815469834227854660515366003136772757344886331e-02_RKB , 2.6509954882333101610601709335075414366517579522748565770867438338472138903658077617652522759934474895733739329287706e-02_RKB , 2.4191162078080601365686370725232026760391377828182462432228943562944885267501070688006470962871743661192935455117297e-02_RKB , 2.1828035821609192297167485738338993401507296056834912773630422358720439403382559079356058602393879803560534375378340e-02_RKB , 1.9414141193942381173408951050128455851421014191431525770276066536497179079025540486072726114628763606440143557769099e-02_RKB , 1.6920889189053272627572289420322092368566703783835191139883410840546679978551861043620089451681146020853650713611444e-02_RKB , 1.4369729507045804812451432443580010195841899895001505873565899403000198662495821906144274682894222591414503342336172e-02_RKB , 1.1823015253496341742232898853250592896264406250607818326302431548265365155855182739401700032519141448997853772603766e-02_RKB , 9.2732796595177634284411468920243604212700249381931076964956469143626665557434385492325784596343112153704094886248672e-03_RKB , 6.6307039159312921733198263697501681336283882177812585973955597357837568277731921327731815844512598157843672104469554e-03_RKB , 3.8904611270998840512672018445155032785151429848864649214200101281144733676455451061226273655941038347210163533085954e-03_RKB , 1.3890136986770076245515912267596996810488412919632724534411055332301367130989865366956251556423820479579333920310978e-03_RKB ]

A vector of type real of the highest-precision kind available by the processor, containing the weights of the 61-points Kronrod extension to the 30-points Gauss quadrature rule.

nodeG30
nodeK61
weightG30
weightK61
Test:

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.

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:
Amir Shahmoradi, September 1, 2017, 12:00 AM, Institute for Computational Engineering and Sciences (ICES), The University of Texas at Austin

Definition at line 1935 of file pm_quadPack.F90.

## ◆ weps

The scalar constant object of type weps_type that indicates the use of Epsilon extrapolation method of Wynn (1961) to accelerate the convergence of integrations of functions with integrable singularities and infinities using the (Adaptive) Global Gauss-Kronrod Quadrature of getQuadErr.

See the documentation of getQuadErr for example usage.

Test:

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.