MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Numerical calculation of a double sum (Appell's function F4)

  • To: mathgroup at smc.vnet.net
  • Subject: [mg75362] Re: Numerical calculation of a double sum (Appell's function F4)
  • From: David Bailey <dave at Remove_Thisdbailey.co.uk>
  • Date: Thu, 26 Apr 2007 03:37:00 -0400 (EDT)
  • References: <f0n8j5$s6s$1@smc.vnet.net>

Markus Huber wrote:
> Hello,
> 
> I am working currently with double hypergeometric sums. Unfortunately
> the one I need (Appell's F4) is not implemented in M. So I decided to
> write my own F4.
> I discovered quickly that this a far more complicated task than
> expected, which is due to many special cases of the arguments (e.g.
> the series can be truncated, transform into another series or have
> singularities in Gamma functions; there are also cases where these
> singularities cancel). I managed to overcome all those difficulties,
> but still I wonder, if there is an easier solution to the following:
> 
> F4 is a double sum. My approach is a simple While loop (ok, it's more
> complicated, because cancelling singularities can lead to intermediate
> terms that are zero and so you have t think carefully about getting a
> quantity that tells you when the desired accuracy is reached). Is
> there a function in M that can do double sums numerically and also
> checks for convergence?
> 
> I appreciate any help, because this - I would guess - would make the
> calculation faster and the code more readable.
> 
> Thanks for any suggestions
> 
> 
> Markus Huber
> 
> 
> PS: Don't be misled by the seeming simplicity of Appell's Function F4
> when you look it up. In all probability you will only find the
> standard series representation. There are also other representations
> with other regions of convergence that exist of 5 single
> hypergeometric series. Esp. those I need.
> 
> 
I will admit to moderate use of While constructs too! Functional 
constructs are fine when they are neat, but they can be very obscure 
when they replace a While loop that contains conditionals and other 
complications!

Switching to a functional notation produces big speed gains in some 
cases, but not always - particularly when the loop you are replacing 
contains lots of other complexity. If you really need extra speed, you 
might want to consider compilation.


David Bailey
http://www.dbaileyconsultancy.co.uk


  • Prev by Date: Re: remote kernel
  • Next by Date: Re: "hard" simplification
  • Previous by thread: Numerical calculation of a double sum (Appell's function F4)
  • Next by thread: Re: Numerical calculation of a double sum (Appell's function F4)