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