Re: Problem with hypergeometric function

*To*: mathgroup at smc.vnet.net*Subject*: [mg34827] Re: Problem with hypergeometric function*From*: wempenj at asme.org (JDW)*Date*: Sat, 8 Jun 2002 05:21:55 -0400 (EDT)*References*: <adpfj2$j4c$1@smc.vnet.net>*Sender*: owner-wri-mathgroup at wolfram.com

Ignacio, Your function with the HypergeometricPFQ function is numerically evaluated with no problmes on Mathematica 4.0. You should upgade before making any recomendations to the Mathematica developers!!!! Arbitrary precision arithmetic requires more memory and increases evaluaion time. f = HypergeometricPFQ[{1/2}, {1, 3/2}, -8000] N[f] 0.00586605 JDW Ignacio Rodriguez <ignacio at sgirmn.pluri.ucm.es> wrote in message news:<adpfj2$j4c$1 at smc.vnet.net>... > $Version > > Microsoft Windows 3.0 (April 25, 1997) > > Hi all, > I have noticed some problems when trying to evaluate numerically certain > hypergeometric functions. > For example: > > f=HypergeometricPFQ[{1/2},{1,3/2},-8000] > > N[f] > > -1.34969 x 10^57 > > a bit big, isn't it? > > $MaxExtraPrecision=200 > N[N[f,30]] > > 0.00586605 > > This seems more reasonable. The reason for this odd behaviour is related > to how this expressions are evaluated. Essencially, N applies itself to > any subexpression of f, as if MapAll were used. > So, in the first case, HypergeometricPFQ finds machine precission > numbers as its arguments, and evaluates itself in the same way. The > algorithm is obviously not very fortunate (a series expansion, I > guess?), and so is not the result. In the second case, their arguments > are arbitrary precision numbers, and even though the same problems are > present, using extremely high precision numbers for the intermediate > calculation does the trick. > > My version of Mathematica is a bit old, and I would like to know if this > problem remains in newer versions. > > I would also like to recommend to Mathematica developers to switch to > arbitrary precision arithmetic in all those cases in which they do not > know for sure if the algorithm that is being used will give reliable > results in case of using machine size arithmetic.