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 Sections and diagonal Partial powering
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
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 )
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
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 )
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 )
Introduction Special case of rational series Algorithms with low complexity Sections and diagonal Partial powering
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
Shift operator and rational series 8/32 f ( x ) = a ( x ) b (0) = 1 b ( x )
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 . . .
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
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
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
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
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
Introduction Special case of rational series Algorithms with low complexity Sections and diagonal Partial powering
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
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
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 )
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
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
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
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
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
Recommend
More recommend