differential equations for algebraic functions
play

Differential Equations for Algebraic Functions Bruno Salvy - PowerPoint PPT Presentation

Introduction Algorithms Bounds Conclusion Differential Equations for Algebraic Functions Bruno Salvy Bruno.Salvy@inria.fr Algorithms Project, Inria Joint work with A. Bostan, F. Chyzak, G. Lecerf & E. Schost 1 / 23 Bruno Salvy


  1. Introduction Algorithms Bounds Conclusion Differential Equations for Algebraic Functions Bruno Salvy Bruno.Salvy@inria.fr Algorithms Project, Inria Joint work with A. Bostan, F. Chyzak, G. Lecerf & ´ E. Schost 1 / 23 Bruno Salvy Differential Equations for Algebraic Functions

  2. Introduction Algorithms Bounds Conclusion I Introduction 2 / 23 Bruno Salvy Differential Equations for Algebraic Functions

  3. Introduction Algorithms Bounds Conclusion Example: Binary-Ternary Trees = + + c N = number of trees with N nodes Generating series: α = 1 + 2 z + 10 z 2 + 66 z 3 + · · · + c N z N + · · · α = 1 + z α 2 + z α 3 . More generally, context-free languages: their enumeration; their random generation. Aim c 0 , . . . , c N for large N . 3 / 23 Bruno Salvy Differential Equations for Algebraic Functions

  4. Introduction Algorithms Bounds Conclusion Computations for Binary-Ternary Trees α = 1 + z α 2 + z α 3 . 1 Non-linear recurrence � � c N = c i c j + c i c j c k , N ≥ 1 . i + j = N − 1 i + j + k = N − 1 Complexity: O ( N 3 ) ops 4 / 23 Bruno Salvy Differential Equations for Algebraic Functions

  5. Introduction Algorithms Bounds Conclusion Computations for Binary-Ternary Trees α = 1 + z α 2 + z α 3 . 1 Non-linear recurrence O ( N 3 ) 2 Iterate α k +1 = 1 + z α k + z α 3 k α 0 = 1 α 1 = 1 + 2 z α 2 = 1 + 2 z + 10 z 2 + 16 z 3 + 8 z 4 α 3 = 1 + 2 z + 10 z 2 + 66 z 3 + 248 z 4 + . . . α 4 = 1 + 2 z + 10 z 2 + 66 z 3 + 488 z 4 + . . . Complexity: O ( NM ( N )) ( M ( N ) for series product) 4 / 23 Bruno Salvy Differential Equations for Algebraic Functions

  6. Introduction Algorithms Bounds Conclusion Computations for Binary-Ternary Trees α = 1 + z α 2 + z α 3 . 1 Non-linear recurrence O ( N 3 ) 2 Iterate O ( NM ( N )) Fast Multiplication Balanced input: degree N × degree N ıve: M ( N ) = O ( N 2 ) Na¨ Karatsuba (1963): M ( N ) = O ( N 1 . 59 ) Fast Fourier Transform: M ( N ) = O ( N log N ) =: ˜ O ( N ) [Sch¨ onhage-Strassen71] Many applications via Newton iteration, including division. 4 / 23 Bruno Salvy Differential Equations for Algebraic Functions

  7. Introduction Algorithms Bounds Conclusion Computations for Binary-Ternary Trees α = 1 + z α 2 + z α 3 . 1 Non-linear recurrence O ( N 3 ) 2 Iterate O ( NM ( N )) 3 Newton iteration [Kung & Traub 78] α k +1 = α k − α k − (1 + z α 2 k + z α 3 k ) 1 − 2 z α k − 3 z α 2 k α 0 = 1 α 1 = 1 + 2 z + 10 z 2 + 50 z 3 + · · · α 2 = 1 + 2 z + 10 z 2 + 66 z 3 + 498 z 4 + 4066 z 5 + 34970 z 6 + 311042 z 7 + · · Complexity: O ( M ( N )) ( M ( N ) for series product) 4 / 23 Bruno Salvy Differential Equations for Algebraic Functions

  8. Introduction Algorithms Bounds Conclusion Computations for Binary-Ternary Trees α = 1 + z α 2 + z α 3 . 1 Non-linear recurrence O ( N 3 ) 2 Iterate O ( NM ( N )) 3 Newton iteration [Kung & Traub 78] O ( M ( N )) 4 Linear recurrence [Comtet 64, Chudnovsky 2 86] linear differential equation [Abel 1827, Cockle 1861] 1 2 z ( z − 2)( z 2 +11 z − 1) α ′′ +(3 z 3 +12 z 2 − 89 z +6) α ′ − 3( z +3) α = z +3 , translate 2 (2 n + 6)(2 n + 7) c n +3 = (46 n 2 + 227 n + 279) c n +2 − 3(6 n 2 + 10 n + 3) c n +1 − n (2 n + 1) c n . Complexity: O ( N ). 4 / 23 Bruno Salvy Differential Equations for Algebraic Functions

  9. Introduction Algorithms Bounds Conclusion Computations for Binary-Ternary Trees α = 1 + z α 2 + z α 3 . 1 Non-linear recurrence O ( N 3 ) 2 Iterate O ( NM ( N )) 3 Newton iteration [Kung & Traub 78] O ( M ( N )) 4 Linear recurrence [Comtet 64, Chudnovsky 2 86] O ( N ) Series ↔ Coefficients: orders differ � z i α ( j ) = z i ∂ j ( n − i + 1) · · · ( n − i + j ) c n + j − i z n z · α = n � ( z ∂ z ) k z − i · α = c n + i n k z n . n 4 / 23 Bruno Salvy Differential Equations for Algebraic Functions

  10. Introduction Algorithms Bounds Conclusion Computations for Binary-Ternary Trees α = 1 + z α 2 + z α 3 . 1 Non-linear recurrence O ( N 3 ) 2 Iterate O ( NM ( N )) 3 Newton iteration [Kung & Traub 78] O ( M ( N )) 4 Linear recurrence [Comtet 64, Chudnovsky 2 86] O ( N ) Our Result Even faster! (wrt degree) 4 / 23 Bruno Salvy Differential Equations for Algebraic Functions

  11. Introduction Algorithms Bounds Conclusion Algorithms and Complexities P ( z , α ) = 0 , deg P = D 1 Non-linear recurrence O ( N D ) √ 2 Iterate if α = P ( z , α ): O ( DNM ( N )) (baby steps/giant steps) √ 3 Newton iteration O ( DM ( N )) 4 Linear recurrence O ( D ? N ). Theorem (BoChLeSaSc07) 1 the recurrence computed through Cockle’s differential equation leads to O ( D 2 M ( D ) N ) ops; 2 there exist other recurrences leading to O ( DM ( D ) N ) ops. Also, results in terms of D z and D y separately. 5 / 23 Bruno Salvy Differential Equations for Algebraic Functions

  12. Introduction Algorithms Bounds Conclusion Nicer Recurrence on our Example α = 1 + z α 2 + z α 3 = + + Classical way: Linear differential equation [Abel 1827, Cockle 1861] 1 2 z ( z − 2)( z 2 +11 z − 1) α ′′ +(3 z 3 +12 z 2 − 89 z +6) α ′ − 3( z +3) α = z +3 , translate 2 (2 n + 6)(2 n + 7) c n +3 = (46 n 2 + 227 n + 279) c n +2 − 3(6 n 2 + 10 n + 3) c n +1 − n (2 n + 1) c n . Shorter recurrence: ( n +2)(2 n +5)(5 n +3) c n +2 = (110 n 3 +396 n 2 +445 n +150) c n +1 + n (2 n + 1)(5 n + 8) c n . Questions Minimal order for differential equation? for recurrence? Minimal “size”? Efficiency? 6 / 23 Bruno Salvy Differential Equations for Algebraic Functions

  13. Introduction Algorithms Bounds Conclusion Apparent Singularities Pollution α = 1 + z α 2 + z α 3 Cockle’s differential equation: 2 z ( z − 2)( z 2 +11 z − 1) α ′′ +(3 z 3 +12 z 2 − 89 z +6) α ′ − 3( z +3) α = z +3 , differential equation associated to shorter recurrence: 10 z ( z 2 + 11 z − 1) α ′′′ − (2 z 3 − 33 z 2 − 442 z + 25) α ′′ + · · · = 0 . 7 / 23 Bruno Salvy Differential Equations for Algebraic Functions

  14. Introduction Algorithms Bounds Conclusion Our Results degree degree O(D^3) O(D^3) Computation Unrolling the recurrence Minimal differential equation Õ(D M (D)N ) 2 Õ(D ) ω +4 Nice differential equation Õ(D ) Õ(DM (D)N ) ω +3 Differential equation Õ(M(D )N) 2 Õ(D ) 2 ω +3 corresponding to recurrence of small order degree Corresponding recurrences O(D^2) O(D^2) O(D^2) O(D^2) O(D^2) O(D) O(D) O(D) O(D) O(D) O(D) O(D^2) O(D^2) order order O(D^2) O(D^2) O(D^3) order 8 / 23 Bruno Salvy Differential Equations for Algebraic Functions

  15. Introduction Algorithms Bounds Conclusion History Abel (1827): Existence of linear differential equation; Cockle (1861–1862): Algorithm for linear differential equation of minimal order; Harley (1862): Name “Differential resolvent”; Tannery (1875): Rediscovery of Cockle’s method; Comtet (1964): Application to series expansion (by hand); Chudnovsky 2 (1986): Complexity point of view; Cormier, Singer, Trager, Ulmer (2002): � Degree bound in O ( D 5 ) for the differential resolvent; Nahay (2003–2004): Deg. bound in O ( D 3 ) for α λ with λ �∈ ¯ Q ; Tsai (2000): Weyl closure � removal of apparent singularities. 9 / 23 Bruno Salvy Differential Equations for Algebraic Functions

  16. Introduction Algorithms Bounds Conclusion II Algorithms 10 / 23 Bruno Salvy Differential Equations for Algebraic Functions

  17. Introduction Algorithms Bounds Conclusion Recurrence Unrolling Problem Given initial conditions and p k ( n ) u n + k + · · · + p 0 ( n ) u n = 0 , with p i ’s of degree d , compute u 0 , . . . , u N efficiently for N large. Direct: O ( Nkd ) ops; Better: O ( NkM ( d ) / d ). → The degree of the coefficients does not matter (much). Algorithm: Fast Evaluation of P ( x ) on 0 , . . . , N [Bostan et alii 07] Q ( z ) � P ( k ) z k = Idea: expand generating series P ( z ) = (1 − z ) d +1 . k ≥ 0 1 Compute S ( z ) := (1 − z ) − d − 1 mod z d ; 2 Compute N / d times z d C ( z ) A ( z ) (1 − z ) d +1 = b 0 + · · · + b d − 1 z d − 1 + (1 − z ) d +1 � �� � B ( z ) by B := AS mod z d ; z d C := A − B (1 − z ) d +1 . 11 / 23 Bruno Salvy Differential Equations for Algebraic Functions

  18. Introduction Algorithms Bounds Conclusion Cockle’s Algorithm — Example α ( z ) − (1 + z α 2 ( z ) + z α 3 ( z )) =: P ( z , α ) = 0 � P y ( z , α ) α ′ ( z ) + P z ( z , α ) = 0 → A ( z , y ) P ( z , y ) + B ( z , y ) P y ( z , y ) = 1 . (B´ ezout) α ′ = − BP z mod P =: u 1 α 2 + v 1 α + w 1 1 , Vector space of dimension 3 α ′′ = ( u ′ 1 α 2 + v ′ 1 ) + (2 u 1 α + v 1 ) α ′ =: u 2 α 2 + v 2 α + w 2 1 , 1 α + w ′ α ′′′ = ( u ′ 2 α 2 + v ′ 2 ) + (2 u 2 α + v 2 ) α ′ =: u 3 α 2 + v 3 α + w 3 1 . 2 α + w ′   0 u 1 u 2 u 3 � α ′′′ � � � α 2 α ′ α ′′ α = α 1 1 v 1 v 2 v 3   0 w 1 w 2 w 3 � �� � A V ∈ ker A has for coordinates the coefficients of a differential equation. 12 / 23 Bruno Salvy Differential Equations for Algebraic Functions

Recommend


More recommend