evaluation of ai(x) with reduced cancellation · catastrophic cancellation. but... [abramowitz...

34
Evaluation of Ai(x) with Reduced Cancellation Sylvain Chevillard Inria APICS team, Sophia Antipolis Marc Mezzarobba CNRS Pequan team, LIP6, UPMC, Paris Structures mathématiques du calcul , Lyon 2014-02-07

Upload: others

Post on 15-Oct-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

Evaluation of Ai(x)with Reduced Cancellation

Sylvain ChevillardInria

APICS team, Sophia Antipolis

Marc MezzarobbaCNRS

Pequan team, LIP6, UPMC, Paris

Structures mathématiques du calcul, Lyon2014-02-07

Page 2: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

The Airy Function Ai(x)

–0.6

–0.4

–0.2

0

0.2

0.4

0.6

–8 –6 –4 –2 2 4 6 8x

Ai00(x)=xAi(x) Ai(0)=1

32/3¡(2/3)Ai0(0)=¡ 1

31/3¡(1/3)

Page 3: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

Multiple-Precision Evaluation for x> 0

Standard Approach�Small� x: Taylor Series at 0 for n=0; 1; :::; N ¡ 1

tn := a1(n) � tn¡1 �x+a2(n) � tn¡1x2+ ���+ak(n) � tn¡k �xk

s := s+ tn(�oating-point, precision pwork)

� catastrophic cancellation

for moderately large x

� need pwork� pres

�Large� x: Asymptotic Expansion at1

This talkNew evaluation algorithm for �small� x with pwork� presComplete error analysis

Page 4: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

Cancellation?

Page 5: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

A Simple Example

0

0.2

0.4

0.6

0.8

1

1 2 3 4 5 6 7 8x

exp (¡x)=Xn=0

1(¡1)nn!

xn

x= 20

> x := 20:

> add((-20.)^n/n!, n=0..99);

¡:12115250e¡ 1

> exp(-20.);

:2061153622e¡ 8

> Digits := 30;add((-20.)^n/n!, n=0..99);

Digits: =30

:206115362243865948417e¡ 8

Page 6: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

Catastrophic Cancellation

0

1e+07

2e+07

3e+07

4e+07

20 40 60 80 100

jynxnj(x= 20)

�lost� digits� log (max jynxnj)¡ log jy(x)j

Page 7: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

Except that...

exp (¡x) = 1

exp (x)

Page 8: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

Another ExampleThe Error Function

–1

–0.5

0

0.5

1

–6 –4 –2 2 4 6x

erf(x)= 2

�p

�x¡ 1

3x3+

110

x5¡ 142

x7+1216

x9¡ ����

Page 9: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

The Error Function

0

20000

40000

60000

80000

100000

120000

20 40 60 80 100

x=4

catastrophic cancellation

Page 10: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

But...

[Abramowitz & Stegun 1972, p. 297]

Algorithm

1. Compute2

�p

Xn=0

12nx2n+1

1 � 3 ��� (2n+1)positive terms, no cancellation

2. Compute exp (x2)3. Divide

Page 11: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

Wheredoes this formula

�come from�?

Page 12: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

The Gawronski-Müller-Reinhard Method

Or: How Complex Analysis �explains� the previous trick

Idea: Find F and G such that

1. y(x)=G(x)

F (x)

2. F and G computable with little cancellation

W. Gawronski, J. Müller, M. Reinhard. SIAM J. Num. An., 2007

M. Reinhard. Phd thesis, Universität Trier, 2008

Page 13: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

Back to Ai

–0.6

–0.4

–0.2

0

0.2

0.4

0.6

–8 –6 –4 –2 2 4 6 8x

Ai(x)= A¡Bx+A6x3¡ B

12x4+

A180

x6¡ B504

x7+A

12960x9¡ ���

= AXn=0

11 � 4 ��� (3n¡ 2)

(3n)!x3n¡B

Xn=0

12 � 5 ��� (3n¡ 1)

(3n+1)!x3n+1

Page 14: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

Asymptotics

Ai(z)�exp

�¡2

3z3/2

�2 �p

z1/4

as z!1in any sector

fz 2Cj¡'< arg z < 'gwith '<�

Page 15: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

Asymptotics

jAi(r ei�)j � exp (h(�) r�)

for large r

Ai(z)�exp

�¡2

3z3/2

�2 �p

z1/4

Order �=3/2

Indicator h(�)=¡23cos

3 �2

Page 16: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

Lost in Cancellation

jy(r ei�)j � exp (h(�) r�)

for large r

maxnjyn znj=M(jz j)1+o(1)

M(r)=maxjz j=r

jy(z)j

�lost� digits � log10�maxnjyn znj

�¡ log10 jy(z)j

� log10M(jz j)¡ log10 jy(z)j

� (r�max'

h('))¡ r�h(�) (z= r ei�)

= r� (maxh¡h(�))

Page 17: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

Lost in Cancellation

ill-conditioned

well-conditioned

lost digits� r� (maxh¡h(�))

Page 18: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

The GMR Method

�jF (z)j � exp (hF(�) r�)jG(z)j � exp (hG(�) r�)

)����G(z)F (z)

����� exp [(hG(�)¡hF(�))||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| |{z}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} }hG/F(�)

r�]

Idea (re�ned): look for

� an auxiliary series F ,

� a modi�ed series G= yF ,

both of order �,

such that hF and hG � their max for �=0

Page 19: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

Auxiliary Series: A First Try

Ai(x)=G(x)

exp¡�x3/2

�?

Page 20: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

Indicators

Ai(x) Ai(j¡1x) Ai(j x)

F (x)=Ai(j x)Ai(j¡1x) G(x)=Ai(x)Ai(j x)Ai(j¡1x)

Page 21: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

How do we

evaluatethe auxiliary series?

Page 22: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

Computer Algebra to the Rescue

A function y is D-�nite (holonomic) when it satis�es a linear ODE withpolynomial coe�cients.

Examples: Ai(x); exp (x); erf(x)::: Ai00(x)= xAi(x)

If f(x), g(x) are D-�nite, then:

� f(x)+ g(x) and f(x) � g(x) tooF (x)=Ai(j x) �Ai(j¡1x) F 000(x)= 4xF 0(x)+ 2F (x)

� The Taylor coe�cients of f(x) obey a linear recurrence relation withpolynomial coe�cients

F (x)=Xn=0

1

Fnxn Fn+3=

2 (2n+1)(n+1) (n+2) (n+3)

Fn

Page 23: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

The Auxiliary Series F (x)

F (x)=Ai(j x)Ai(j¡1x)=Xn=0

1Fnxn

D-Finiteness

Fn+3=2 (2n+1)

(n+1) (n+2) (n+3)Fn

F0=1

34/3¡�2

3

�2 F1=

1

2 3p

�F2=

1

32/3¡�1

3

�2

Two-term recurrence ➡ Easy to evaluate

Obviously Fn> 0 ➡ No cancellation

Page 24: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

The Modi�ed Series G(x)

G(x)=Ai(x)F (x)=Xn=0

1Gnx

3n

D-Finiteness

Gn+2=10 (n+1)2Gn+1¡Gn

(n+1) (n+2) (3n+4) (3n+5)

G0=1

9 ¡�2

3

�3 G1=

1

18¡�2

3

�3 ¡

1

3 ¡�1

3

�3

G(x)= 0.44749 � 10¡1+ 0.50371 � 10¡2x3+ 0.14053 � 10¡3x6

+ 0.1738810¡5x9+ 0.12091 � 10¡7x12+ 0.53787 � 10¡10x15+ ���

Observe that Gn> 0 (proof?)

Page 25: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

Bad News

The recursive computation of Gn is

unstable

(The computation of the sumXn=0

1

Gnxn is stable: no cancellation)

Page 26: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

Minimality

Gn is one of the solutions of un+2=10 (n+1)2un+1¡un

(n+1) (n+2) (3n+4) (3n+5)

un=vnn!2

➡ vn+2=

�109+ o(1)

�vn+1¡

�19+ o(1)

�vn

Perron-Kreuser Theoremvn+1vn!

�either 1 dominant solution (generic case)or 1/9 minimal solution (non-generic)

Experimentally Gn�1

9nn!2(minimal!) (proof?)

1

9nn!2+ " � 1

n!2� " � 1

n!2➡ numerically unstable recursion

Page 27: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

Miller's Method

Idea�Unroll� the recurrence backwards for stability...starting from arbitrary �initial� values

AlgorithmChoose N� 0

Set uN =1, uN+1=0

Compute uN¡1; :::; u1; u0using the recurrence

Return the list of G~n(N)

=G0

u0un

u0= 5.045 1022 ➡ G0= 4.475 10¡2

u1= 5.679 1021 ➡ G1= 5.039 10¡3

u2= 1.584 1020 ➡ G2= 1.405 10¡4

u3= 1.960 1018 ➡ G3= 1.739 10¡5

u4= 1.363 1016 ➡ G4= 1.209 10¡8

u5= 6.064 1013 ➡ G5= 5.379 10¡11

u6= 1.873 1011 ➡ G6= 1.661 10¡13

u7= 4.248 108 ➡ G7= 3.768 10¡16

u8= 7.369 105 ➡ G8= 6.538 10¡19

u9= 1000: ➡ G9=8:869 10¡22

u10=1: ➡ G10= 8.869 10¡25

u11=0: G11=0

Page 28: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

Convergence of Miller's Method

AlgorithmChoose N� 0

Set uN=1, uN+1=0 same starting values for all N

Compute uN¡1; :::; u1; u0using the recurrence

Return the list of G~n(N)

=G0

u0un

Theorem (classical)

For �xed n, we have G~n(N)!Gn as N!1

Page 29: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

Final algorithm

1. Compute error bounds, choose working precision (how?)

2. Compute F (x) by direct recurrence

3. Compute G(x) using Miller's method

4. Divide

Numerically stable in practice (proof?)

Page 30: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

I didn't yet

proveanything

Page 31: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

Making the Analysis Rigorous

� Prove that (Gn) is a minimal solution

[) Miller's method works]

� Prove that Gn> 0[) no cancellation] Main issue:

need bounds on Gn

� Bound the tails of the series F and G

� Bound the roundo� errors inX

Fnxn

� Bound the method error of Miller's algorithm

� Bound additional roundo� errors due to Miller's method [M&vdS 1976]

R.M.M. Mattheij & A. van der Sluis, Numerische Mathematik , 1976

Page 32: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

Controlling Gn

Main Technical Lemma

Gn� n=1

4 3p

� 9nn!2with

����Gn

n¡ 1

����6 2.4n¡1/4 for all n> 1

Corollary: Gn> 0 (for large n, then for all n)

Idea of the proof

� Gn=12� i

IG(z)

z3n+1dz

� saddle-point method

� Ai(z)� e¡2

3z3/2

2 �p

z1/4+ error bound

Page 33: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

Summary� New well-conditioned formula for Ai(x),

obtained by an extension of the GMR method

� Rigorous error analysis on this example

� Ready-to-use multiple-precision algorithm for Ai(x)

implementation & suppl. material at http://hal.inria.fr/hal-00767085

Next question: How much of this is speci�c to Ai(x)?� Entire function

� Ability to �nd auxiliary series

� D-�niteness [constraints on the order of the recurrences?]

� Asymptotic estimate with error bound

S. Chevillard & M. Mezzarobba, ARITH 2013

Page 34: Evaluation of Ai(x) with Reduced Cancellation · catastrophic cancellation. But... [Abramowitz & Stegun 1972, p.297] Algorithm 1.Compute 2 p X n=0 1 2 nx2+1 1 3 (2n+1) positive terms,

Credits & Public Domain Dedication

This document uses

� the image http://commons.wikimedia.org/wiki/File:AiryAi_Abs_Surface.png fromWikimedia Commons, by User:Inductiveload, placed in the public domain;

� the image http://www.flickr.com/photos/panr/4410697542/ , by Robert Cutts, disstrib-uted under a Creative Commons Attribution 2.0 license (http://creativecommons.org/licenses/by/2.0/);

� icons from the Oxygen icon set (http://www.oxygen-icons.org/), distributed under theCreative Commons Attribution-ShareAlike 3.0 license (http://creativecommons.org/licenses/by-sa/3.0/).

To the extent possible under law, Marc Mezzarobba has waived all copyright and related orneighboring rights to the rest of the present document Evaluation of Ai(x) with ReducedCancellation. This work is published from: France.