fast computation of the n th term of an algebraic series
play

Fast computation of the N th term of an algebraic series in positive - PowerPoint PPT Presentation

Fast computation of the N th term of an algebraic series in positive characteristic Philippe Dumas JNCF 2015, Cluny Joint work with Alin Bostan and Gilles Christol Introduction Special case of rational series Algorithms with low complexity


  1. Fast computation of the N th term of an algebraic series in positive characteristic Philippe Dumas JNCF 2015, Cluny Joint work with Alin Bostan and Gilles Christol

  2. Introduction Special case of rational series Algorithms with low complexity Sections and diagonal Partial powering

  3. Motivation 3/32 Ubiquity of algebraic functions (combinatorics, number theory) Confluence of several domains: – functional equations – automatic sequences – complexity theory One of the most difficult questions in modular computations is the complexity of computations mod p for a large prime p of coefficients in the expansion of an algebraic function. D. Chudnovsky & G. Chudnovsky, 1990 Computer Algebra in the Service of Mathematical Physics and Number Theory

  4. Problem and main result 4/32 Input: – field K of characteristic p – f ( x ) ∈ K [[ x ]] solution of E ( x, f ( x )) = 0 with E ( x, y ) ∈ K [ x, y ] , f (0) = 0 – N ∈ N ≥ 0 Output: – the N th coefficient from the series f ( x )

  5. Problem and main result 4/32 Input: – field K of characteristic p – f ( x ) ∈ K [[ x ]] solution of E ( x, f ( x )) = 0 with E ( x, y ) ∈ K [ x, y ] , f (0) = 0 – N ∈ N ≥ 0 Output: – the N th coefficient from the series f ( x ) Main result: – arithmetic complexity linear in log N and almost linear in p

  6. First N coefficients 5/32 Method char. 0 char. p O ( N d ) Undetermined coefficients � � O ( N 2 ) Fixed point iteration � � Newton iteration O ( N ) � � ∗ Linear recurrence O ( N ) ∗ with p -adic computations Kung + Traub, 1976 All algebraic functions can be computed fast FFT used all along: multiplication cost for series at order N is � O ( N )

  7. First N coefficients 5/32 Method char. 0 char. p O ( N d ) Undetermined coefficients � � O ( N 2 ) Fixed point iteration � � Newton iteration O ( N ) � � ∗ Linear recurrence O ( N ) ∗ with p -adic computations not appropriate for one coefficient FFT used all along: multiplication cost for series at order N is � O ( N )

  8. Introduction Special case of rational series Algorithms with low complexity Sections and diagonal Partial powering

  9. N th coefficient via shift operator 7/32 � f n x n f ( x ) = shift Sf n = f n +1 n ≥ 0 Sf ( x ) = f ( x ) − f (0) x vector ❳❳❳❳ ❳❳❳❳ ③ ③ ❳ ❳ f ( x ) = f 0 + f 1 x + f 2 x 2 + f 3 x 3 + · · · o p Sf ( x ) = f 1 + f 2 x + f 3 x 2 + f 4 x 3 + · · · ✲ e r ✲ ✲ a S 2 f ( x ) = f 2 + f 3 x + f 4 x 2 + f 5 x 3 + · · · t o r . ❳❳❳❳❳ ❳❳❳❳❳ . s . ③ ③ S N f ( x ) = f N + f N +1 x + f N +2 x 2 + · · · linear form ✟ ✟ ✟ ✙ S N f (0) = f N

  10. Shift operator and rational series 8/32 f ( x ) = a ( x ) b (0) = 1 b ( x )

  11. Shift operator and rational series 8/32 f ( x ) = a ( x ) b (0) = 1 b ( x ) 1 + x 3 1 − x − 2 x 2 − 3 x 3 − 4 x 4 − 5 x 5 = 1 + x + 3 x 2 + 9 x 3 + · · · f ( x ) = 1 + 2 x + 4 x 2 + 4 x 3 + 5 x 4 Sf ( x ) = Sf (0) = 1 1 − x − 2 x 2 − 3 x 3 − 4 x 4 − 5 x 5 3 + 6 x + 7 x 2 + 9 x 3 + 5 x 4 S 2 f ( x ) = S 2 f (0) = 3 1 − x − 2 x 2 − 3 x 3 − 4 x 4 − 5 x 5 S 3 f ( x ) = 9 + 13 x + 18 x 2 + 17 x 3 + 15 x 4 S 3 f (0) = 9 1 − x − 2 x 2 − 3 x 3 − 4 x 4 − 5 x 5 . . .

  12. Shift operator and rational series 8/32 1 + x 3 1 − x − 2 x 2 − 3 x 3 − 4 x 4 − 5 x 5 = 1 + x + 3 x 2 + 9 x 3 + · · · f ( x ) = 1 + 2 x + 4 x 2 + 4 x 3 + 5 x 4 Sf ( x ) = Sf (0) = 1 1 − x − 2 x 2 − 3 x 3 − 4 x 4 − 5 x 5 3 + 6 x + 7 x 2 + 9 x 3 + 5 x 4 S 2 f ( x ) = S 2 f (0) = 3 1 − x − 2 x 2 − 3 x 3 − 4 x 4 − 5 x 5 S 3 f ( x ) = 9 + 13 x + 18 x 2 + 17 x 3 + 15 x 4 S 3 f (0) = 9 1 − x − 2 x 2 − 3 x 3 − 4 x 4 − 5 x 5 . . . Sb − 1 = b − 1 T pseudo-shift operator T K [ x ] <d x stable by T finite dimension d x

  13. Rational series and linear representation 9/32 � � L = 1 0 0 0 0     ✒ � � 1 1 0 0 0 1 Linear form �         2 0 1 0 0 0             A = 3 0 0 1 0 C = 0         basis: (1 , x, x 2 , x 3 , x 4 )     4 0 0 0 1 1     ✒ � � Action � 5 0 0 0 0 0 ✻ ✻ 1 1 b − 1 bT 1 = S 1 b (0) Coordinates b = x a ( x ) = 1 + x 3 = 1 + 2 x + 3 x 2 + 4 x 3 + 5 x 4 b

  14. Rational series and binary powering 10/32 f N = S N f (0) f N = LA N C ⇔ Binary powering example: N = 1234 A 1234 = A 2 × A 16 × A 64 × A 128 × A 1024 Miller + Brown, 1966, arithmetic complexity O (log 2 N ) An algorithm for evaluation of remote terms in a linear recur- rence sequence

  15. Rational series 11/32 – shift operator to express f N – space of polynomials with pseudo-shift – finite dimensional space → linear representation – binary powering → good arithmetic complexity

  16. Rational series 11/32 – shift operator to express f N – space of polynomials with pseudo-shift – finite dimensional space → linear representation – binary powering → good arithmetic complexity To come: mimicking this approach in the algebraic case

  17. Introduction Special case of rational series Algorithms with low complexity Sections and diagonal Partial powering

  18. State of the art 13/32 Method char. 0 char. p √ � � ∗ Baby steps – Giant steps O ( N ) + O (1) O (log p N ) + � O ( p d ) Divide and Conquer ∗ with p -adic computations Baby steps – Giant steps after precomputing algebraic equation − → differential equation − → linear recurrence Chudnovsky + Chudnovsky, 1988 Approximations and complex multi- plication according to Ramanujan

  19. State of the art 13/32 Method char. 0 char. p √ � � ∗ Baby steps – Giant steps O ( N ) + O (1) O (log p N ) + � O ( p d ) Divide and Conquer ∗ with p -adic computations Baby steps – Giant steps after precomputing algebraic equation − → differential equation − → linear recurrence Divide and Conquer after precomputing algebraic equation − → Mahler equation − → DAC recurrence Christol + Kamae + Mendès France + Rauzy, 1980, Suites algébriques, automates et substitutions

  20. From algebraic equation to Mahler equation 14/32 y = 2 x + 5 xy + 4 xy 2 + xy 3 Algebraic equation p = 3 y y 3 y 9 y 27 1+2 x 2+ x 3 1+2 x 2+ x 3+2 x 5+ x 6+ x 8+ x 9+2 x 11+ x 12 1   0 1 x 3 x 12     y 1+ x +2 x 2+ x 3+ x 4 1+ x +2 x 2+ x 3+ x 4+2 x 5+2 x 6+2 x 7+ x 8+ x 9+ x 10+2 x 11+ x 12+ x 13  1+ x  1   x 4 x 13 x       y 2 2 1+ x +2 x 2+ x 3 2+2 x + x 2+2 x 3+2 x 4+ x 5+ x 6+ x 7+2 x 8+2 x 9+2 x 10+ x 11+2 x 12 0 2 x 3 x 12 � 2 x 2 + 2 x 3 + x 4 � Mahler equation c 0 ( x ) = c 0 ( x ) f ( x ) � 1 + x 2 + 2 x 3 + 2 x 4 + x 5 + 2 x 6 � f ( x 3 ) + � 2 + 2 x 3 + 2 x 5 + x 6 + 2 x 9 � f ( x 9 ) + x 9 f ( x 27 ) = 0 + ( a + b ) p = a p + b p Frobenius f ( x ) p = f ( x p )

  21. From Mahler equation to DAC recurrence 15/32 y = 2 x + 5 xy + 4 xy 2 + xy 3 Algebraic equation � 2 x 2 + 2 x 3 + x 4 � Mahler equation c 0 ( x ) = c 0 ( x ) f ( x ) � 1 + x 2 + 2 x 3 + 2 x 4 + x 5 + 2 x 6 � f ( x 3 ) + � 2 + 2 x 3 + 2 x 5 + x 6 + 2 x 9 � f ( x 9 ) + x 9 f ( x 27 ) = 0 + Divide-and-conquer recurrence 2 f n − 2 + 2 f n − 3 + f n − 4 + f n 3 + f n − 2 + 2 f n − 3 + 2 f n − 4 + f n − 5 + 2 f n − 6 3 3 3 3 3 + 2 f n 9 + 2 f n − 3 + 2 f n − 5 + f n − 6 + 2 f n − 9 + f n − 9 27 = 0 9 9 9 9 f x = 0 if x �∈ N ≥ 0

  22. Unrolling of the DAC recurrence 16/32 Divide-and-conquer recurrence p = 3 2 f n − 2 + 2 f n − 3 + f n − 4 + f n 3 + f n − 2 + 2 f n − 3 + 2 f n − 4 + f n − 5 + 2 f n − 6 3 3 3 3 3 + 2 f n 9 + 2 f n − 3 + 2 f n − 5 + f n − 6 + 2 f n − 9 + f n − 9 27 = 0 9 9 9 9 N = 100 100

  23. Unrolling of the DAC recurrence 16/32 Divide-and-conquer recurrence p = 3 2 f n − 2 + 2 f n − 3 + f n − 4 + f n 3 + f n − 2 + 2 f n − 3 + 2 f n − 4 + f n − 5 + 2 f n − 6 3 3 3 3 3 + 2 f n 9 + 2 f n − 3 + 2 f n − 5 + f n − 6 + 2 f n − 9 + f n − 9 27 = 0 9 9 9 9 N = 100 100 99 98 34 33 32 11

  24. Unrolling of the DAC recurrence 16/32 Divide-and-conquer recurrence p = 3 2 f n − 2 + 2 f n − 3 + f n − 4 + f n 3 + f n − 2 + 2 f n − 3 + 2 f n − 4 + f n − 5 + 2 f n − 6 3 3 3 3 3 + 2 f n 9 + 2 f n − 3 + 2 f n − 5 + f n − 6 + 2 f n − 9 + f n − 9 27 = 0 9 9 9 9 N = 100 100 99 98 97 96 34 33 32 31 30 12 11 10 9 4 3 1

  25. Unrolling of the DAC recurrence 16/32 Divide-and-conquer recurrence p = 3 2 f n − 2 + 2 f n − 3 + f n − 4 + f n 3 + f n − 2 + 2 f n − 3 + 2 f n − 4 + f n − 5 + 2 f n − 6 3 3 3 3 3 + 2 f n 9 + 2 f n − 3 + 2 f n − 5 + f n − 6 + 2 f n − 9 + f n − 9 27 = 0 9 9 9 9 N = 100 100 99 98 97 96 95 94 . . . 34 33 32 31 30 29 28 . . . 12 11 10 9 8 7 . . . 4 3 2 1 0 arithmetic complexity O ( N ) for f N

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend