FW: [Maxima] Handling branch cuts for hypergeometric functions
Subject: FW: [Maxima] Handling branch cuts for hypergeometric functions
From: Rogers, Raymond
Date: Fri, 25 Feb 2005 11:55:44 -0500
> From: Raymond Toy [mailto:raymond.toy at ericsson]
> >>>>> "Wolfgang" == Wolfgang Jenkner writes:
>
> Wolfgang> Raymond Toy writes:
> >> These kinds of things always reminds of an example
> given in Kahan's
> >> paper Much Ado about Nothing's Sign. He has an
> example two fairly
> >> complicated functions and asks if they're equal. If
> you plug some
> >> random values, they are equal. I think that if you do
> some naive
> >> manipulations, you'll prove that they are equal. In
> fact, they are
> >> equal, except for in a small oval region of the plane,
> which you'd
> >> probably not find by random testing. The difference
> arises because of
> >> the branch cuts of the functions involved.
>
> Wolfgang> But the `typical values' select only the
> premises of an implication,
> Wolfgang> say
>
> Wolfgang> f=g => some result
>
> Wolfgang> It's still up to the user to work out if f=g is
> satisfied or not.
>
> Wolfgang> At least this is how I understand Albert
> Reiner's proposal in this
> Wolfgang> thread.
>
> I was just wondering how useful it would be in more complicated
> situations. The example I gave was a great example but I think it
> illustrates the pitfall of using "typical" values to decide
> something. But perhaps for the kinds of questions maxima asks, it is
> ok. I certainly haven't come up with a counterexample where this
> would not work.
>
> Ray
There is a logical extension here. Accept a "typical" operating
point/condition [a=a1, b=b1, c>0, etc..] and then use the conditional
branches to choose the open neighborhoods towards each entry
[(..a=1...),(...b=b1...),(...c..0) ]. The coding is probably tedious but
the results would be mathematically correct for functions continuous in the
specified variables around the specificed "typical" point. In addition the
open neighborhoods could be spelled out in the result. Encoded as a "style"
this would provide guidelines for coding functions that have a limited
domain of known validity.
Ray Rogers