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)