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 Undetermined coefficients Fixed point iteration Newton iteration Linear recurrence O(N d ) X X X X∗ ∗ with e 2) O(N e ) O(N O(N ) p-adic computations Kung + Traub, 1976 All algebraic functions can be computed fast e ) FFT used all along: multiplication cost for series at order N is O(N First N coefficients 5/32 Method char. 0 char. p Undetermined coefficients Fixed point iteration Newton iteration Linear recurrence O(N d ) X X X X∗ ∗ with e 2) O(N e ) O(N O(N ) p-adic computations not appropriate for one coefficient e ) 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 f (x) = X fn xn shift n≥0 7/32 Sfn = fn+1 f (x) − f (0) Sf (x) = x vector XX XXz X f (x) = f0 + f1 x + f2 x2 + f3 x3 + · · · o p - Sf (x) = f1 + f2 x + f3 x2 + f4 x3 + · · · e r a - S 2 f (x) = f + f x + f x2 + f x3 + · · · 2 3 4 5 t o .. r s XXX . XX z S N f (x) = fN + fN +1 x + fN +2 x2 + · · · linear form N S f (0) = fN Shift operator and rational series f (x) = a(x) b(x) b(0) = 1 8/32 Shift operator and rational series f (x) = a(x) b(x) 8/32 b(0) = 1 1 + x3 = 1 + x + 3x2 + 9x3 + · · · 1 − x − 2x2 − 3x3 − 4x4 − 5x5 1 + 2x + 4x2 + 4x3 + 5x4 Sf (x) = Sf (0) = 1 1 − x − 2x2 − 3x3 − 4x4 − 5x5 3 + 6x + 7x2 + 9x3 + 5x4 S 2 f (0) = 3 S 2 f (x) = 1 − x − 2x2 − 3x3 − 4x4 − 5x5 9 + 13x + 18x2 + 17x3 + 15x4 S 3 f (x) = S 3 f (0) = 9 1 − x − 2x2 − 3x3 − 4x4 − 5x5 .. . f (x) = Shift operator and rational series 8/32 1 + x3 = 1 + x + 3x2 + 9x3 + · · · 1 − x − 2x2 − 3x3 − 4x4 − 5x5 1 + 2x + 4x2 + 4x3 + 5x4 Sf (x) = Sf (0) = 1 1 − x − 2x2 − 3x3 − 4x4 − 5x5 3 + 6x + 7x2 + 9x3 + 5x4 S 2 f (0) = 3 S 2 f (x) = 1 − x − 2x2 − 3x3 − 4x4 − 5x5 9 + 13x + 18x2 + 17x3 + 15x4 S 3 f (x) = S 3 f (0) = 9 1 − x − 2x2 − 3x3 − 4x4 − 5x5 .. . f (x) = pseudo-shift operator T Sb−1 = b−1 T K[x]<dx stable by T finite dimension dx Rational series and linear representation L= 1 0 0 0 0 9/32 1 1 0 0 0 Linear form 2 0 1 A= 3 0 0 2 3 4 4 0 0 basis: (1, x, x , x , x ) 5 0 0 Action 0 0 1 0 0 1 0 0 6 1 1 − 1 1 b b(0) T1 = S = b b x 1 + 2x + 3x2 + 4x3 + 5x4 = b 1 0 C= 0 1 0 6 Coordinates a(x) = 1 + x3 Rational series and binary powering fN = S N f (0) ⇔ Binary powering 10/32 fN = LAN C example: N = 1234 A1234 = A2 × A16 × A64 × A128 × A1024 arithmetic complexity O(log2 N ) Miller + Brown, 1966, An algorithm for evaluation of remote terms in a linear recurrence sequence Rational series – shift operator to express fN – space of polynomials with pseudo-shift – finite dimensional space → linear representation – binary powering → good arithmetic complexity 11/32 Rational series – shift operator to express fN – 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 11/32 Introduction Special case of rational series Algorithms with low complexity Sections and diagonal Partial powering State of the art Method Baby steps – Giant steps Divide and Conquer ∗ with 13/32 char. 0 √ e N ) + O(1) O( char. p X∗ e d) O(logp N ) + O(p p-adic computations Baby steps – Giant steps after precomputing algebraic equation −→ differential equation −→ linear recurrence Chudnovsky + Chudnovsky, 1988 Approximations and complex multiplication according to Ramanujan State of the art Method Baby steps – Giant steps Divide and Conquer ∗ with 13/32 char. 0 √ e N ) + O(1) O( char. p X∗ e d) O(logp N ) + O(p 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 Algebraic equation y 1 y y 0 1 2 0 y3 14/32 y = 2x + 5xy + 4xy 2 + xy 3 y9 p=3 y 27 1 1+2x2 +x3 x3 1+2x2 +x3 +2x5 +x6 +x8 +x9 +2x11 +x12 x12 1+x x 1+x+2x2 +x3 +x4 x4 1+x+2x2 +x3 +x4 +2x5 +2x6 +2x7 +x8 +x9 +x10 +2x11 +x12 +x13 x13 2 2 +x3 2 1+x+2x 3 2+2x+x2 +2x3 +2x4 +x5 +x6 +x7 +2x8 +2x9 +2x10 +x11 +2x12 x12 x Mahler equation c0 (x)f (x) c0 (x) = 2x2 + 2x3 + x4 + 1 + x2 + 2x3 + 2x4 + x5 + 2x6 f (x3 ) + 2 + 2x3 + 2x5 + x6 + 2x9 f (x9 ) + x9 f (x27 ) = 0 Frobenius f (x)p = f (xp ) (a + b)p = ap + bp From Mahler equation to DAC recurrence Algebraic equation 15/32 y = 2x + 5xy + 4xy 2 + xy 3 c0 (x) = 2x2 + 2x3 + x4 Mahler equation c0 (x)f (x) + 1 + x2 + 2x3 + 2x4 + x5 + 2x6 f (x3 ) + 2 + 2x3 + 2x5 + x6 + 2x9 f (x9 ) + x9 f (x27 ) = 0 Divide-and-conquer recurrence 2fn−2 + 2fn−3 + fn−4 + f n3 + f n−2 + 2f n−3 + 2f n−4 + f n−5 + 2f n−6 3 3 3 3 3 + 2f n9 + 2f n−3 + 2f n−5 + f n−6 + 2f n−9 + f n−9 = 0 9 fx = 0 if x 6∈ N≥0 9 9 9 27 Unrolling of the DAC recurrence 16/32 p=3 Divide-and-conquer recurrence 2fn−2 + 2fn−3 + fn−4 + f n3 + f n−2 + 2f n−3 + 2f n−4 + f n−5 + 2f n−6 3 3 3 3 3 + 2f n9 + 2f n−3 + 2f n−5 + f n−6 + 2f n−9 + f n−9 = 0 9 N = 100 100 9 9 9 27 Unrolling of the DAC recurrence 16/32 p=3 Divide-and-conquer recurrence 2fn−2 + 2fn−3 + fn−4 + f n3 + f n−2 + 2f n−3 + 2f n−4 + f n−5 + 2f n−6 3 3 3 3 3 + 2f n9 + 2f n−3 + 2f n−5 + f n−6 + 2f n−9 + f n−9 = 0 9 N = 100 100 99 34 98 33 32 11 9 9 9 27 Unrolling of the DAC recurrence 16/32 p=3 Divide-and-conquer recurrence 2fn−2 + 2fn−3 + fn−4 + f n3 + f n−2 + 2f n−3 + 2f n−4 + f n−5 + 2f n−6 3 3 3 3 3 + 2f n9 + 2f n−3 + 2f n−5 + f n−6 + 2f n−9 + f n−9 = 0 9 N = 100 100 99 34 98 33 12 97 32 11 4 31 10 3 96 30 9 1 9 9 9 27 Unrolling of the DAC recurrence 16/32 p=3 Divide-and-conquer recurrence 2fn−2 + 2fn−3 + fn−4 + f n3 + f n−2 + 2f n−3 + 2f n−4 + f n−5 + 2f n−6 3 3 3 3 3 + 2f n9 + 2f n−3 + 2f n−5 + f n−6 + 2f n−9 + f n−9 = 0 9 9 N = 100 100 99 34 98 33 12 97 32 11 4 31 10 3 95 96 30 29 8 9 2 94 1 ... 28 7 ... ... 0 arithmetic complexity O(N ) for fN 9 9 27 Workaround 17/32 Change of unknowns f (x) = c0 (x)g(x) yields g(x) = (x2 + x3 + x7 + x8 + x9 + x10 )g(x3 ) + 2x14 + 2x15 + x16 + 2x19 + 2x20 + x21 + x22 + 2x23 + 2x26 + x28 + 2x30 + x31 + 2x32 + x33 + 2x35 + 2x36 + x37 g(x9 ) + x59 + x60 + 2x61 + 2x62 + 2x63 + x64 + 2x65 + 2x66 + x67 + 2x71 + 2x72 + x73 + x74 + x75 + 2x76 + x77 + x78 + 2x79 + x83 + x84 + 2x85 + x89 + x90 + 2x91 + 2x92 + 2x93 + x94 + 2x95 + 2x96 + x97 + 2x101 + 2x102 + x103 + x104 + x105 + 2x106 + x107 + x108 + 2x109 g(x27 ) Workaround 17/32 Change of unknowns fn = 2gn−2 + 2gn−3 + gn−4 gn = g n−2 + g n−3 + g n−7 + g n−8 + g n−9 + g n−10 3 3 3 3 3 3 + 2g n−14 + 2g n−15 + g n−16 + 2g n−19 + 2g n−20 + · · · + g n−37 9 9 9 9 9 9 + g n−59 + g n−60 + · · · + 2g n−109 N = 100 27 98 97 96 27 27 Workaround 17/32 Change of unknowns fn = 2gn−2 + 2gn−3 + gn−4 gn = g n−2 + g n−3 + g n−7 + g n−8 + g n−9 + g n−10 3 3 3 3 3 3 + 2g n−14 + 2g n−15 + g n−16 + 2g n−19 + 2g n−20 + · · · + g n−37 9 9 9 9 9 9 + g n−59 + g n−60 + · · · + 2g n−109 N = 100 27 98 97 32 96 31 30 9 29 8 1 7 0 27 27 Workaround 17/32 Change of unknowns fn = 2gn−2 + 2gn−3 + gn−4 gn = g n−2 + g n−3 + g n−7 + g n−8 + g n−9 + g n−10 3 3 3 3 3 3 + 2g n−14 + 2g n−15 + g n−16 + 2g n−19 + 2g n−20 + · · · + g n−37 9 9 9 9 9 9 + g n−59 + g n−60 + · · · + 2g n−109 N = 100 27 98 97 32 96 31 10 30 9 2 29 8 1 7 0 arithmetic complexity O(logp N ) for fN 27 27 Introduction Special case of rational series Algorithms with low complexity Sections and diagonal Partial powering N th coefficient via section operators Section operators X X Sr un xn = upk+r xk , n≥0 k≥0 0≤r<p 19/32 N th coefficient via section operators Section operators X X Sr un xn = upk+r xk , n≥0 19/32 0≤r<p k≥0 f (x) = f0 + f1 x + f2 x2 + f3 x3 + f4 x4 + · · · S0 f (x) = f0 + f2 x + f4 x2 + f6 x3 + f8 x4 + · · · p=2 S1 f (x) = f1 + f3 x + f5 x2 + f7 x3 + f9 x4 + · · · linear operators Sr ( g(x)×h(xp ) ) = ( Sr g(x) ) × h(x) N th coefficient via section operators 19/32 100000 = 5 × 16807 + 6 × 2401 + 4 × 343 + 3 × 49 + 5 × 7 + 5 × 1 = (5, 6, 4, 3, 5, 5)7 f (x) = f0 + f1 x + f2 x2 + f3 x3 + f4 x4 + f5 x5 + · · · S5 f (x) = f5 + f12 x + f19 x2 + f26 x3 + f33 x4 + f40 x5 + · · · S5 S5 f (x) = f40 + f89 x + f138 x2 + f187 x3 + f236 x4 + f285 x5 + · · · S3 S5 S5 f (x) = f187 + f530 x + f873 x2 + f1216 x3 + f1559 x4 + f1902 x5 + · · · S4 S3 S5 S5 f (x) = f1559 + f3960 x + f6361 x2 + f8762 x3 + f11163 x4 + · · · S6 S4 S3 S5 S5 f (x) = f15965 + f32772 x + f49579 x2 + f66386 x3 + f83193 x4 + · · · S5 S6 S4 S3 S5 S5 f (x) = f100000 + f217649 x + f335298 x2 + f452947 x3 + · · · S5 S6 S4 S3 S5 S5 f (0) = f100000 N th coefficient via section operators vector 19/32 - f (x) = f + f x + f x2 + f x3 + f x4 + f x5 + · · · 0 1 2 3 4 5 2 3 4 5 : S5 f (x) = f5 + f12 x + f19 x + f26 x + f33 x + f40 x + · · · o p 2 3 4 5 e : S5 S5 f (x) = f40 + f89 x + f138 x + f187 x + f236 x + f285 x + · · · r a - S3 S5 S5 f (x) = f187 + f530 x + f873 x2 + f1216 x3 + f1559 x4 + f1902 x5 + · · · tX z oX S4 S3 S5 S5 f (x) = f1559 + f3960 x + f6361 x2 + f8762 x3 + f11163 x4 + · · · r@ R s S@ S S S S f (x) = f +f x+f x2 + f x3 + f x4 + · · · 6 4 3 5 5 15965 32772 49579 66386 83193 ? S5 S6 S4 S3 S5 S5 f (x) = f100000 + f217649 x + f335298 x2 + f452947 x3 + · · · S5 S6 S4 S3 S5 S5 f (0) = f100000 y X XX XXX linear form Diagonal 20/32 E(x, y) ∈ K[x, y] E(x, f (x)) = 0 m f (x) = DF (x, y) F (x, y) ∈ K(x, y) Furstenberg, 1967, Algebraic functions over finite fields Christol, 1974, Éléments algébriques Diagonal 20/32 E(x, y) ∈ K[x, y] E(x, f (x)) = 0 m f (x) = DF (x, y) F (x, y) ∈ K(x, y) Ey (0, 0) 6= 0 F (x, y) = y 2 Ey (xy, y) E(xy, y) E(x, y) = 2x + (5x − 1) y + 4xy 2 + xy 3 F (x, y) = y(1 − 5xy − 8xy 2 − 3xy 3 ) 1 − 2x − 5xy − 4xy 2 − xy 3 Furstenberg, 1967, Algebraic functions over finite fields Christol, 1974, Éléments algébriques Diagonal 20/32 f (x) = 2x + 3x2 + 3x3 + x4 + 6x5 + 5x6 + 6x7 + 3x8 + x9 + 4x10 + x14 + 5x15 + · · · p=7 F (x, y) = y + 2xy + 4x2 y 2 2 + 3x y + 3xy 3 + 5xy 4 + x3 y 3 2 + 5x y + 2x4 y 4 2 +x y 3 3 5 2 + 5x y 5 3 + 3x y + 6x2 y 4 + 4x5 y + 6x y + x4 y 4 + 2x2 y 5 + 2x3 y 5 + 5x y 3 7 6 3 + 4x y + 2x y 4 9 +x y + 5x3 y 10 + 2x7 y + 4x8 y 7 2 + 2x10 y 9 2 + 2x y 7 3 + x9 y + 3x10 y 2 + 6x y 8 3 + 6x10 y 3 +x y + 6x y + x7 y 4 + 3x8 y 4 + 5x9 y 4 + 6x5 y 5 + 4x6 y 5 + 5x7 y 5 + 4x9 y 5 + 4x10 y 5 + 5x6 y 6 + 6x7 y 6 + 4x9 y 6 + 6x10 y 6 7 7 + 5x y 4 8 +x y + 2x y 5 7 + 6x y 3 9 6 2 + x5 y 4 + 2x2 y 6 + 3x3 y 6 + 5x4 y 6 2 7 + x6 y 5 8 + 3x y 5 9 + 3x y + 3x9 y 7 + 5x10 y 7 + 6x y 6 8 8 8 + 2x y 6 9 + 6x y + 3x y + 6x y + 6x5 y 10 + 2x6 y 10 + 6x9 y 8 + 5x10 y 8 + x9 y 9 + 6x10 y 9 7 9 + x8 y 10 + 4x10 y 10 + x4 y 11 + x5 y 11 + 5x6 y 11 + 4x7 y 11 + 4x8 y 11 + 2x9 y 11 + 6x5 y 12 + 2x6 y 12 + x7 y 12 + 5x y + 5x y 5 14 7 14 + 3x y + 5x y + 3x9 y 12+ 3x10 y 12 + 3x9 y 13 + x10 y 13 6 13 4 13 + 4x9 y 14+ 2x10 y 14 + 6x5 y 15 + x6 y 15 + 3x7 y 15 + x8 y 15 + 2x9 y 15+ 4x10 y 15 + 5x5 y 16 + 4x6 y 16 + 4x7 y 16 + ··· + 5x9 y 16+ 4x10 y 16 Section operators and diagonal 21/32 Sr f = Sr DF = DSr,r F a = b−1 a b b(0, 0) = 1 F = Sr f = DSr,r b−1 a = DSr,r b−p bp−1 a = Db−1 Sr,r bp−1 a Sr f = Db−1 Tr a Tr = Sr,r bp−1 Tr pseudo-section operator Sr,r b−p = b−1 Tr Finite dimension f is algebraic 22/32 ⇔ f is rational with respect to the radix p Christol + Kamae + Mendès France + Rauzy, 1980, Suites algébriques, automates et substitutions Allouche + Shallit, 1992 The ring of k-regular sequences Finite dimension f is algebraic 22/32 f =D f is algebraic f is rational with respect to the radix p ⇔ ⇔ a b a generates a finite dimensional vector space under the action of the pseudo-section operators Tr . A stable subspace Algebraic equation y = 2x + 5xy + 4xy 2 + xy 3 a = y + 2xy 2 + 6xy 3 + 4xy 4 b = 1 + 5x + 2xy + 3xy 2 + 6xy 3 dy dx = max(degx a, degx b) dy = max(degy a, degy b) dx 23/32 a f =D b A stable subspace a = y + 2xy 2 + 6xy 3 + 4xy 4 b = 1 + 5x + 2xy + 3xy 2 + 6xy 3 dy dx 23/32 A stable subspace 23/32 a = y + 2xy 2 + 6xy 3 + 4xy 4 b = 1 + 5x + 2xy + 3xy 2 + 6xy 3 pdy B = bp−1 p=7 (p − 1)dy Tr = Sr,r B dy dx pdx (p − 1)dx A stable subspace 23/32 a = y + 2xy 2 + 6xy 3 + 4xy 4 b = 1 + 5x + 2xy + 3xy 2 + 6xy 3 pdy B = bp−1 p=7 (p − 1)dy Tr = Sr,r B K[x, y]≤dx ,≤dy stable by Tr , 0 ≤ r < p dy finite dimension (1 + dx )(1 + dy ) dx pdx (p − 1)dx Rational series wrt p and linear representation 24/32 100000 = 5 × 16807 + 6 × 2401 + 4 × 343 + 3 × 49 + 5 × 7 + 5 × 1 = (5, 6, 4, 3, 5, 5)7 vector - f (x) = f + f x + f x2 + f x3 + f x4 + f x5 + · · · 0 1 2 3 4 5 2 3 4 5 : S5 f (x) = f5 + f12 x + f19 x + f26 x + f33 x + f40 x + · · · o p 2 3 4 5 e : S5 S5 f (x) = f40 + f89 x + f138 x + f187 x + f236 x + f285 x + · · · r a - S3 S5 S5 f (x) = f187 + f530 x + f873 x2 + f1216 x3 + f1559 x4 + f1902 x5 + · · · tX z oX S4 S3 S5 S5 f (x) = f1559 + f3960 x + f6361 x2 + f8762 x3 + f11163 x4 + · · · r@ R s S@ S S S S f (x) = f +f x+f x2 + f x3 + f x4 + · · · 6 4 3 5 5 15965 32772 49579 66386 83193 ? S5 S6 S4 S3 S5 S5 f (x) = f100000 + f217649 x + f335298 x2 + f452947 x3 + · · · S5 S6 S4 S3 S5 S5 f (0) = f100000 y X XX XXX linear form Rational series wrt p and linear representation 24/32 100000 = 5 × 16807 + 6 × 2401 + 4 × 343 + 3 × 49 + 5 × 7 + 5 × 1 = (5, 6, 4, 3, 5, 5)7 vector - a(x, y) = y + 2xy 2 + 6xy 3 + 4xy 4 : T5 a(x, y) = 6 + 6y o p e : T5 T5 a(x, y) = 5 + 5y r a - T3 T5 T5 a(x, y) = 5 + 5y tX z oX T4 T3 T5 T5 a(x, y) = 2 + 2y r@ R s T@ 6 T4 T3 T5 T5 a(x, y) = 2 + 2y T5? T6 T4 T3 T5 T5 a(x, y) = 4 + 4y T5 T6 T4 T3 T5 T5 a(0, 0) = f100000 = 4 y X XX XXX linear form finite dimension (1 + dx )(1 + dy ) Rational series wrt p and linear representation L= 1 0 0 0 0 0 0 0 0 0 Linear form A0 , A1 , 1 x y xy basis: y 2 xy 2 y 3 xy 3 y 4 xy 4 24/32 ... A6 C= 0 1 0 0 0 0 0 2 6 4 Action 6 Coordinates a(x, y) = y + 2xy 2 + 6xy 3 + 4xy 4 finite dimension (1 + dx )(1 + dy ) Rational series wrt p and linear representation 24/32 N = (N`−1 . . . N1 N0 )p fN = SN`−1 · · · SN0 f (0) m fN = TN`−1 · · · TN0 a(0, 0) m fN = LAN`−1 · · · AN0 C arithmetic complexity O(logp N ) Allouche + Shallit, 1992 The ring of k-regular sequences Precomputation of A0 , A1 , . . . , Ap−1 25/32 All information is in B = bp−1 . matrix Ar : xn y m −−−−−−−−−→ xn y m B −−−−−−−−−→ Sr,r xn y m B translation selection No computation, except raising b to the power p − 1 e 2 ) (binary powering, Kronecker substitution, FFT) cost: O(p Computing the N th coefficient 26/32 precomputation computation B = bp−1 fN = LAN`−1 · · · AN0 C e 2) O(p O(logp N ) Theorem [New]: The N th coefficient can be computed in time e 2 ) + O(logp N ). O(p Introduction Special case of rational series Algorithms with low complexity Sections and diagonal Partial powering Only a small part of B = bp−1 is enough 28/32 Task: Computation of A0 , A1 , . . . , Ap−1 row index i = (k, `) column index j = (n, m) B= X cα,β xα y β α,β xn y m −−−−−−−−−→ xn y m B −−−−−−−−−→ Sr,r xn y m B translation selection X X xn y m −−−−→ cα,β xn+α y m+β −−−−→ cα,β xk y ` α,β (C) n + α = pk + r m + β = p` + r α,β (C) =⇒ β − α = p(` − k) + n − m Only a small part of B = bp−1 is enough 28/32 p=7 dx = 1 6 p 6 dx + dy + 1 ? dy = 4 Only a small part of B = bp−1 is enough 28/32 (p − 1)dy p = 31 dx = 2 dy = 4 p 6 (p − 1)dx × (p − 1)dy × ?dx + dy + 1 6 (p − 1)dx dx + dy + 1 = O(p) p Rational series again B(x/t, t) = X cα,β xα tβ−α = 29/32 X α,β δ = β − α = p(` − k) + n − m δ πδ (x)tδ δ 6 Rational series again B(x/t, t) = X 29/32 cα,β xα tβ−α = X α,β πδ (x)tδ δ δ = β − α = p(` − k) + n − m B(x/t, t) = b(x/t, t)p−1 = b(xp /tp , tp ) b(x/t, t)p = b(x/t, t) b(x/t, t) δ 6 Rational series again B(x/t, t) = X 29/32 cα,β xα tβ−α = X α,β πδ (x)tδ δ δ = β − α = p(` − k) + n − m B(x/t, t) = b(x/t, t)p−1 = X 1 u = b(0) u (x)t b(x/t, t) u rational series b(xp /tp , tp ) b(x/t, t)p = b(x/t, t) b(x/t, t) b(xp /tp , tp ) = P (1) p pv v bv (x )t for free Rational series again B(x/t, t) = X 29/32 cα,β xα tβ−α = α,β X 1 u = b(0) u (x)t b(x/t, t) u rational series X πδ (x)tδ δ B(x/t, t) = b(x/t, t)p−1 = πδ (x) = X b(xp /tp , tp ) b(x/t, t)p = b(x/t, t) b(x/t, t) b(xp /tp , tp ) = (1) p b(0) u (x)bv (x ) P (1) p pv v bv (x )t for free u + pv = δ =⇒ u ≡ δ mod p u+pv=δ same intervals Rational series again 29/32 u6 X 1 u = b(0) u (x)t ∈ K(x)[[t]] b(x/t, t) u rational series same intervals Evaluation and interpolation X 1 u = b(0) u (x)t ∈ K(x)[[t]] b(x/t, t) u X 1 u = b(0) ξ∈K u (ξ)t ∈ K[[t]], b(ξ/t, t) u rational series with coefficients in K binary powering about dx + dy = O(1) large leaps of length p −→ cost O(log p) 30/32 u6 Evaluation and interpolation binary powering 30/32 u6 about dx + dy = O(1) large leaps of length p −→ cost O(log p) interpolation degree about (p − 1)dx = O(p) e log2 p) −→ cost O(p (p − 1)dx Evaluation and interpolation binary powering 30/32 u6 about dx + dy large leaps of length p −→ cost (dx + dy ) log p interpolation degree about pdx e log2 p) −→ cost O(p gathering about (dx + dy )2 = O(1) indices e log2 p) −→ global cost O(p (p − 1)dx Main result 31/32 Theorem [New and better]: The N th coefficient can be computed in time e O(p) + O(logp N ). Not quite obvious result following from the asymptotic expansions of the difference equation, shows that [...] requires only O(p · logp N ) operations. D. Chudnovsky & G. Chudnovsky, 1990 Computer Algebra in the Service of Mathematical Physics and Number Theory Main result 31/32 Theorem [New and better]: The N th coefficient can be computed in time e O(p) + O(logp N ). What is the minimal complexity of the computation of N -th coefficient of a power series expansion of an algebraic function mod p for a fixed (large) prime p? It is reasonable to conjecture that [. . . ] one needs at most √ O(L(p) log N ) operations, where L(p) = exp( log p log log p) at least for hyperelliptic algebraic functions. D. Chudnovsky & G. Chudnovsky, 1987 Computer assisted number theory with applications +5x131 +2x130 +4x129 +x128 +2x127 +5x126 +3x125 +2x124 +4x123 +x122 +x121 +6x120 +6x119 +2x118 +2x117 +5x116 +3x115 +6x114 +4x113 +2x112 +6x111 +4x110 +6x109 +5x108 +6x107 +5x106 +6x105 +4x104 +3x103 +4x102 +x101 +2x100 +5x99 +3x98 +4x97 +5x71 +4x69 +2x68 +2x67 +4x66 +5x65 +3x64 +x62 +2x57 +3x55 +3x54 +3x53 +6x52 +4x51 +5x50 +4x48 +2x46 +4x45 Thank you for ) your attention! +3x44 +x43 +6x42 +5x41 +2x40 +5x39 +3x38 +6x37 +3x36 +2x35 +x34 +4x33 +3x32 +6x31 +5x30 +3x29 +4x28 +x27 +3x26 +6x25 +5x24 +5x23 +5x22 +2x21 +4x20 +x18 +2x17 +5x16 +5x15 +3x14 +4x13 +6x12 +2x11 +4x10 +2x9 +x8 +2x7 +5x6 +5x4 +3x3 +4x2 +1 f (x7 ) + 6x165 +5x164 +2x163 +2x162 +4x161 +3x160 +2x155 +3x153 +2x151 +4x150 +3x149 +6x147 ( +x144 +2x143 +5x142 +4x141 +3x140 +6x139 +x137 +2x136 +5x135 +x134 +3x133 +5x132 +2x130 +4x129 +3x128 +4x127 +6x126 +6x125 +6x123 +5x122 +2x121 +2x120 +4x119 +3x118 +5x116 +3x115 +4x114 +4x113 +x112 +6x111 +4x106 +6x104 +4x102 +x101 +6x100 +5x98 +2x71 +3x69 +x67 +2x66 +5x65 +5x64 +3x63 +4x62 +5x57 +4x55 +5x53 +3x52 +4x51 +x49 +5x46 +3x45 +4x44 +6x43 +x42 +2x41 +5x39 +3x38 +4x37 +5x36 +x35 +4x34 +3x32 +6x31 +x30 +6x29 +2x28 +2x27 +2x25 +4x24 +3x23 +6x21 +6x18 +5x17 +2x16 +2x15 +4x14 +3x13 +2x8 +3x6 +2x4 +4x3 +3x2 +6 f (x49 ) ) + x165 +2x164 +5x163 +5x162 +3x161 +4x160 +5x155 +4x153 +5x151 +3x150 +4x149 +x147 f (x343 )=0 ( )
© Copyright 2026 Paperzz