# [Maxima] Exponential Integrals - Complex Bigfloat algorithm

Dieter Kaiser drdieterkaiser at web.de
Sun Jul 20 13:02:03 CDT 2008

```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

```