Quasi-Optimal Multiplication of Linear Differential Operators

Quasi-Optimal Multiplication of Linear Differential. Operators. Alexandre Benoit 1, Alin Bostan 2 and Joris van der Hoeven 3. 1CNRS, INRIA, UPMC (France).
441KB taille 3 téléchargements 346 vues
Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Quasi-Optimal Multiplication of Linear Differential Operators Alexandre Benoit 1 , Alin Bostan 1

and Joris van der Hoeven

CNRS, INRIA, UPMC (France) 2

3

2

INRIA (France)

´ CNRS, Ecole Polytechnique (France)

ACA 2012 June, 28th 2012

3

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

I Introduction

2 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Product of Linear Differential Operators

P and Q: linear differential operators with polynomial coefficients in K[x]h∂i. The product P Q is given by the relation of composition ∀f ∈ K[x],

P Q · f = P · (Q · f ).

3 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Product of Linear Differential Operators

P and Q: linear differential operators with polynomial coefficients in K[x]h∂i. The product P Q is given by the relation of composition ∀f ∈ K[x],

P Q · f = P · (Q · f ).

The commutation of this product is given by the Leibniz rule: ∂x = x∂ + 1.

3 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Complexity of the Product of Linear Differential Operators

The product of differential operator is a complexity yardstick. The complexity of more involved, higher-level, operations on linear differential operators can be reduced to that of multiplication: LCLM, GCRD (van der Hoeven 2011) Hadamard product other closure properties for differential operators . . .

4 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Previous complexity results

Product of operators in K[x]h∂i of orders 6 r with polynomial coefficients of degrees 6 d (i.e bidegrees (d,r)): Naive algorithm: O(d2 r2 min(d,r)) ops ˜ Takayama algorithm: O(dr min(d,r)) ops Van der Hoeven algorithm (2002): O((d + r)ω ) ops using evaluations and interpolations. ω is a feasible exponent for matrix multiplication (2 6 ω 6 3) ˜ indicates that polylogarithmic factors are neglected. O

5 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Complexities for Unballanced Product

van der Hoeven 2011 + bound see next talk Fast algorithms for LCLM or GCRD for operators of bidegrees (r,r) can be reduced to the multiplication of operators with polynomial coefficients of bidegrees (r2 ,r).

6 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Complexities for Unballanced Product

van der Hoeven 2011 + bound see next talk Fast algorithms for LCLM or GCRD for operators of bidegrees (r,r) can be reduced to the multiplication of operators with polynomial coefficients of bidegrees (r2 ,r). Product of operators of bidegrees (r2 ,r) Naive algorithm: O(r7 ) ops ˜ 4 ) ops Takayama algorithm: O(r Van der Hoeven algorithm: O(r2ω ) ops

6 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Contributions: New Algorithm for Unbalanced Product New algorithm1 for the product of operators in K[x]h∂i of bidegree (d,r) in ˜ O(dr min(d,r)ω−2 ).

1

[BenoitBostanvanderHoeven, 2012] B. and Bostan and van der Hoeven. Quasi-Optimal Multiplication of Linear Differential Operators, to appear in FOCS 2012. 7 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Contributions: New Algorithm for Unbalanced Product New algorithm1 for the product of operators in K[x]h∂i of bidegree (d,r) in ˜ O(dr min(d,r)ω−2 ). If d = r2 the complexity becomes ˜ ω+1 ) (instead of O(r ˜ 4 )). O(r

1

[BenoitBostanvanderHoeven, 2012] B. and Bostan and van der Hoeven. Quasi-Optimal Multiplication of Linear Differential Operators, to appear in FOCS 2012. 7 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Contributions: New Algorithm for Unbalanced Product New algorithm1 for the product of operators in K[x]h∂i of bidegree (d,r) in ˜ O(dr min(d,r)ω−2 ). If d = r2 the complexity becomes ˜ ω+1 ) (instead of O(r ˜ 4 )). O(r Idea: Modify van der Hoeven algorithm using Instead of evaluations of operators on xi , evaluations on xi exp(αx) Use multipoint evaluations and interpolations Use fast algorithm for performing Hermite interpolation 1

[BenoitBostanvanderHoeven, 2012] B. and Bostan and van der Hoeven. Quasi-Optimal Multiplication of Linear Differential Operators, to appear in FOCS 2012. 7 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

II New Vision of van der Hoeven Algorithm

8 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Skew Product: a Linear Algebra Problem

QP =

r X

qi (x)∂ i P

i=0

9 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Skew Product: a Linear Algebra Problem

QP =

r X

qi (x)∂ i P

i=0

We define

   S` (P ) :=  

P ∂P .. . ∂ `−1 P

   , 

then for Q of order r, we have, S1 (QP ) = S1 (Q) Sr+1 (P ).

9 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Skew Product: a Linear Algebra Problem

QP =

r X

qi (x)∂ i P

i=0

We define

   S` (P ) :=  

P ∂P .. . ∂ `−1 P

   , 

then for Q of order r, we have, S1 (QP ) = S1 (Q) Sr+1 (P ). More generally, for any ` > 0, we have: S` (QP ) = S` (Q) Sr+` (P ).

9 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Evaluations and Interpolation of Operator

   S` (P ) :=  

P ∂P .. . ∂ `−1 P



p0

p1

···

pr

0

···

    =   

p00 .. .

p01 + p0

··· .. .

p0r + pr−1

pr

0 .. .

 0 ..  .    0 

···

pr



(`−1)

p0

···

10 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Evaluations and Interpolation of Operator

   S` (P ) :=  

P ∂P .. . ∂ `−1 P



p0

p1

···

pr

0

···

    =   

p00 .. .

p01 + p0

··· .. .

p0r + pr−1

pr

0 .. .

 0 ..  .    0 

···

pr



(`−1)

p0

···

If P is an operator of bidegree (d,r), we can compute P from Sd (P )(0)

10 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Fast Computation of S` (P )(0) A remark  1 0  1 1   1 2   1 3  .. .

from Bostan, Chyzak and Le Roux (ISSAC 2008)  0 ··· 0 p0 0  .. 0 0   p01 . 0 p00  1 0 0   .  .. 3 1 0 0  0  .. (`−1) (`−1) (`−1) . · · · pr p1 p0    = 

p00 .. (`−1)

p0

p0 p0 + p01

p1 ···

···

pr



··· . ..

p0r

0 .. .

     

0

··· p0r + pr−1

pr pr .. .

···

pr

. ···

p1

0 .. .

0

   . 

11 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Fast Computation of S` (P )(0) A remark  1 0  1 1   1 2   1 3  .. .

from Bostan, Chyzak and Le Roux (ISSAC 2008)  0 ··· 0 p0 0  .. 0 0   p01 . 0 p00  1 0 0   .  .. 3 1 0 0  0  .. (`−1) (`−1) (`−1) . · · · pr p1 p0    = 

p00 .. (`−1)

p0

p0 p0 + p01

p1 ···

···

pr



··· . ..

p0r

0 .. .

     

0

··· p0r + pr−1

pr pr .. .

···

pr

. ···

p1

0 .. .

0

   . 

Applications: ˜ Computation of P from Sd (P )(0) in O((r + d)ω ) (in O(rd) using structured matrices)

11 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Fast Computation of S` (P )(0) A remark  1 0  1 1   1 2   1 3  .. .

from Bostan, Chyzak and Le Roux (ISSAC 2008)  0 ··· 0 p0 0  .. 0 0   p01 . 0 p00  1 0 0   .  .. 3 1 0 0  0  .. (`−1) (`−1) (`−1) . · · · pr p1 p0    = 

p00 .. (`−1)

p0

p0 p0 + p01

p1 ···

···

pr



··· . ..

p0r

0 .. .

     

0

··· p0r + pr−1

pr pr .. .

···

pr

. ···

p1

0 .. .

0

   . 

Applications: ˜ Computation of P from Sd (P )(0) in O((r + d)ω ) (in O(rd) using structured matrices) ˜ Computation of Sd (P )(0) from P in O((r + d)ω ) (in O(rd) using structured matrices) 11 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Complexity of van der Hoeven Algorithm

Easy bound: If P and Q are of bidegrees (r,d), QP is of bidegree (2r,2d). Evaluation of S2d+r (P )(0) and S2d (Q)(0) Matrix multiplication S2d (QP )(0) = S2d (Q)(0) · S2d+r (P )(0) Interpolation. From S2d (QP )(0) to the coefficients of QP

12 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Complexity of van der Hoeven Algorithm

Easy bound: If P and Q are of bidegrees (r,d), QP is of bidegree (2r,2d). ˜ Evaluation of S2d+r (P )(0) and S2d (Q)(0) O(r(r + d)) ops Matrix multiplication S2d (QP )(0) = S2d (Q)(0) · S2d+r (P )(0) O((d + r)ω ) ops ˜ ops Interpolation. From S2d (QP )(0) to the coefficients of QP O(dr)

12 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Complexity of van der Hoeven Algorithm

Easy bound: If P and Q are of bidegrees (r,d), QP is of bidegree (2r,2d). ˜ Evaluation of S2d+r (P )(0) and S2d (Q)(0) O(r(r + d)) ops Matrix multiplication S2d (QP )(0) = S2d (Q)(0) · S2d+r (P )(0) O((d + r)ω ) ops ˜ ops Interpolation. From S2d (QP )(0) to the coefficients of QP O(dr)

12 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Complexity of van der Hoeven Algorithm

Easy bound: If P and Q are of bidegrees (r,d), QP is of bidegree (2r,2d). ˜ Evaluation of S2d+r (P )(0) and S2d (Q)(0) O(r(r + d)) ops Matrix multiplication S2d (QP )(0) = S2d (Q)(0) · S2d+r (P )(0) O((d + r)ω ) ops ˜ ops Interpolation. From S2d (QP )(0) to the coefficients of QP O(dr) ˜ ω) Complexity of van der Hoeven algorithm if d = r: O(r

©

12 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Complexity of van der Hoeven Algorithm

Easy bound: If P and Q are of bidegrees (r,d), QP is of bidegree (2r,2d). ˜ Evaluation of S2d+r (P )(0) and S2d (Q)(0) O(r(r + d)) ops Matrix multiplication S2d (QP )(0) = S2d (Q)(0) · S2d+r (P )(0) O((d + r)ω ) ops ˜ ops Interpolation. From S2d (QP )(0) to the coefficients of QP O(dr)

© §

˜ ω) Complexity of van der Hoeven algorithm if d = r: O(r ˜ 2ω ) Complexity of van der Hoeven algorihtm if d = r2 : O(r

12 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

III New Algorithm for the Unbalanced Product

13 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Product using Multipoint Evaluations and Interpolation

New idea (d > r and d/r ∈ N): We replace one multiplication of big matrices by several multiplications of smaller matrices

14 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Product using Multipoint Evaluations and Interpolation

New idea (d > r and d/r ∈ N): We replace one multiplication of big matrices by several multiplications of smaller matrices Evaluations of S2r (P )(0), S2r (P )(1), · · · , S2r (P )(2d/r − 1) and Sr (Q)(0), Sr (Q)(1), · · · , Sr (Q)(2d/r − 1)

14 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Product using Multipoint Evaluations and Interpolation

New idea (d > r and d/r ∈ N): We replace one multiplication of big matrices by several multiplications of smaller matrices Evaluations of S2r (P )(0), S2r (P )(1), · · · , S2r (P )(2d/r − 1) and Sr (Q)(0), Sr (Q)(1), · · · , Sr (Q)(2d/r − 1) Matrix multiplications: For all i, Sr (QP )(i) = Sr (Q)(i) · S2r (P )(i).

14 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Product using Multipoint Evaluations and Interpolation

New idea (d > r and d/r ∈ N): We replace one multiplication of big matrices by several multiplications of smaller matrices Evaluations of S2r (P )(0), S2r (P )(1), · · · , S2r (P )(2d/r − 1) and Sr (Q)(0), Sr (Q)(1), · · · , Sr (Q)(2d/r − 1) Matrix multiplications: For all i, Sr (QP )(i) = Sr (Q)(i) · S2r (P )(i). O(drω−1 ) d/r multiplications of matrices of size r × r (instead of r × d)

14 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Product using Multipoint Evaluations and Interpolation

New idea (d > r and d/r ∈ N): We replace one multiplication of big matrices by several multiplications of smaller matrices Evaluations of S2r (P )(0), S2r (P )(1), · · · , S2r (P )(2d/r − 1) and Sr (Q)(0), Sr (Q)(1), · · · , Sr (Q)(2d/r − 1) Matrix multiplications: For all i, Sr (QP )(i) = Sr (Q)(i) · S2r (P )(i). O(drω−1 ) d/r multiplications of matrices of size r × r (instead of r × d) Interpolations. From Sr (QP )(0), Sr (QP )(1), · · · , Sr (QP )(2d/r − 1) to the coefficients of QP

14 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Hermite Evaluations and Interpolations

15 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Hermite Evaluations and Interpolations

Fast algorithm for evaluations ˜ and interpolations in O(n) ops (Chin (1976)).

15 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Hermite Evaluations and Interpolations

Fast algorithm for evaluations ˜ and interpolations in O(n) ops (Chin (1976)).

Application: ˜ Evaluations and interpolation of Sr (P )(i) for i ∈ [0..2d/r − 1] in O(rd) ops

15 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

New Algorithm when d > r

Evaluations of Sr (P )(0), Sr (P )(1), · · · , S2r (P )(2d/r − 1) and Sr (Q)(0), Sr (Q)(1), · · · , Sr (Q)(2d/r − 1) Matrix multiplications: For all i Sr (QP )(i) = Sr (Q)(i) · S2r (P )(i) O(drω−1 ) Interpolation. From Sr (QP )(0), Sr (QP )(1), · · · , Sr (QP )(2d/r − 1) to the coefficients of QP

16 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

New Algorithm when d > r

Evaluations of Sr (P )(0), Sr (P )(1), · · · , S2r (P )(2d/r − 1) and ˜ Sr (Q)(0), Sr (Q)(1), · · · , Sr (Q)(2d/r − 1) O(dr) Matrix multiplications: For all i Sr (QP )(i) = Sr (Q)(i) · S2r (P )(i) O(drω−1 ) Interpolation. From Sr (QP )(0), Sr (QP )(1), · · · , Sr (QP )(2d/r − 1) to the ˜ coefficients of QP O(dr)

16 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

New Algorithm when d > r

Evaluations of Sr (P )(0), Sr (P )(1), · · · , S2r (P )(2d/r − 1) and ˜ Sr (Q)(0), Sr (Q)(1), · · · , Sr (Q)(2d/r − 1) O(dr) Matrix multiplications: For all i Sr (QP )(i) = Sr (Q)(i) · S2r (P )(i) O(drω−1 ) Interpolation. From Sr (QP )(0), Sr (QP )(1), · · · , Sr (QP )(2d/r − 1) to the ˜ coefficients of QP O(dr) ˜ ω−1 ) arithmetic operations Conplexity of algorithm when d > r: O(dr

16 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Application when r > d

ϕ is the morphism from K[x]h∂i to itself such that: ϕ(∂) = x,

ϕ(x) = −∂.

17 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Application when r > d

ϕ is the morphism from K[x]h∂i to itself such that: ϕ(∂) = x,

ϕ(x) = −∂.

Application, new algorithm for the product when r > d compute the canonical forms (x at left and ∂ at right) of ϕ(P ) and ϕ(Q), ˜ new algorithm in O(dr) compute the product M = ϕ(P )ϕ(Q) of operators ϕ(P ) and ϕ(Q) in O(dω−1 r) using the previous algorithm return the (canonical form of the) operator P Q = ϕ−1 (M ) ˜ new algorithm in O(dr)

17 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Application when r > d

ϕ is the morphism from K[x]h∂i to itself such that: ϕ(∂) = x,

ϕ(x) = −∂.

Application, new algorithm for the product when r > d compute the canonical forms (x at left and ∂ at right) of ϕ(P ) and ϕ(Q), ˜ new algorithm in O(dr) compute the product M = ϕ(P )ϕ(Q) of operators ϕ(P ) and ϕ(Q) in O(dω−1 r) using the previous algorithm return the (canonical form of the) operator P Q = ϕ−1 (M ) ˜ new algorithm in O(dr) ˜ ω−1 r) arithmetic operations when r > d Complexity of the product in O(d

17 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

IV Conclusion

18 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Contribution: better algorithm for the product of differential operator: Previous: O((d + r)ω ) arithmetic operations New algorithm: O(rd min(r,d)ω−2 ) arithmetic operations

19 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Contribution: better algorithm for the product of differential operator: Previous: O((d + r)ω ) arithmetic operations New algorithm: O(rd min(r,d)ω−2 ) arithmetic operations The same algorithm works also for product of recurrence operators or q-difference operators.

19 / 19

Introduction New Vision of van der Hoeven Algorithm New Algorithm for the Unbalanced Product Conclusion

Contribution: better algorithm for the product of differential operator: Previous: O((d + r)ω ) arithmetic operations New algorithm: O(rd min(r,d)ω−2 ) arithmetic operations The same algorithm works also for product of recurrence operators or q-difference operators. Perspective: Use of this fast product to improve algorithms to compute: differential operator canceling Hadamard product of series differential operator canceling product of series differential operator obtained by substitution with an algebraic function

19 / 19