Work on the Exponential Integrals



Hello Barton,

thank you very much for your feed back.

First:
The described error is a silly bug. At last I have changed the names of some variables and omitted one change. This part of the code is not tested by the test values I have collected up to now.

Now you get the following result: expintegral_e(5,1.0) -> 0.07045423746172. 

That's identical to the value you can evalute on the website functions.wolfram.com.

I have corrected two further silly bugs and attached the corrected code to a post on sourceforge.net. 

Second:
I have implemented the simplification E0(z) -> e^(-z)/z. This is mathematically true for all complex z. The code doesn't check for infinities, this has to be added. There are other places in the code with this problem.

Third:
Thank you very much for your hint concering the derivatives. I think it is the best to implement the code you have suggested to avoid the error. 
It is possible to give the derivative with respect to the parameter. But the derivative is in terms of the Regularized Hypergeometric functions, which Maxima dont't know.

Dieter Kaiser

-----Urspr?ngliche Nachricht-----
Von: "Barton Willis" <willisb at unk.edu>
Gesendet: 18.07.08 03:00:03
An: "Dieter Kaiser" <drdieterkaiser at web.de>
Betreff: Re: [Maxima] Work on the Exponential Integrals

Bug:

(%i17) expintegral_e(5, 1.0);
Maxima encountered a Lisp error:
 Error in SETQ [or a callee]: The variable X is unbound.

Maybe this is OK, but I might try to trap such cases (the
trap would not be foolproof).

(%i28) expintegral_e(0, inf);
(%o28) %e^(-inf)/inf

Barton

_______________________________________________________________________
Jetzt neu! Sch?tzen Sie Ihren PC mit McAfee und WEB.DE. 30 Tage
kostenlos testen. http://www.pc-sicherheit.web.de/startseite/?mc=022220