Re: Handling branch cuts for hypergeometric functions



["Viktor T. Toth" , Sat, 12 Feb 2005 08:13:51 -0500]:
> If I may throw in my two cents' worth, I really think that we should work
> towards reducing the number of instances when Maxima asks a question
> interactively, not add to them. Interactive queries are _evil_ 

I also feel that interactive queries should at least be optional.  One
way of handling that that I once thought attractive was the
possibility of telling Maxima to use some specific "typical" values
for answering the queries, and to represent the result so obtained
together with the assumptions that were made.

So if, e.g., evaluation of foo() with free parameters x and a has to
ask the questions "is x positive?", "is a*x nonzero?", and we give
typical values a:1, x:1, then the answers would automatically
evaluated to "no" and "yes", so that we have something like, e.g.,

    with_typical_values([a:1, x:1], foo()) ==>
        asserting([x <= 0, a*x # 0],
                  evaluated_foo)

This way you get a fully evaluated result for the case you care about,
you don't have to evaluate all possible combinations, you are not
faced with annoying interactive questions, and it is easy to check
whether the assumptions that went into the evaluation also hold for
other values of the free parameters.

I don't know how those queries are implemented, but my naive
expectation is that the CL condition system might be of use here.

> > On the other hand, it is also consistent to have flags
> > of some sort that make default assumption
> 
> It may not be ideal, but in my opinion, it's a lot more preferable than
> interactive queries.

I think that more or less anything is preferable to interactive
queries that you cannot turn off.

Or is there a way to turn them off that I have missed so far?

Albert.