Problem with hypergeometric function
- To: mathgroup at smc.vnet.net
- Subject: [mg34796] Problem with hypergeometric function
- From: Ignacio Rodriguez <ignacio at sgirmn.pluri.ucm.es>
- Date: Fri, 7 Jun 2002 01:09:00 -0400 (EDT)
- Organization: UCM
- Sender: owner-wri-mathgroup at wolfram.com
$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.