Puiseux series computation: [1mm] avoiding computations over Q

Puiseux series computation:
avoiding computations over Q
1
Adrien Poteaux
Univ. Lille 1 - LIFL, computer algebra team
Symbolic Computation seminar, JKU, Linz
January 9th, 2011
1
joint work with Marc Rybowicz (University of Limoges)
[email protected]
Puiseux series
1 / 26
Puiseux series: a generalization of formal power series
K
= Q(γ)
RF
x0
a number eld ; F (X , Y )
∈ K [X , Y ]
squarefree.
= ResY (F , FY )
∈K
; solutions of F (X , Y ) above x0 ?
RF (x0 )
6= 0
(regular point): Taylor expansion
Yi (X )
=
∞
X
k =0
[email protected]
αik (X − x0 )k ;
Puiseux series
1
≤ i ≤ dY
1 / 26
Puiseux series: a generalization of formal power series
K
= Q(γ)
RF
x0
a number eld ; F (X , Y )
∈ K [X , Y ]
squarefree.
= ResY (F , FY )
∈K
; solutions of F (X , Y ) above x0 ?
RF (x0 )
6= 0
(regular point): Taylor expansion
Yi (X )
RF (x0 )
=0
Sij (X )
=
∞
X
k =0
αik (X − x0 )k ;
1
≤ i ≤ dY
(critical point): Puiseux expansion
=
∞
X
k =ni
k
αik ζejki (X − x0 ) ei ;
1
≤ j ≤ ei ,
1
≤i ≤s
ζei primitive ei -th root of unity,
e1 , . . . , es partition of dY (ramication indices).
[email protected]
Puiseux series
1 / 26
First example: F (X , Y ) = Y 3 − X above x0 6= 0
Y 1 (X )
Y 2 (X )
= −0.215 − 0.373 I + (0.898 + 1.555 I ) (X − 0.08) + · · ·
= −0.215 + 0.373 I − (0.898 − 1.555 I ) (X − 0.08) + · · ·
Y 3 (X )
= 0.431 + 1.795 (X − 0.08) + · · ·
[email protected]
Puiseux series
2 / 26
First example: F (X , Y ) = Y 3 − X above x0 = 0
Yj (X )
[email protected]
= ζ3j X
1
3
Puiseux series
2 / 26
Long term goal
Puiseux series
w
w

Monodromy group
w
w

Eective Abel-Jacobi theorem
.
&
Computer Algebra
Physics
Integral basis computation.s
KP & KdV equations
Algebraic solutions of ODEs
Dierential Galois theory
[email protected]
Motivations
3 / 26
Local monodromy and Puiseux series
= (Y 3 − X ) ((Y − 1)2 − X ) (Y − 2 − X 2 ) + X 2 Y 5
H (X , Y )
2
− 3X2 −
⇒
1
e
1
+ ζ2k X
⇒
1
ζ3k X +
3
2
e
1
6
⇒
9
2
X
3
= 1:
+
1-cycle.
ζ2k X
1
2
=2
+ ···
3
2
+ ···
: 2-cycle.
X
3
e
=3
+
5
12
ζ3k X
10
3
+ ···
: 3-cycle.
The local monodromy
is given by the ramication indices !
[email protected]
Motivations
4 / 26
Using Puiseux expansions
An evaluation of the Puiseux series gives:
the local monodromy,
analytic continuation around critical points.
We want an exact structure,
Numerical approximations of the coecients is good enough.
[email protected]
Motivations
5 / 26
Other motivations: a fundamental theoretical object
Ramication indices
=⇒
genus computation
(Riemann Hurwitz formula)
[email protected]
Motivations
6 / 26
Other motivations: a fundamental theoretical object
Genus computation
Integral basis computation
M. van Hoeij 1994, An Algorithm for Computing an Integral Basis
in an Algebraic Function Field
Determination of parametrizations of genus 0 curves
M. van Hoeij 1997, Rational Parametrizations of Algebraic
Curves using a Canonical Divisor
Integration of algebraic functions
B. Trager 1984, Integration of Algebraic Functions (PhD)
M. Bronstein 1990, Integration of Elementary Functions
[email protected]
Motivations
6 / 26
Other motivations: a fundamental theoretical object
Genus computation
Integral basis computation
Determination of parametrizations of genus 0 curves
Integration of algebraic functions
Connectivity queries
J. Schwartz & M. Sharir 1983, On the piano movers problem II.
General techniques for computing topological properties of real
algebraic manifolds
[email protected]
Motivations
6 / 26
Computing Puiseux series: the singular part
Sij (X
− x0 ) =
=
∞
X
k =ni
rij
X
k =ni
rij is the regularity index ; ri
k
αik ζejki (X − x0 ) ei
k
αik ζejki (X − x0 ) ei +
= rij
for 1
next terms
≤ j ≤ ei
Next terms can be computed using quadratic Newton iterations
Kung & Traub 1978, All Algebraic Functions Can Be Computed Fast
[email protected]
Singular part
7 / 26
Examples above de X = 0
= Y3 − X:
F (X , Y )
0
H (X , Y )
+ ζ3k X
1
3
,
k
= 1, 2, 3 (r = 1)
= (Y 3 − X ) ((Y − 1)2 − X ) (Y − 2 − X 2 ) + X 2 Y 5 :
1
+ ζ3k X 3 +
1
1
+ ζ2k X 2 +
1
0
1
2
6
2
X
3
+ ··· ,
3
k
= 1, 2, 3 (r = 1)
ζ2k X 2 + · · · ,
− 3X2 −
[email protected]
9
2
X
3
k
= 1, 2 (r = 1)
+ · · · (r = 0)
Singular part
8 / 26
The Newton-Puiseux algorithm: main tools
F (X , Y )
= Y 7 + Y 5X − 2 Y 4X + 5 Y 4X 3 + 4 Y 2X 2 + X 6
[email protected]
Newton-Puiseux algorithm
9 / 26
Support of a polynomial
F (X , Y )
×
= Y 7 X 0 +Y 5 X 1 −2 Y 4 X 1 +5 Y 3 X 4 −Y 3 X 2 +4 Y 2 X 2 +Y 0 X 6
Supp(F)=
{(i , j ) ∈ N2 | aij 6= 0}
6
4
3
2
1
0
[email protected]
2
3
Newton-Puiseux algorithm
4
5
7
9 / 26
Newton polygon
F (X , Y )
=
X
i
aij Y X
j
i, j
×
Supp(F)=
N (F ):
{(i , j ) ∈ N2 | aij 6= 0}
6
N (F )
lower part of the convex
hull of Supp(F).
4
3
2
1
0
[email protected]
2
3
Newton-Puiseux algorithm
4
5
7
9 / 26
Generic Newton polygon
F (X , Y )
=
X
i
aij Y X
j
i, j
×
Supp(F)=
{(i , j ) ∈ N2 | aij 6= 0}
GN (F )
6
N (F ):
lower part of the convex
N (F )
hull of Supp(F).
4
- -
GN (F ):
slopes of
N (F ) ≤ −1.
3
2
1
0
[email protected]
2
3
Newton-Puiseux algorithm
4
5
7
9 / 26
Characteristic polynomial
F (X , Y )
=
X
i
aij Y X
j
i, j
×
Supp(F)=
{(i , j ) ∈ N2 | aij 6= 0}
GN (F )
6
N (F ):
lower part of the convex
N (F )
hull of Supp(F).
4
- -
GN (F ):
slopes of
N (F ) ≤ −1.
Characteristic polynomial:
φ∆ (T ) =
X
aij T
i −i0
q
(i , j )∈∆
[email protected]
3
2
∆, pente − mq
1
0
i0 = 2
3
Newton-Puiseux algorithm
4
5
7
9 / 26
Rational Newton-Puiseux Algorithm
D. Duval 1989, Rational Puiseux Expansions
For each edge
φ∆ =
s
Y
∆
of
N (F )
k
φM
k
k =1
For each
l
q
φk
v
F (X , Y )
←
F (ξk X
q
∆, pente − mq
, X m (ξku + Y ))
Xl
with
0
· ξk
s.t.
· (u , v )
i0
I(F )
φk (ξk ) = 0,
such that uq
− vm = 1.
[email protected]
Newton-Puiseux algorithm
10 / 26
Our Newton-Puiseux Algorithm
For each edge
φ∆ =
s
Y
∆
of
GN (F )
k
φM
k
k =1
For each
l
q
φk
v
F (X , Y )
←
F (ξk X
q
∆, pente − mq
, X m (ξku + Y ))
Xl
with
0
· ξk
s.t.
· (u , v )
i0
I(F )
φk (ξk ) = 0,
such that uq
− vm = 1.
[email protected]
Newton-Puiseux algorithm
10 / 26
Rational Newton-Puiseux Algorithm: rst turn
For each edge
φ∆ =
s
Y
∆
of
N0 ( F )
k
φM
k
k =1
For each
φk
v
F (X , Y )
←
F (ξk X
q
, X m (ξku + Y ))
Xl
with
· ξk
s.t.
· (u , v )
φk (ξk ) = 0,
such that uq
First turn: initial polygon
i0
− vm = 1.
∆, pente − mq
dY
l
q
N0 (F )
[email protected]
Newton-Puiseux algorithm
10 / 26
Our Newton-Puiseux Algorithm: rst turn
For each edge
φ∆ =
s
Y
∆
of
EN (F )
k
φM
k
k =1
For each
φk
v
F (X , Y )
←
F (ξk X
q
, X m (ξku + Y ))
Xl
with
· ξk
s.t.
· (u , v )
φk (ξk ) = 0,
such that uq
First turn: exceptional polygon
i0
− vm = 1.
∆, pente − mq
dY
l
q
EN (F )
(lower part of the convex hull of Supp(F)∪{(0, 0)}).
[email protected]
Newton-Puiseux algorithm
10 / 26
One example
K
= F7
F (X , Y )
= Y 7 + Y 5X + 5 Y 4X + 5 Y 4X 3 + 4 Y 2X 2 + X 6
[email protected]
Newton-Puiseux algorithm
11 / 26
One example
K
= F7
F (X , Y )
= Y 7 + Y 5X + 5 Y 4X + 5 Y 4X 3 + 4 Y 2X 2 + X 6
6
Exceptionnal Newton polygon
4
3
2
1
0
[email protected]
EN (F )
2
3
Newton-Puiseux algorithm
4
5
7
11 / 26
One example
EN = ((0, 0), (7, 0))
[email protected]
Newton-Puiseux algorithm
11 / 26
One example
K
= F7
F (X , Y )
= Y 7 + Y 5X + 5 Y 4X + 5 Y 4X 3 + 4 Y 2X 2 + X 6
6
Exceptionnal Newton polygon
4
φ∆ (T ) = T 7 .
3
2
1
∆
0
[email protected]
2
3
Newton-Puiseux algorithm
4
5
7
11 / 26
One example
EN = ((0, 0), (7, 0))
∆ = ((0, 0), (7, 0))
(7)
[email protected]
Newton-Puiseux algorithm
11 / 26
One example
K
= F7
F (X , Y )
= Y 7 + Y 5X + 5 Y 4X + 5 Y 4X 3 + 4 Y 2X 2 + X 6
6
Exceptionnal Newton polygon
4
φ∆ (T ) = T 7 .
3
m
= 0,
q
F (X , Y )
= 1, l = 0,
u
= 1,
v
= 1.
← F (X , Y )
2
1
∆
0
[email protected]
2
3
Newton-Puiseux algorithm
4
5
7
11 / 26
One example
K
= F7
F (X , Y )
= Y 7 + Y 5X + 5 Y 4X + 5 Y 4X 3 + 4 Y 2X 2 + X 6
6
Generic Newton polygon
4
3
2
GN (F )
1
0
[email protected]
2
3
Newton-Puiseux algorithm
4
5
7
11 / 26
One example
EN = ((0, 0), (7, 0))
∆ = ((0, 0), (7, 0))
(7)
(7, 1)
GN = ((0, 4), (2, 2), (4, 1), (7, 0))
[email protected]
Newton-Puiseux algorithm
11 / 26
One example
K
= F7
F (X , Y )
= Y 7 + Y 5X + 5 Y 4X + 5 Y 4X 3 + 4 Y 2X 2 + X 6
6
Generic Newton polygon
4
edge
∆1
φ∆i (T )
4T
2
next pol. Fi
3
∆1
2
1
0
[email protected]
2
3
Newton-Puiseux algorithm
4
5
7
11 / 26
One example
EN = ((0, 0), (7, 0))
∆ = ((0, 0), (7, 0))
(7)
(7, 1)
GN = ((0, 4), (2, 2), (4, 1), (7, 0))
∆1 = ((0, 4), (2, 2))
(2)
[email protected]
Newton-Puiseux algorithm
11 / 26
One example
K
= F7
F (X , Y )
= Y 7 + Y 5X + 5 Y 4X + 5 Y 4X 3 + 4 Y 2X 2 + X 6
6
Generic Newton polygon
4
edge
∆1
∆2
φ∆i (T )
4T
4
2
next pol. Fi
3
2
+ 5T
∆2
1
0
[email protected]
2
3
Newton-Puiseux algorithm
4
5
7
11 / 26
One example
K
= F7
F (X , Y )
= Y 7 + Y 5X + 5 Y 4X + 5 Y 4X 3 + 4 Y 2X 2 + X 6
6
Generic Newton polygon
4
edge
∆1
∆2
∆3
φ∆i (T )
4T
2
next pol. Fi
3
2
+ 5T
5+T
4
1
0
[email protected]
∆3
2
3
Newton-Puiseux algorithm
4
5
7
11 / 26
One example
K
= F7
F (X , Y )
= Y 7 + Y 5X + 5 Y 4X + 5 Y 4X 3 + 4 Y 2X 2 + X 6
6
Generic Newton polygon
4
edge
∆1
∆2
∆3
φ∆i (T )
4T
2
+ 5T
5+T
4
next pol. Fi
3
2
mult. 1
=⇒
End
1
0
[email protected]
2
3
Newton-Puiseux algorithm
4
5
7
11 / 26
One example
EN = ((0, 0), (7, 0))
∆ = ((0, 0), (7, 0))
(7)
(7, 1)
GN = ((0, 4), (2, 2), (4, 1), (7, 0))
∆1 = ((0, 4), (2, 2))
(2)
∆2 = ((2, 2), (4, 1))
(1)
∆3 = ((4, 1), (7, 0))
(1)
(1, 1)
(1, 1)
GN = ((0, 1), (1, 0)) GN = ((0, 1), (1, 0))
[email protected]
Newton-Puiseux algorithm
11 / 26
One example
K
= F7
F (X , Y )
= Y 7 + Y 5X + 5 Y 4X + 5 Y 4X 3 + 4 Y 2X 2 + X 6
6
Generic Newton polygon
4
edge
∆1
∆2
∆3
φ∆i (T )
4T
2
+ 5T
5+T
4
next pol. Fi
F (X ,X Y )
X4
mult. 1
=⇒
3
2
End
1
0
[email protected]
2
3
Newton-Puiseux algorithm
4
5
7
11 / 26
One example
K
= F7
F1 (X , Y )
= X 3 Y 7 + X 2 Y 5 + 5 X 3 Y 4 − 2 XY 4 + 4 Y 2 + X 2
φ∆ (T ) = 1 + 4 T 2
Mult. 1
=⇒
irreducible
End
[email protected]
3
2
1
GN (F )
0
2
Newton-Puiseux algorithm
4
5
7
11 / 26
Polygon tree
EN = ((0, 0), (7, 0))
∆ = ((0, 0), (7, 0))
(7)
(7, 1)
GN = ((0, 4), (2, 2), (4, 1), (7, 0))
∆1 = ((0, 4), (2, 2))
∆2 = ((2, 2), (4, 1))
(2)
(1)
(2, 1)
∆3 = ((4, 1), (7, 0))
(1)
(1, 1)
(1, 1)
GN = ((0, 2), (2, 0)) GN = ((0, 1), (1, 0)) GN = ((0, 1), (1, 0))
∆4 = ((0, 2), (2, 0))
2
(1 )
(1, 2)
GN = ((1, 0), (0, 1))
[email protected]
Newton-Puiseux algorithm
11 / 26
A symbolic algorithm → too slow in practice
Two main problems:
Degree of the extension eld
Coecient growth
[email protected]
Computing the singular part
12 / 26
One example
H (X , Y )
= (Y 3 − X ) ((Y − 1)2 − X ) (Y − 2 − X 2 ) + X 2 Y 5
R H (X )
= X 3 P (X ),
degX (P )
= 23; β
s.t. P (β)
Singular parts of Puiseux series of H above
≤ i ≤ 4.
Si (X )
= αi ,0 ,
Si (X )
= αi ,0 + αi ,1 (X − β) 2 ,
1
1
5
=0
β:
≤ i ≤ 6.
Degree of the extension eld
i
i
= 5, 6: K (αi ,0 ) = K (αi ,1 ) = K (β) → extension of degree 23,
= 1, . . . , 4: [K (αi ,0 ) : K (β)] = 4 → extension of degree 92,
Coecient growth
[email protected]
Computing the singular part
12 / 26
One example
H (X , Y )
= (Y 3 − X ) ((Y − 1)2 − X ) (Y − 2 − X 2 ) + X 2 Y 5
R H (X )
= X 3 P (X ),
degX (P )
= 23; β
s.t. P (β)
Singular parts of Puiseux series of H above
≤ i ≤ 4.
Si (X )
= αi ,0 ,
Si (X )
= αi ,0 + αi ,1 (X − β) 2 ,
1
1
5
=0
β:
≤ i ≤ 6.
Degree of the extension eld
i
i
= 5, 6: K (αi ,0 ) = K (αi ,1 ) = K (β) → extension of degree 23,
= 1, . . . , 4: [K (αi ,0 ) : K (β)] = 4 → extension of degree 92,
Coecient growth
αi ,0 →
αi ,1 →
rational number with 98 digits,
rational number with 132 digits.
[email protected]
Computing the singular part
12 / 26
One example
H (X , Y )
= (Y 3 − X ) ((Y − 1)2 − X ) (Y − 2 − X 2 ) + X 2 Y 5
R H (X )
= X 3 P (X ),
degX (P )
= 23; β
s.t. P (β)
Singular parts of Puiseux series of H above
≤ i ≤ 4.
Si (X )
= αi ,0 ,
Si (X )
= αi ,0 + αi ,1 (X − β) 2 ,
1
1
5
=0
β:
≤ i ≤ 6.
Degree of the extension eld
i
i
= 5, 6: K (αi ,0 ) = K (αi ,1 ) = K (β) → extension of degree 23,
= 1, . . . , 4: [K (αi ,0 ) : K (β)] = 4 → extension of degree 92,
Coecient growth
αi ,0 →
αi ,1 →
rational number with 98 digits,
rational number with 132 digits.
> t0:=time():algcurves[puiseux](H,X=RootOf(P),Y,0):time()-t0;
13.388
(on a eeePC)
[email protected]
Computing the singular part
12 / 26
A symbolic algorithm → too slow in practice
Degree of the extension eld
working over a factor of the resultant: up to dX (2dY
factorisations during the algorithm: up to dY .
→
up to O (D
− 1).
3)
Coecient growth
Walsh:
Walsh 2000,
2
kαik k ≤ 2(h + 1)(h(dX + 1)(dY + 1))6dX dY
A Polynomial-time Complexity Bound for the Computation of the
Singular Part of an Algebraic Function
[email protected]
Computing the singular part
12 / 26
A symbolic algorithm → too slow in practice
Degree of the extension eld
working over a factor of the resultant: up to dX (2dY
factorisations during the algorithm: up to dY .
→
up to O (D
− 1).
3)
Coecient growth
Walsh:
2
kαik k ≤ 2(h + 1)(h(dX + 1)(dY + 1))6dX dY
Bit complexity ?
Chystov: it's polynomial
Walsh: O˜(dY
Chistov 1986,
Walsh 2000,
32
dX
4
ht(F )2 ) ; ht(F ) = log(h)
Polynomial complexity of the Newton-Puiseux algorithm
A Polynomial-time Complexity Bound for the Computation of the
Singular Part of an Algebraic Function
[email protected]
Computing the singular part
12 / 26
A symbolic algorithm → too slow in practice
Degree of the extension eld
working over a factor of the resultant: up to dX (2dY
factorisations during the algorithm: up to dY .
→
up to O (D
− 1).
3)
Coecient growth
Walsh:
2
kαik k ≤ 2(h + 1)(h(dX + 1)(dY + 1))6dX dY
Bit complexity ?
Chystov: it's polynomial
Walsh: O˜(dY
32
dX
4
ht(F )2 ) ; ht(F ) = log(h)
(symbolic computation over number eld) + (numerical evaluation) =
(awfully long computation) + (bad accuracy)
[email protected]
Computing the singular part
12 / 26
Numerical computations ?
Direct computation: almost useless ; one example:
H (X , Y )
RH (X )
H̃
= (Y 3 − X ) ((Y − 1)2 − X ) (Y − 2 − X 2 ) + X 2 Y 5
= X 3 P (X ), α̃ = −.5060254677 − .4773219060 I
= H (X + α̃, y )
; series above
; P (α̃)
'0
(0, 0.4060249175 + 0.9045013397 I ) :
S (X )=0.4060311143+0.9044983677 i −(0.3092659089+0.3655481764 i )X +
(0.2648309844+0.08652658304 i )X 2 +···
convergence radius of S (X ) :
[email protected]
.1649995849 10−6
Computing the singular part
13 / 26
Numerical computations ?
Direct computation: almost useless
Guessing the structure ? two diculties:
Factorising well
Finding the correct Newton polygon
φ∆
4
x
?
2
− 2.0 x + 0.9999
2
= (x − 0.99)(x − 1.01)
1
= (x − 1.)2
0
?
2
4
[email protected]
7
=⇒
Multiplicity structure ?
Computing the singular part
13 / 26
Numerical computations ?
Direct computation: almost useless
Guessing the structure ? two diculties:
Factorising well
Finding the correct Newton polygon
φ∆
4
x
2
?
− 2.0 x + 0.9999
2
= (x − 0.99)(x − 1.01)
1
= (x − 1.)2
0
?
2
4
=⇒
7
=⇒
Multiplicity structure ?
We need the polygon tree !
[email protected]
Computing the singular part
13 / 26
A new symbolic-numeric algorithm:
1
Compute the singular part of Puiseux series modulo a well
chosen prime number p
This give us the polygon tree
T (F ),
i.e.:
Generic Newton polygons,
Multiplicity structures of the
2
φ∆ .
Use this information to conduct a numerical computation of
the Puiseux series coecients.
[email protected]
A modular-numeric approach
14 / 26
Good p-reduction
We denote:
o
the ring of algebraic integers of K ,
p be a prime number,
p
a prime ideal of
o
dividing p.
Dénition
F has
F
p
local (at
X
= 0) good p-reduction
if:
∈ op [X , Y ],
> dY ,
tc(RF ) 6≡
0
mod
p.
[email protected]
Modular part
15 / 26
Main results
If F has a good
p
reduction, then
Theorem 1: we can reduce Puiseux series modulo
Theorem 2:
T (F ) = T (F
mod
[email protected]
p)
P
dividing
p
(not true with classical polygons)
Modular part
16 / 26
Other results
Bounds for the prime number p: size logarithmic in the input
with probabilistic algorithms.
sizes
Improved complexity bounds for the rational Newton-Puiseux
algorithm above nite elds
from O (D
Bit complexity to compute
8
)
to O˜(D
5
)
T (F ): ' O˜(D 5 )
using a small p
Details
[email protected]
Modular part
17 / 26
Following T (F ): one example
Puiseux series of F :
S1 (X )
S2 (X )
S3 (X )
S4 (X )
S5 (X )
S6 (X )
S7 (X )
dY
= X + ···
1
7
2
8
= 4X + X + · · ·
1
= 2X + 2X + · · ·
2
1
7
2
6
= 2X + X + X + · · ·
1
5
2
4
= X + 2X + X + · · ·
1
= X + X + ···
2
1
= X + 4X + · · ·
2
= 25, dX = 26
; 1
≤
coecients
[email protected]
≤ 1013
; Digits
Numerical part
= 20.
18 / 26
First Newton polygon
13
12
1, (1)
1/2, (4,4,4)
1
25
[email protected]
Numerical part
19 / 26
First Newton polygon
13
12
1, 0.16777216 · 108 (T − 1.)1
1/2,
(T − 1.)4 (T − 4.)4 (T − 16.)4
1
25
1
S1 (x) = 1.x 2
ZOOM
[email protected]
Numerical part
19 / 26
Sorting polynomials according to their Newton polygons
Gi (X , Y )
←
F (X
2
/
1 2
, X (Y + ξi
X
))
, ξ1 = 1. ξ2 = 4. ξ3 = 16.
{G1 , G2 , G3}
4
4
3
4
4
polynomial
4
coecient in X
3
G1
0.
G2
0.
G3
−17199267840000.0
[email protected]
Numerical part
20 / 26
Sorting polynomials according to their Newton polygons
{G1 , G2 }
G3
4
4
3
(2,1,1)
4
(3,1)
4
4
φ3 = 17199267840000.0(T − 1.)1
1
7
S2 (x) = 4.x 2 + 1.x 8
Sorting polynomials according
to multiplicity structures
[email protected]
Numerical part
20 / 26
Sorting polynomials according to multiplicity structures
Multiplicity structures:
(2, 1, 1) ⇒ deg(pgcd (φ, φ0 )) = 1
(3, 1) ⇒ deg(pgcd (φ, φ0 )) = 2
[email protected]
Numerical part
21 / 26
Sorting polynomials according to multiplicity structures
Multiplicity structures:
(2, 1, 1) ⇒ deg(pgcd (φ, φ0 )) = 1
(3, 1) ⇒ deg(pgcd (φ, φ0 )) = 2
Characteristic polynomials:
φ1 =
1049760000.0
− 2361960000.0 T + 1837080000.0 T 2 − 590490000.0 T 3 + 65610000.0 T 4
φ2 =
1719926784.0
− 6019743744.0 T + 7739670528.0 T 2 − 4299816960.0 T 3 + 859963392.0 T 4
← Syl (φi , φ0i )
1
Si
2
Compute singular values of the Si
[email protected]
Numerical part
21 / 26
Sorting polynomials according to multiplicity structures
Singular values associated to
φ1 :
[710694508.4327095884, 5827385163.0346368216, 3038236185.2953794346, 1140210769.8445335036,
40759543.641844042087, 1882790.0681572535369, 3.8263754075532025314
Singular values associated to
·10−11 ]
φ2 :
[37445022322.189717034, 24644791488.066781055, 12101920587.793187214, 3915075466.8959244453,
31534726.725839766232,0.00000000074101187358617089031,0.00000000027761147770454585021]
G1
G2
4
4
(2,1,1)
(3,1)
4
[email protected]
4
Numerical part
22 / 26
Results
mypuiseux(F,x,y,x,0);
[[[x = T , y = 1.0 T ], [x = T 2 , y =
1.0000000000000046423 T + 1.0000000000000014628 T ], [x = T , y =
4.0000000000000002662 T + 1.0000000000000014628 T ], [x = T , y =
0.99999999999999869303 T + 2.0000000000000040470 T +
1.0000000000000014628 T ], [x = T , y = 1.9999999999993502275 T +
2.0000000000000757425 T ], [x = T , y = 1.0000000000036976678 T +
1.0000000000047325425 T + 2.0000000000000757425 T ], [x = T , y =
0.99999999999483964356 T + 4.0000000000009297336 T ]]]
2
2
2
4
5
4
2
2
2
6
7
6
3
7
[email protected]
8
4
Numerical part
23 / 26
A good practical numerical behaviour: one example
Ma,d
F (x , y )
coecient in x
= x d − 2(ax − 1)2
= (y 3 − M10,6 (x ))(y 3 − M10,3 (x )) + y 2 x 5
/
1 2
of the Puiseux series above 0:
Digits
numerical evaluation
10
0
4
20
0
15
30
5
29
[email protected]
our algorithm
Numerical part
24 / 26
Conclusion
Reduction criterion:
We can compute
T (F )
Probabilistic algorithms
Use
T (F )
→
small p
to guide oating point computations:
Two stage lter
Use SVD
=⇒
Puiseux series may be used in practice !
[email protected]
A modular-numeric approach
25 / 26
Perspectives
1
Certied implementation ?
Error bounds on the coecients, analyze accuracy
Error bounds for SVD sucient ? Other method ?
[email protected]
And now ?
26 / 26
Perspectives
1
Certied implementation ?
2
A better second lter ?
Context:
- We consider: {φi }
- We know: {dj }
i ≤s
1≤
j ≤s
1≤
a set of approximate polynomials.
the set of multiplicity structures.
- We want:
1. Connections between the two sets,
2. Root approximations with correct multiplicities.
Idea:
connection part → Sum Of Squares ? (certies that there is
no close polynomial with a given multiplicity),
root approximation → Newton-like method.
[email protected]
And now ?
26 / 26
Perspectives
1
Certied implementation ?
2
A better second lter ?
3
Computing real Puiseux series ?
SOS may help. . .
[email protected]
And now ?
26 / 26
Perspectives
1
Certied implementation ?
2
A better second lter ?
3
Computing real Puiseux series ?
4
A (purely) numerical algorithm ?
=⇒
denition of a Puiseux series ?
similar to agcd ?
something else ?
[email protected]
And now ?
26 / 26
Perspectives
1
Certied implementation ?
2
A better second lter ?
3
Computing real Puiseux series ?
4
A (purely) numerical algorithm ?
5
Factorisation during the algorithm ?
Abhyankar 2007, Newton's theorem:
Factorisation of F during the Newton-Puiseux algorithm
→
avoid to make substitutions in the whole polynomial ?
Factorisation à la Hensel,
We have bounds for the degree in X .
[email protected]
And now ?
26 / 26
Perspectives
1
Certied implementation ?
2
A better second lter ?
3
Computing real Puiseux series ?
4
A (purely) numerical algorithm ?
5
Factorisation during the algorithm ?
6
A fast algorithm ?
Additional ideas:
→ multi-evaluation
factorisation → D5
No substitution
No
of the series in F , FY
....
Relax computations.
O˜(D
[email protected]
ω+5
2
)
?
And now ?
26 / 26
Perspectives
1
Certied implementation ?
2
A better second lter ?
3
Computing real Puiseux series ?
4
A (purely) numerical algorithm ?
5
Factorisation during the algorithm ?
6
A fast algorithm ?
Merci de votre attention !
[email protected]
And now ?
26 / 26
Choice of the prime number p
K
= Q(γ),
ht(Q ) =
ht(p )
w
= [K : Q],
Mγ the minimal polynomial of
γ
log kQ k∞ where Q is a multivariate polynomial.
belongs to
O (wdY (w ht(Mγ )
+ ht(F ) + log(wdX dY )))
Deterministic strategy
O (log(dY w log dX )
+ log(ht(F )) + log(ht(Mγ )) + log(−1 ))
Monte-Carlo strategy with probability of error
O (log(dY w log dX )
≤
+ log(ht(F )) + log(ht(Mγ )))
Las-Vegas strategy with an average of 2 iterations.
back
[email protected]
Modular part: details
26 / 26
Complexity of RNP : substitution
N +l
q
N +l
n
q
m
i+
l
q
m
i+
m
i+ ∆
qj
=
N
n
qj
qj
=
=
N
+
l
n
l
l
0
DY
δF =
0
DY
P
i
DY
0
F ′(X, Y ) = F (ξ v X q , X mY )
F (X, Y )
′
+ξ u)
F ′′(X, Y ) = H (X,Y
Xl
ri fi .
Lemme
δ +1
All computations can be made modulo x F
One substitution = N shifts
[email protected]
⊂ O (NM (dY ))
Modular part: details
eld operations.
26 / 26
Complexity of RNP over L = Fpt0
2
Substitutions
→
O˜(δF dY )
Factorisations
→
O˜(δF [dY
Total
→
O˜(δF dY [δF
2
+ dY t0 log p ])
+ dY + t0 log p ])
Lemme
δF ≤ vX (∆F ) ≤ dX (2dY − 2)
Théorème (Number of operations in L)
→ T (F )
→ T (F )
3
2
above 0 : O˜(dY dX
+ dY2 dX t0 log p )
3
2
above all critical points : O˜(dY dX t0 log p )
(
6
2
D. Duval 89, Rational Puiseux Expansions : O dY dX
[email protected]
Modular part: details
)
26 / 26
Bit Complexity for the Monte-Carlo algorithm
F
K
w
∈ K [X , Y ]
= Q(γ)
= [K : Q]
Mγ the minimal polynomial of
γ
Théorème
There exists a Monte-Carlo algorithm which compute
3
2
O˜(dY dX w
2
log
2
T (F )
in
−1 [ht(Mγ ) + ht(F )])
bit operations with a probability of error
≤ .
back
[email protected]
Modular part: details
26 / 26