Computing Popov and Hermite forms
- f rectangular polynomial matrices
ISSAC 2018 (New York, USA)
Vincent Neiger, Johan Rosenkilde, Grigory Solomatov
XLIM – University of Limoges, France Technical University of Denmark July 17, 2018
Computing Popov and Hermite forms of rectangular polynomial matrices - - PowerPoint PPT Presentation
Computing Popov and Hermite forms of rectangular polynomial matrices ISSAC 2018 (New York, USA) Vincent Neiger, Johan Rosenkilde, Grigory Solomatov XLIM University of Limoges, France Technical University of Denmark July 17, 2018 Outline
Vincent Neiger, Johan Rosenkilde, Grigory Solomatov
XLIM – University of Limoges, France Technical University of Denmark July 17, 2018
1/13 Vincent Neiger Computing Popov and Hermite forms of rectangular polynomial matrices ISSAC 2018
Context and contribution
3X3 + X2 + 5X + 3 6X + 5 2X + 1 5 5X2 + 3X + 1 5X + 3 3X + 4 X3 + 4X + 1 4X2 + 3
2/13 Vincent Neiger Computing Popov and Hermite forms of rectangular polynomial matrices ISSAC 2018
Context and contribution
Input matrix:
3X3 + X2 + 5X + 3 6X + 5 2X + 1 5 5X2 + 3X + 1 5X + 3 3X + 4 X3 + 4X + 1 4X2 + 3
Transform, via elementary row operations,
rowi ← rowi + p(X)rowj rowi ↔ rowj rowi ← α rowi, α ∈ K\{0}
into Popov form [Popov ’72]
X3 + 5X2 + 4X + 1 2X + 4 3X + 5 1 X2 + 2X + 3 X + 2 3X + 2 4X X2
into Hermite form [Hermite 1851]
X6 + 6X4 + X3 + X + 4 5X5 + 5X4 + 6X3 + 2X2 + 6X + 3 X 3X4 + 5X3 + 4X2 + 6X + 1 5 1
3/13 Vincent Neiger Computing Popov and Hermite forms of rectangular polynomial matrices ISSAC 2018
Context and contribution
3X3 + X2 + 5X + 3 6X + 5 2X + 1 5 5X2 + 3X + 1 5X + 3 3X + 4 X3 + 4X + 1 4X2 + 3
[Gupta-Storjohann ’11] [Labahn-Neiger-Zhou ’17]
[Gupta-Sarkar-Storjohann-Valeriote ’11 & ’12]
4/13 Vincent Neiger Computing Popov and Hermite forms of rectangular polynomial matrices ISSAC 2018
Context and contribution
3X3 + X2 + 5X + 3 6X + 5 2X + 1 5 5X2 + 3X + 1 5X + 3 3X + 4 X3 + 4X + 1 4X2 + 3
[Gupta-Storjohann ’11] [Labahn-Neiger-Zhou ’17]
[Gupta-Sarkar-Storjohann-Valeriote ’11 & ’12]
4/13 Vincent Neiger Computing Popov and Hermite forms of rectangular polynomial matrices ISSAC 2018
Context and contribution
Popov form
previous fastest: O(rmnd2) [Mulders-Storjohann ’03] and O˜(mnωd) [⋆] Las Vegas: O˜(mω−1nd) assuming full row rank [Sarkar-Storjohann ’11]
[⋆] = based on some kernel computation [Beckermann-Labahn-Villard ’06]
5/13 Vincent Neiger Computing Popov and Hermite forms of rectangular polynomial matrices ISSAC 2018
Context and contribution
Hermite form
δ = min(sum of row/col degrees)
previous fastest: O˜(nω+1δ) [⋆] (speed-up factor n)
[⋆] = based on some kernel computation [Beckermann-Labahn-Villard ’06]
5/13 Vincent Neiger Computing Popov and Hermite forms of rectangular polynomial matrices ISSAC 2018
Algorithmic tools and general approach
Left kernel basis of a matrix A ∈ K[X]m×n Matrix K ∈ K[X]k×m such that K has full row rank KA = 0 rows of K generate the kernel of A
combine [Zhou-Labahn-Storjohann ’12] + this work
(via shifted Popov approximant basis [Jeannerod-Neiger-Schost-Villard ’16])
cost of this approach: unsatisfactory
6/13 Vincent Neiger Computing Popov and Hermite forms of rectangular polynomial matrices ISSAC 2018
Algorithmic tools and general approach
Row basis of a matrix A ∈ K[X]m×n Matrix B ∈ K[X]r×n such that B has full row rank B and A have the same row space
Normal form of arbitrary A Step 1: B ← row basis of A
// use [Zhou-Labahn ’13]
Step 2: P ← the normal form of B
// full row rank case
Step 3: Return P Step 1 costs O˜(mω−1(m + n)d)
7/13 Vincent Neiger Computing Popov and Hermite forms of rectangular polynomial matrices ISSAC 2018
Algorithmic tools and general approach
[6] [1] [2] [4] [2] [2] [1] [1] [3] [1] [3] [2] [5] [1] [2] [5]
size O(m2d)
[12] [11] [3] [11] [2] [0] [11] [2] [1]
size O(m2d)
pivot of a row: rightmost entry of largest degree
pivot of a row: rightmost nonzero entry
8/13 Vincent Neiger Computing Popov and Hermite forms of rectangular polynomial matrices ISSAC 2018
Algorithmic tools and general approach
[6] [1] [2] [4] [2] [2] [1] [1] [3] [1] [3] [2] [5] [1] [2] [5]
size O(m2d)
[6] [5] [5] [1] [5] [2] [4] [2] [2] [2] [2] [1] [1] [1] [3] [3] [3] [1] [3] [3] [2] [5] [5] [5] [1] [5] [2] [5]
size O(mnd)
[12] [11] [3] [11] [2] [0] [11] [2] [1]
size O(m2d)
pivot of a row: rightmost entry of largest degree
pivot of a row: rightmost nonzero entry
8/13 Vincent Neiger Computing Popov and Hermite forms of rectangular polynomial matrices ISSAC 2018
Algorithmic tools and general approach
[6] [1] [2] [4] [2] [2] [1] [1] [3] [1] [3] [2] [5] [1] [2] [5]
size O(m2d)
[6] [5] [5] [1] [5] [2] [4] [2] [2] [2] [2] [1] [1] [1] [3] [3] [3] [1] [3] [3] [2] [5] [5] [5] [1] [5] [2] [5]
size O(mnd)
[12] [11] [3] [11] [2] [0] [11] [2] [1]
size O(m2d)
[12] [11] [21] [3] [11] [37] [2] [193] [0] [11] [32] [2] [5] [243] [1]
size O(mnδ)
pivot of a row: rightmost entry of largest degree
pivot of a row: rightmost nonzero entry
8/13 Vincent Neiger Computing Popov and Hermite forms of rectangular polynomial matrices ISSAC 2018
Algorithmic tools and general approach
[4] [3] [5] [2] [1] [4] [5] [7] [9] [4] [4] [2] [9] [3] [5] [8] [5] [5] [0] [5] [9] [7] [4] [9] [3] [5] [5] [9] = A [6] [5] [5] [1] [5] [2] [4] [2] [2] [2] [2] [1] [1] [1] [3] [3] [3] [1] [3] [3] [2] [5] [5] [5] [1] [5] [2] [5] = P unimodular
pivot support of A: indices of the pivots in P any multiple UA has its pivots in the pivot support Algorithmic approach
9/13 Vincent Neiger Computing Popov and Hermite forms of rectangular polynomial matrices ISSAC 2018
Overview of new algorithms
[4] [3] [5] [2] [1] [4] [5] [7] [9] [4] [4] [2] [9] [3] [5] [8] [5] [5] [0] [5] [9] [7] [4] [9] [3] [5] [5] [9] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?] Input matrix Popov form unimodular [4] [2] [4] [5] [7] [4] [9] [3] [5] [5] [5] [9] [7] [3] [5] [9] Aπ = [?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?] [?] = Pπ same unimodular square nonsingular case
Algorithm in O˜(mω−1nd) Step 1: Aπ ← submatrix of A with columns in pivot support Step 2: Pπ ← UAπ = Popov form of Aπ
// nonsingular case
Step 3: Pπ ← UAπ = (PπA−1
π )Aπ mod Xd+1
10/13 Vincent Neiger Computing Popov and Hermite forms of rectangular polynomial matrices ISSAC 2018
Overview of new algorithms
Saturation of A = K[X]1×n ∩ K(X)1×mA = left kernel of any right kernel basis of A
Pivot Support in O˜(nωd) Step 1: K ← right kernel basis of A
// use [Zhou-Labahn-Storjohann ’12]
Step 2: B ← pivot support revealing left kernel basis of K Step 3: return the indices of pivots in B Ensuring efficiency in Step 2
we have deg(B) d since AK = 0
BK = 0 mod diag(Xδ1, . . . , Xδn−r)
11/13 Vincent Neiger Computing Popov and Hermite forms of rectangular polynomial matrices ISSAC 2018
Overview of new algorithms
Strategy apply the previous algorithm iteratively to
12/13 Vincent Neiger Computing Popov and Hermite forms of rectangular polynomial matrices ISSAC 2018
Overview of new algorithms
Strategy apply the previous algorithm iteratively to
12/13 Vincent Neiger Computing Popov and Hermite forms of rectangular polynomial matrices ISSAC 2018
Overview of new algorithms
1 4 6
Strategy apply the previous algorithm iteratively to
12/13 Vincent Neiger Computing Popov and Hermite forms of rectangular polynomial matrices ISSAC 2018
Overview of new algorithms
1 4 6
Strategy apply the previous algorithm iteratively to
12/13 Vincent Neiger Computing Popov and Hermite forms of rectangular polynomial matrices ISSAC 2018
Overview of new algorithms
1 4 6
1 6 7
Strategy apply the previous algorithm iteratively to
12/13 Vincent Neiger Computing Popov and Hermite forms of rectangular polynomial matrices ISSAC 2018
Overview of new algorithms
1 4 6
1 6 7
Strategy apply the previous algorithm iteratively to
12/13 Vincent Neiger Computing Popov and Hermite forms of rectangular polynomial matrices ISSAC 2018
Overview of new algorithms
13/13 Vincent Neiger Computing Popov and Hermite forms of rectangular polynomial matrices ISSAC 2018