Exponential Integrals - Complex Bigfloat algorithm



Perhaps even more interesting is the result for a complex Bigfloat number:

E1(0.5b0+%i) - complex Bigfloat number

Realpart of the result with a precision of 16,32 and 64 digits:

  - 7.139471104245263b-2
  - 7.1394711042452723555884979936871b-2
  - 7.13947110424527235558849799368449390033695834555289289265924773b-2

functions.wolfram.com:

- 0.0713947110424527235558849799368449390033695834555289289265924760 

Imagpart of the result with a precision of 16,32 and 64 digits:

 - 3.574937736521627b-1 %i
 - 3.5749377365216265125485869345733b-1 %i
 - 3.574937736521626512548586934573247791553769710980144511429423773b-1 %i

functins.wolfram.com:
         
- 0.3574937736521626512548586934573247791553769710980144511429423771*i

We results agree within the desired accuracy of 64 digits.

Dieter Kaiser

-----Urspr?ngliche Nachricht-----
Von: maxima-bounces at math.utexas.edu [mailto:maxima-bounces at math.utexas.edu] Im
Auftrag von Dieter Kaiser
Gesendet: Sonntag, 20. Juli 2008 19:25
An: willisb at unk.edu
Cc: maxima at math.utexas.edu
Betreff: Re: [Maxima] Exponential Integrals - Complex Bigfloat algorithm

Thank you very much for your help.

I have got it. The precision of bigfloat%e and bigfloat%gamma were the problem.
I did not see your simple way of recalculation the constants. We get now:

E1(0.5)

Maxima Bigfloat for 16,32 and 64 digits:

 5.597735947761609b-1
 5.5977359477616081174679593931509b-1
 5.597735947761608117467959393150852352268468903163535152482932194b-1

functions.wolfram.com with 64 digits:

0.5597735947761608117467959393150852352268468903163535152482932191

in agreement within 64 digits 

E1(1.5);

Maxima Bigfloat for 16,32,64 digits:

 1.000195824066326b-1
 1.0001958240663265190190933991167b-1
 1.000195824066326519019093399116669782617300061403505850505670605b-1

Functions.wolfram.com with 64 digits:

0.1000195824066326519019093399116669782617300061403505850505670604

in agreement within 64 digits

So, I have to do further tests. But these results show that the algorithm for
the complex Bigfloat numbers seems to work quite fine.

Again, thank you for your help.

Dieter Kaiser

-----Urspr?ngliche Nachricht-----
Von: willisb at unk.edu [mailto:willisb at unk.edu] 
Gesendet: Sonntag, 20. Juli 2008 18:46
An: Dieter Kaiser
Cc: maxima at math.utexas.edu
Betreff: Re: [Maxima] Exponential Integrals - Complex Bigfloat algorithm

-----maxima-bounces at math.utexas.edu wrote: -----

>I suppose the problems arise because we need the constants BIGFLOAT%E and
>BIGFLOAT%GAMMA in the calculation.

That's a good start, I think. Try something like

  (let ((bigfloat%e ($bfloat '$%e)) ...)

Also, if your code changes the value of fpprec, look at the macro
bind-fpprec (defined in nummod.lisp).


Barton

_______________________________________________
Maxima mailing list
Maxima at math.utexas.edu
http://www.math.utexas.edu/mailman/listinfo/maxima