## ACA 2017 - The Appell doubly hypegeometric Functio...

by: Maple

I'm back from presenting work in the "23rd Conference on Applications of Computer Algebra -2017" . It was a very interesting event. This fifth presentation, about "The Appell doubly hypergeometric functions", describes a very recent project I've been working at Maple, i.e. the very first complete computational implementation of the Appell doubly hypergeometric functions. This work appeared in Maple 2017. These functions have a tremendous potential in that, at the same time, they have a myriad of properties, and include as particular cases most of the existing mathematical language, and so they have obvious applications in integration, differential equations, and applied mathematics all around. I think these will be the functions of this XXI century, analogously to what happened with hypergeometric functions in the previous century.

At the end, there is a link to the presentation worksheet, with which one could open the sections and reproduce the presentation examples.

The four double-hypergeometric Appell functions,

a complete implementation in a computer algebra system

Edgardo S. Cheb-Terrab

Physics, Differential Equations and Mathematical Functions, Maplesoft

Abstract:
The four multi-parameter Appell functions, AppellF1 , AppellF2 , AppellF3  and AppellF4  are doubly hypergeometric functions that include as particular cases the 2F1 hypergeometric  and some cases of the MeijerG  function, and with them most of the known functions of mathematical physics. Appell functions have been popping up with increasing frequency in applications in quantum mechanics, molecular physics, and general relativity. In this talk, a full implementation of these functions in the Maple computer algebra system, including, for the first time, their numerical evaluation over the whole complex plane, is presented, with details about the symbolic and numerical strategies used.

Appell Functions (symbolic)

The main references:

 • P. Appel, J.Kamke de Feriet, "Fonctions hypergeometriques et Hyperspheriques", 1926
 • H. Srivastava, P.W. Karlsson, "Multiple Gaussian Hypergeometric Series", 1985
 • 24 papers in the literature, ranging from 1882 to 2015

 Definition and Symmetries
 Polynomial and Singular Cases
 Single Power Series with Hypergeometric Coefficients
 Analytic Extension from the Appell Series to the Appell Functions
 Euler-Type and Contiguity Identities
 Appell Differential Equations
 Putting all together
 Problem: some formulas in the literature are wrong or miss the conditions indicating when are they valid (exchange with the Mathematics director of the DLMF - NIST)

Appell Functions (numeric)

Goals

 • Compute these Appell functions over the whole complex plane
 • Considering that this is a research problem, implement different methods and flexible optional arguments to allow for: a) comparison between methods (both performance and correctness), b) investigation of a single method in different circumstances.
 • Develop a computational structure that can be reused with other special functions (abstract code and provide the main options), and that could also be translated to C (so: only one numerical implementation, not 100 special function numerical implementations)

Limitation: the Maple original evalf command does not accept optional arguments

The cost of numerically evaluating an Appell function

 • If it is a special hypergeometric case, then between 1 to 2 hypergeometric functions
 • Next simplest case (series/recurrence below) 3 to 4 hypergeometric functions plus adding somewhat large formulas that involve only arithmetic operations up to 20,000 times (frequently less than 100 times)
 • Next simplest case: the formulas themselves are power series with hypergeometric function coefficients; these cases frequently converge rapidly but may involve the numerical evaluation of up to hundreds of hypergeometric functions to get the value of a single Appell function.

Strategy for the numerical evaluation of Appell functions (or other functions ...)

The numerical evaluation flows orderly according to:

1) check whether it is a singular case

2) check whether it is a special value

3) compute the value using a series derived from a recurrence related to the underlying ODE

4) perform an sum using an infinite sum formula, checking for convergence

5) perform the numerical integration of the ODE underlying the given Appell function

6) perform a sequence of concatenated Taylor series expansions

 Examples
 Series/recurrence
 Numerical integration of an underlying differential equation (ODEs and dsolve/numeric)
 Concatenated Taylor series expansions covering the whole complex plane

Subproducts

 Improvements in the numerical evaluation of hypergeometric functions
 Evalf: an organized structure to implement the numerical evaluation of special functions in general
 To be done

Edgardo S. Cheb-Terrab
Physics, Differential Equations and Mathematical Functions, Maplesoft

## Maple not evaluating symbolic variables?...

Dear Maple users,

I have very interesting problem with evaluating of only symbolic equations.

The problem is: (In document mode)
When I try to evaluate all numeric values for example typing 1+2 and press Enter it successfuly evaluates 3.
But when I try to evaluate symbolic values for example x + y nothing happens.

I tried lots of things to solve this, but no luck.
Shortly if the equation contains only numbers it evaluates successfuly.
And if the equation contains one or more symbolic variables like (x, y, z, variable1, test1), it does nothing.

What could be the problem?

(Because of this problem I cannot use the document mode, so I'm using the worksheet mode. Worksheet mode works good, but sometimes it is not calculating like document mode)

System is Windows 7 x64
Maple 2016
8 x 3.50GHz Xeon CPU
128 GB RAM
Windows Language is Turkish, (I tried with also USA English, but no luck either)
Keyboard is Turkish TR, (I tried with also US English, but no luck either)

## Not solving when specifying value of n?...

This is what I'm trying to solve:

I literally just want it to plug in those values for n and spit out a value. This is easy enough for me to do by hand, but I obviously wanted to speed up the process by doing it with Maple. What's wrong here? I clicked the pink links and that didn't help.

## How can I display operators such as + and - and sq...

It is possible to display something like:

4 + 3 = x - 1

without Maple actually adding the 4 and 3 and putting that as a 7?

Same idea with sqrt. Is it possible to write sqrt(9) in a worksheet and actually seeing it as square root of 9 rather than a 3. Maple automatically simplifies everything so it's kinda hard to show a step by step process. Is there a way to solve this problem?

To be clear, I am talking about typing this into an active worsheet line. I know I can do a lot of this if I just do text becuase text lines obviously don't execute. They just display text. The reason I need to have this working is becuase sometimes I would have a command line where I want some of it to be excuted and some of it not so I can't just use text.

Thank you

## how to control the timing of evaluation...

Hello people in mapleprimes,

I wonder if there is not any way to control the timing of substitution.

For  example,

x:=(t^(1-s)+s^(1-2*s))^a;mu:=c^(a-b)/'x';

brings mu := c^(a-b)/x. Please note that I made x unevaluated with '' around x, so that,

into the output of mu, the definition of x of (t^(1-s)+s^(1-2*s))^a does not appear.

But, in this case, when I typed the expression of

1+mu

and clicked return, the definition of x is inserted into the result of 1+m, though

I want x to remain x yet.

Surely, if I wrote ''x'' in stead of 'x', 1+mu does not contain the definition of x.

But, in that case as well, when I have other following calculations, in those the definition

of x should apear, which I don't like.

On the other hand, when I write as

x:=(t^(1-s)+s^(1-2*s))^a; x:='x';
mu:=c^(a-b)/x; 1+m;

surely as x is initialized once, the result of mu and 1+mu does not cotain the definition of x.

But, in this case, I have to write x:=(t^(1-s)+s^(1-2*s))^a; when I want the definition of x

to be inserted. Though in this case the definition of x is short, original relations I have and

haven't writen above is a little more complicated, so that to insert is not desiable.

Aren't there any good way to evaluate the value of particular variables and to leave them

unevaluated at each time I want to choose each one?

I hope I could have written my question as easly understood.

taro

## How to use seq to make a sequence of functions?...

When using seq function below in the second call, it does not generate a sequence of functions with 'a' being 1, 2, and 3, and I had expected.

First seq function call is just to show that it works without the function "x ->" wrapping.

I could of couse use unapply as in the third call, but I had expected the second call to work.

Am I doing anything wrong, or is this a Maple bug?

## How to find a "smart" form of the converse of a bo...

No need to hurry, esthetics is not a vital issue ... but thanks in advance.

PS : sorry for the syntax errors "waves" generated in the original Word document

## Why isn't integral evaluated?...

Doing the following:

Why is int used when defining F not evaluated to x^2/2 when used to defined function F as shown in (2), when the int is evaluated when used separately in (3)?

## Why do braces limit evaluation?...

Is there a help page which explains why braces provide the partial text evaluation in this code?

## Standing wave animation...

Hello everyone,

I'm working on a simulation for standing wave to prove that the combination of 2 waves in opposite direction can create standing wave. So I use these:

> restart;
> with(plots):
> W1:=A*cos(omega*t-k*x);

> W2:=A*cos(omega*t+k*x);

> W:=W1+W2;

> SW:=(A,omega,k)->animate(plot,[{W1,W2,W},x=-4..4,y=-4..4,color=[red,green,blue],scaling=constrained],t=0..5,frames=10);

> display(SW(2,2*Pi,5),insequence);

It did work if SW is a function with one variable, now I need 3 variables (A,omega,k);

It said: "Plotting error, empty plot"

Please show me my mistake or an another method. Thank you

## How can I evaluate a matrix?...

I have this matrix

and I would like to evaluate the variables like this

I tried this

but it didnt work.

Any suggestions??

Thank you so much

## math problem!!...

Hi!! i am working on assignment.

h:= x-> (x^17-x*sin(x^16))/x^49+exp(sqrt(x+8))*ln(abs((cos^4*(x)-5)));

i want to find the value of the h(10)

i use eval , but it comes out a function, not a solution.

## Evaluating a Plot...

I have been here before...  My head is full of cotton, as usual.

f := proc (t) 2*t^3+9*t^2-60*t+1 end proc;
deq:=diff(f(t),t);
df := t->deq;  ## this is most likely one of my problems.
plot(df(t),t=-10..10);
isneg := x -> if is(df(x) < 0) then df(x) else 0 end if;  ## and, another??
plot(isneg(t),t=-10..10);
Plt1:=plot(isneg(t),t=-10..10);
plots:-display(Plt1);
isneg(0.12017234);

The if statement is not fully evauated.

I am missing something.  What?

Tom Dean

## How to calculate that integral?...

Hi everyone,

I have a great problem with the evaluation of following definite integral

> restart;

> int((t-x)^2)/(1+2t+(1/2)t^2-ln(t^2+2t+2)t-ln(t^2+2t+2)+arctan(1+t)t^2+2arctan(1+t)t+ln(2)t+ln(2)-(pi/4)t^2-(pi/2)t)^2,t=0..x)

I have tried different classical commands but Maple doesn't give an answer. Probably, it's just a silly fault.

Does anyone knows how to solve it?

Thanks.

## Subtract values of variables in "PolynomialSystem"...

Hi,

I have the following code for using "PolynomialSystem" solve equations of polynomial

*********

with(SolveTools):

f:=PolynomialSystem({x+y-3, x^2+y^2-5}, {x, y}):

print(x,y);
print(f);
f[1];f[2];
a:=f[1][1];b:=f[1][2];
print(a,b);
c:=-evalf(a);d:=-evalf(b);

****************

The output is

***

x, y
{x = 2, y = 1}, {x = 1, y = 2}
{x = 2, y = 1}
{x = 1, y = 2}
x = 2
y = 1
x = 2, y = 1
-x = -2.
-y = -1.

***

From what I have seen, I cannot subtract the values of x and y as 2 and 1. Is there any way that I can get the values of solutions of variables, namely I can assign a variable "a" as 2, and the other variable "b" as 1?

Thank you very much!

 1 2 3 Page 1 of 3
﻿