linear algebra 1 computing canonical forms in exact
play

Linear Algebra 1: Computing canonical forms in exact linear algebra - PowerPoint PPT Presentation

Linear Algebra 1: Computing canonical forms in exact linear algebra Clment P ERNET , LIG/INRIA-MOAIS, Grenoble Universit, France ECRYPT II: Summer School on Tools, Mykonos, Grece, June 1st, 2012 Introduction : matrix normal forms Given a


  1. Algorithms: main types Three ways to group operations: 1. simple iterative ◮ Apply the standard Gaussian elimination in dimension n ◮ Main loop for i=1 to n 2. block algorithms 2.1 block iterative (Tile) ◮ Apply Gaussian elimination in dimension n / k over blocks of size k ◮ Main loop: for i=1 to n/k 2.2 block recursive ◮ Apply Gaussian elimination in dimension 2 recursively on blocks of size n / 2 i ◮ Main loop: for i=1 to 2

  2. Type of algorithms Data locality: prefer block algorithms ◮ cache aware: block iterative ◮ cache oblivious: block recursive Base case efficieny: simple iterative Asymptotic time complexity: block recursive Parallelization: block iterative

  3. Block recursive gaussian elimination Author Year Computation Requirement Strassen 69 Inverse gen. rank prof. Bunch, Hopcroft 74 LUP gen. row rank prof Ibarra, Moran, Hui 82 LSP , LQUP none Schönage, Keller-Gerig 85 StepForm none Storjohann 00 Echelon, RedEch none here 11 CUP ,PLE,PLUQ none

  4. Block recursive gaussian elimination Author Year Computation Requirement Strassen 69 Inverse gen. rank prof. Bunch, Hopcroft 74 LUP gen. row rank prof Ibarra, Moran, Hui 82 LSP , LQUP none Schönage, Keller-Gerig 85 StepForm none Storjohann 00 Echelon, RedEch none here 11 CUP ,PLE,PLUQ none Comparison according to: ◮ No requirement on the input matrix

  5. Block recursive gaussian elimination Author Year Computation Requirement Strassen 69 Inverse gen. rank prof. Bunch, Hopcroft 74 LUP gen. row rank prof Ibarra, Moran, Hui 82 LSP , LQUP none Schönage, Keller-Gerig 85 StepForm none Storjohann 00 Echelon, RedEch none here 11 CUP ,PLE,PLUQ none Comparison according to: ◮ No requirement on the input matrix ◮ Rank sensitive complexity

  6. Block recursive gaussian elimination Author Year Computation Requirement Strassen 69 Inverse gen. rank prof. Bunch, Hopcroft 74 LUP gen. row rank prof Ibarra, Moran, Hui 82 LSP , LQUP none Schönage, Keller-Gerig 85 StepForm none Storjohann 00 Echelon, RedEch none here 11 CUP ,PLE,PLUQ none Comparison according to: ◮ No requirement on the input matrix ◮ Rank sensitive complexity ◮ Memory allocations ◮ Constant factor in the time complexity

  7. Memory requirements: Definition In place = output overrides the input and computation does not need extra memory (considering Matrix multiplication C ← C + AB as a black box) Remark: a unit lower triangular and an upper triangular matrix can be stored on the same m × n storage!

  8. Preliminaries TRSM: TRiangular Solve with Matrix � − 1 � D � A � � A − 1 � � I � � I � � D � − B B = C − 1 C E I I E

  9. Preliminaries TRSM: TRiangular Solve with Matrix � − 1 � D � A � � A − 1 � � I � � I � � D � − B B = C − 1 C E I I E Compute F = C − 1 E (Recursive call) Compute G = D − BF (MM) Compute H = A − 1 G (Recursive call) � H � Return F A B D C E

  10. Preliminaries TRSM: TRiangular Solve with Matrix � − 1 � D � A − 1 � A � � � I � � I � � D � B − B = C − 1 C E I I E Compute F = C − 1 E (Recursive call) Compute G = D − BF (MM) Compute H = A − 1 G (Recursive call) � � H Return F A B D C F

  11. Preliminaries TRSM: TRiangular Solve with Matrix � − 1 � D � A − 1 � A � � � I � � I � � D � B − B = C − 1 C E I I E Compute F = C − 1 E (Recursive call) Compute G = D − BF (MM) Compute H = A − 1 G (Recursive call) � � H Return F A B G C F

  12. Preliminaries TRSM: TRiangular Solve with Matrix � − 1 � D � A − 1 � A � � � I � � I � � D � B − B = C − 1 C E I I E Compute F = C − 1 E (Recursive call) Compute G = D − BF (MM) Compute H = A − 1 G (Recursive call) � � H Return F A B H C F

  13. Preliminaries TRSM: TRiangular Solve with Matrix � − 1 � D � A − 1 � A � � � I � � I � � D � B − B = C − 1 C E I I E Compute F = C − 1 E (Recursive call) Compute G = D − BF (MM) Compute H = A − 1 G (Recursive call) � � H Return F A B H ◮ O ( n ω ) C ◮ In place F

  14. The CUP decomposition 1. Split A Row-wise A1 A2

  15. The CUP decomposition 1. Split A Row-wise 2. Recursive call on A 1 U V 1 C 1 A A 21 22

  16. The CUP decomposition 1. Split A Row-wise 2. Recursive call on A 1 U V 3. G ← A 21 U − 1 1 ( trsm ) C 1 1 A G 22

  17. The CUP decomposition 1. Split A Row-wise 2. Recursive call on A 1 U V 3. G ← A 21 U − 1 1 ( trsm ) C 1 1 4. H ← A 22 − G × V ( MM ) H G

  18. The CUP decomposition 1. Split A Row-wise 2. Recursive call on A 1 U 1 3. G ← A 21 U − 1 ( trsm ) C 1 1 4. H ← A 22 − G × V ( MM ) U G C 2 2 5. Recursive call on H

  19. The CUP decomposition 1. Split A Row-wise 2. Recursive call on A 1 U 1 3. G ← A 21 U − 1 ( trsm ) C 1 U 1 2 4. H ← A 22 − G × V ( MM ) G C 2 5. Recursive call on H 6. Row permutations

  20. Memory: LSP vs LQUP vs PLUQ vs CUP Decomposition In place LSP N LQUP N PLUQ Y CUP Y

  21. Echelon forms From CUP to ColumnEchelon form U = C P A � − 1 � U 1 U 2 P T = Y U I n − r = C P A Id U − 1 − U − 1 � � 1 U 2 P T = 1 I n − r A Y = C Additional operations: − U − 1 U 2 trsm (triangular system solve) in-place

  22. Echelon forms From CUP to ColumnEchelon form U = C P A � − 1 � U 1 U 2 P T = Y U I n − r = C P A Id U − 1 − U − 1 � � 1 U 2 P T = 1 I n − r A Y = C Additional operations: − U − 1 U 2 trsm (triangular system solve) in-place U − 1 1 : trtri (triangular inverse)

  23. Echelon forms From CUP to ColumnEchelon form U = C P A � − 1 � U 1 U 2 P T = Y U I n − r = C P A Id U − 1 − U − 1 � � 1 U 2 P T = 1 I n − r A Y = C Additional operations: − U − 1 U 2 trsm (triangular system solve) in-place U − 1 1 : trtri (triangular inverse) in-place

  24. From CUP to Column Echelon form TRTRI : triangular inverse � − 1 � U − 1 − U − 1 1 U 2 U − 1 � U 1 � U 2 = 1 3 U − 1 U 3 3 1: if n = 1 then U ← U − 1 2: 3: else U 2 ← U − 1 3 U 2 4: TRSM U 2 ← − U 2 U − 1 5: TRSM 3 U 1 ← U − 1 6: TRTRI 1 U 3 ← U − 1 7: TRTRI 3 8: end if

  25. Reduced Echelon forms From Col. Echelon form to Reduced Col. Echelon form A Y = C M A Y = Q � − 1 � M Z = Y M Id I n − r A Y = Q Id C A Z = Similarly, from PLE to RowEchelon form Again reduces to: U − 1 X : TRSM , in-place U − 1 : TRTRI , in-place

  26. Reduced Echelon forms From Col. Echelon form to Reduced Col. Echelon form A Y = C M A Y = Q � − 1 � M Z = Y M Id I n − r A Y = Q Id C A Z = Similarly, from PLE to RowEchelon form Again reduces to: U − 1 X : TRSM , in-place U − 1 : TRTRI , in-place UL : TRTRM ,

  27. Reduced Echelon forms From Col. Echelon form to Reduced Col. Echelon form A Y = C M A Y = Q � − 1 � M Z = Y M Id I n − r A Y = Q Id C A Z = Similarly, from PLE to RowEchelon form Again reduces to: U − 1 X : TRSM , in-place U − 1 : TRTRI , in-place UL : TRTRM ,

  28. Reduced Echelon forms From Col. Echelon form to Reduced Col. Echelon form A Y = C M A Y = Q � − 1 � M Z = Y M Id I n − r A Y = Q Id C A Z = Similarly, from PLE to RowEchelon form Again reduces to: U − 1 X : TRSM , in-place U − 1 : TRTRI , in-place UL : TRTRM , in-place

  29. From Echelon to Reduced Echelon TRTRM : triangular triangular multiplication � U 1 � � L 1 � � U 1 L 1 + U 2 L 2 � U 2 U 2 L 3 = U 3 L 2 L 3 U 3 L 2 U 3 L 3 1: X 1 ← U 1 L 1 TRTRM 2: X 1 ← X 1 + U 2 L 2 MM 3: X 2 ← U 2 L 3 TRMM 4: X 3 ← U 3 L 2 TRMM 5: X 4 ← U 3 L 3 TRTRM

  30. From Echelon to Reduced Echelon TRTRM : triangular triangular multiplication � U 1 � � L 1 � � U 1 L 1 + U 2 L 2 � U 2 U 2 L 3 = U 3 L 2 L 3 U 3 L 2 U 3 L 3 1: X 1 ← U 1 L 1 TRTRM 2: X 1 ← X 1 + U 2 L 2 MM 3: X 2 ← U 2 L 3 TRMM 4: X 3 ← U 3 L 2 TRMM 5: X 4 ← U 3 L 3 TRTRM U U L 1 1 2 U L L 3 2 3

  31. From Echelon to Reduced Echelon TRTRM : triangular triangular multiplication � U 1 � � L 1 � � U 1 L 1 + U 2 L 2 � U 2 U 2 L 3 = U 3 L 2 L 3 U 3 L 2 U 3 L 3 1: X 1 ← U 1 L 1 TRTRM 2: X 1 ← X 1 + U 2 L 2 MM 3: X 2 ← U 2 L 3 TRMM 4: X 3 ← U 3 L 2 TRMM 5: X 4 ← U 3 L 3 TRTRM X 1 U 2 U L L 3 2 3

  32. From Echelon to Reduced Echelon TRTRM : triangular triangular multiplication � U 1 � � L 1 � � U 1 L 1 + U 2 L 2 � U 2 U 2 L 3 = U 3 L 2 L 3 U 3 L 2 U 3 L 3 1: X 1 ← U 1 L 1 TRTRM 2: X 1 ← X 1 + U 2 L 2 MM 3: X 2 ← U 2 L 3 TRMM 4: X 3 ← U 3 L 2 TRMM 5: X 4 ← U 3 L 3 TRTRM X 1 U 2 U L L 3 2 3

  33. From Echelon to Reduced Echelon TRTRM : triangular triangular multiplication � U 1 � � L 1 � � U 1 L 1 + U 2 L 2 � U 2 U 2 L 3 = U 3 L 2 L 3 U 3 L 2 U 3 L 3 1: X 1 ← U 1 L 1 TRTRM 2: X 1 ← X 1 + U 2 L 2 MM 3: X 2 ← U 2 L 3 TRMM 4: X 3 ← U 3 L 2 TRMM 5: X 4 ← U 3 L 3 TRTRM X 1 X 2 U L L 3 2 3

  34. From Echelon to Reduced Echelon TRTRM : triangular triangular multiplication � U 1 � � L 1 � � U 1 L 1 + U 2 L 2 � U 2 U 2 L 3 = U 3 L 2 L 3 U 3 L 2 U 3 L 3 1: X 1 ← U 1 L 1 TRTRM 2: X 1 ← X 1 + U 2 L 2 MM 3: X 2 ← U 2 L 3 TRMM 4: X 3 ← U 3 L 2 TRMM 5: X 4 ← U 3 L 3 TRTRM X 1 X 2 U X L 3 3 3

  35. From Echelon to Reduced Echelon TRTRM : triangular triangular multiplication � U 1 � � L 1 � � U 1 L 1 + U 2 L 2 � U 2 U 2 L 3 = U 3 L 2 L 3 U 3 L 2 U 3 L 3 1: X 1 ← U 1 L 1 TRTRM 2: X 1 ← X 1 + U 2 L 2 MM 3: X 2 ← U 2 L 3 TRMM 4: X 3 ← U 3 L 2 TRMM 5: X 4 ← U 3 L 3 TRTRM X 1 X ◮ O ( n ω ) 2 ◮ In place X 4 X 3

  36. Example: in place matrix inversion A

  37. Example: in place matrix inversion U A L CUP decomposition A = LU

  38. Example: in place matrix inversion −1 U U A L L CUP decomposition Echelon AU − 1 = L

  39. Example: in place matrix inversion −1 U U −1 A A L L CUP decomposition Echelon Reduced Echelon A ( U − 1 L − 1 ) = I

  40. Experiments ./test-invert 65521 A1000 1 518,996,125,000 bytes x ms bytes 16M x804AA7E:_Z10read_fieldI 14M x8049A98:main 12M 10M x804EDC0:void%FFLAS::Win 8M 6M x804EDEE:void%FFLAS::Win 4M x804EDD4:void%FFLAS::Win 2M 0M 0.0 5000.0 10000.0 15000.0 20000.0 25000.0 30000.0 ms ./test-redechelon 65521 A1000 1 280,663,687,500 bytes x ms bytes 8M x804A47E:_Z10read_fieldI 6M x804B0EC:void%FFLAS::Win 4M x804B11A:void%FFLAS::Win 2M x804B100:void%FFLAS::Win 0M 1.0 5001.0 10001.0 15001.0 20001.0 25001.0 30001.0 ms

  41. Direct computation of the Reduced Echelon form ◮ Strassen 69: inverse of generic matrices ◮ Storjohann 00: Gauss-Jordan generalization for any rank profile Matrix Inversion [Strassen 69] � − 1 � A � A − 1 � � I � � I � � � B − B I = ( D − CA − 1 B ) − 1 CA − 1 C D I I I

  42. Direct computation of the Reduced Echelon form ◮ Strassen 69: inverse of generic matrices ◮ Storjohann 00: Gauss-Jordan generalization for any rank profile Matrix Inversion [Strassen 69] � − 1 � A � A − 1 � � I � � I � � � B − B I = ( D − CA − 1 B ) − 1 CA − 1 C D I I I 1: Compute E = A − 1 (Recursive call) 2: Compute F = D − CEB (MM) 3: Compute G = F − 1 (Recursive call) 4: Compute H = − EB (MM) 5: Compute J = HG (MM) 6: Compute K = CE (MM) 7: Compute L = E + JK (MM) 8: Compute M = GK (MM) � E � J 9: Return M G

  43. Strassen-Storjohann’s Gauss-Jordan elimination Problem Needs to perform operations of the form A ← AB ⇒ not doable in place by a usual matrix multiplication algorithm

  44. Strassen-Storjohann’s Gauss-Jordan elimination Problem Needs to perform operations of the form A ← AB ⇒ not doable in place by a usual matrix multiplication algorithm Workaround [Storjohann]: 1. Decompose B = LU LU 2. A ← AL trmm 3. A ← AU trmm

  45. Rank sensitive time complexity Fact Algorithms LSP , CUP , LQUP , PLUQ, ... have a rank sensitive mnr ω − 2 � � computation time: O n=3000, PIII−1.6Ghz, 512Mb RAM 140 Block algorithm Iterative algorithm 120 100 Time (s) 80 60 40 20 0 0 500 1000 1500 2000 2500 3000 Rank

  46. Time complexity: comparing constants O ( n ω ) = C ω n 3 Algorithm Constant C ω in-place C 3 C log 2 7 C ω 2 6 × MM C ω 1 4 ∨ TRSM 2 ω − 1 − 2 C ω 1 8 3 ≈ 0 . 33 5 = 1 . 6 ∨ TRTRI ( 2 ω − 1 − 2 )( 2 ω − 1 − 1 ) TRTRM , CUP C ω C ω 2 14 2 ω − 1 − 2 − 3 ≈ 0 . 66 5 = 2 . 8 ∨ PLUQ LQUP , 2 ω − 2 C ω 3 C ω 22 2 ω − 2 − 1 − 1 5 ≈ 4 . 4 ∨ Echelon 2 ω − 2 C ω ( 2 ω − 1 + 2 ) 44 2 5 = 8 . 8 ∨ RedEchelon ( 2 ω − 1 − 2 )( 2 ω − 1 − 1 ) 5 C ω C ω 76 2 ω − 1 − 1 + 4 5 = 15 . 2 × StepForm ( 2 ω − 1 − 1 )( 2 ω − 2 − 1 ) C ω GJ ∗ 2 8 × 2 ω − 2 − 1 ∗ : GJ : GaussJordan alg of [Storjohann00] computing the reduced echelon form

  47. Applications to standard linalg problems Problem Using C ω C 3 C log 2 7 In place Rank RankProfile C ω 2 8 × GJ 2 ω − 2 − 1 IsSingular C ω C ω 0 . 66 2 . 8 ∨ 2 ω − 1 − 2 − CUP 2 ω − 2 Det Solve C ω 2 × GJ 8 2 ω − 2 − 1 Inverse C ω ( 2 ω − 1 + 2 ) 2 8 . 8 ∨ CUP ( 2 ω − 1 − 2 )( 2 ω − 1 − 1 )

  48. Summary - Det - Echelon - Reduced - Rank - Nullspace basis Echelon form - RankProfile - Inverse - Solve -1 U -1 LUDecomp U TRTRI U TRTRI TRTRM -1 A A -1 L L L 2/3 1/3 1/3 2/3 LU decomp Echelon form decomp Reduced Echelon A=LU Gauss (TA=E) form decomp TA=R 1 GaussJordan 2

  49. Outline Reduced Echelon forms and Gaussian elimination Gaussian elimination based matrix decompositions Relations between decompositions Algorithms Hermite normal form Micciancio & Warinschi algorithm Double Determinant AddCol Frobenius normal form Krylov method Algorithm Reduction to matrix multiplication

  50. Computing Hermite Normal form Equivalence over a ring: H = UA , where det ( U ) = ± 1  p 1 ∗ x 1 , 2 ∗ ∗ x 1 , 3 ∗  ∗ ∗ x 2 , 3 ∗ p 2 Hermite normal form: H =    , with 0 ≤ x ∗ , j < p j   ∗ p 3  Reduced Echelon form over a Ring Improving Micciancio-Warinshi algorihm n 5 log � A � n 3 log � A � ◮ O ˜ � � � � (heuristically: O ˜ ) n 2 log � A � ◮ space: O � � ⇒ Good on random matrices, common in num. theory, crypto.

  51. Computing Hermite Normal form Equivalence over a ring: H = UA , where det ( U ) = ± 1  p 1 ∗ x 1 , 2 ∗ ∗ x 1 , 3 ∗  ∗ ∗ x 2 , 3 ∗ p 2 Hermite normal form: H =    , with 0 ≤ x ∗ , j < p j   ∗ p 3  Reduced Echelon form over a Ring Improving Micciancio-Warinshi algorihm n 5 log � A � n 3 log � A � ◮ O ˜ � � � � (heuristically: O ˜ ) n 2 log � A � ◮ space: O � � ⇒ Good on random matrices, common in num. theory, crypto. Implementation, reduction to building blocks: ◮ LinSys over Z , ◮ CUP and MatMul over Z p

  52. Naive algorithm begin 1 foreach i do 2 ( g , t i , . . . , t n ) = xgcd ( A i , i , A i + 1 , i , . . . , A n , i ) ; 3 L i ← � n j = i + 1 t j L j ; 4 5 for j = i + 1 . . . n do A j , i L j ← L j − g L i ; /* eliminate */ 6 for j = 1 . . . i − 1 do 7 A j , i L j ← L j − ⌊ g ⌋ L i ; /* reduce */ 8 end 9   p 1 ∗ x 1 , 2 ∗ ∗ x 1 , 3 ∗ p 2 ∗ ∗ x 2 , 3 ∗     p 3 ∗  

  53. Computing modulo the determinant [Domich & Al. 87] Property For A non-singular: max i � j H ij ≤ det H Example     − 5 8 − 3 − 9 5 5 1 0 3 237 − 299 90 − 2 8 − 2 − 2 8 5 0 1 1 103 − 130 40     A =  , H =     7 − 5 − 8 4 3 − 4 0 0 4 352 − 450 135    1 − 1 6 0 8 − 3 0 0 0 486 − 627 188 det A = 1944

  54. Computing modulo the determinant [Domich & Al. 87] Property For A non-singular: max i � j H ij ≤ det H Example     − 5 8 − 3 − 9 5 5 1 0 3 237 − 299 90 − 2 8 − 2 − 2 8 5 0 1 1 103 − 130 40     A =  , H =     7 − 5 − 8 4 3 − 4 0 0 4 352 − 450 135    1 − 1 6 0 8 − 3 0 0 0 486 − 627 188 det A = 1944 Moreover, every computation can be done modulo d = det A : � A � � H � U ′ = dI n I n I n n 4 log � A � � n 3 � � � ⇒O × M ( n ( log n + log � A � )) = O ˜

  55. Computing modulo the determinant ◮ Pessimistic estimate on the arithmetic size ◮ d large but most coefficients of H are small ◮ On the average : only the last few columns are large ⇒ Compute H ′ close to H but with small determinant

  56. Computing modulo the determinant ◮ Pessimistic estimate on the arithmetic size ◮ d large but most coefficients of H are small ◮ On the average : only the last few columns are large ⇒ Compute H ′ close to H but with small determinant [Micciancio & Warinschi 01]   B b c T A = a n − 1 , n   d T a n , n �� B �� B �� �� d 1 = det , d 2 = det c T d T g = gcd ( d 1 , d 2 ) = sd 1 + td 2 Then �� �� B det = g sc T + td T

  57. Micciancio & Warinschi algorithm begin 1 �� B �� B �� �� Compute d 1 = det , d 2 = det ; /* Double Det */ c T d T 2 ( g , s , t ) = xgcd ( d 1 , d 2 ) ; 3 � � B Compute H 1 the HNF of mod g ; /* Modular HNF */ sc T + td T 4 � � B b Recover H 2 the HNF of ; /* AddCol */ sc T + td T sa n − 1 , n + ta n , n 5   B b  ; c T Recover H 3 the HNF of /* AddRow */ a n − 1 , n  d T a n , n 6 end 7

  58. Micciancio & Warinschi algorithm begin 1 �� B �� B �� �� Compute d 1 = det , d 2 = det ; /* Double Det */ c T d T 2 ( g , s , t ) = xgcd ( d 1 , d 2 ) ; 3 � � B Compute H 1 the HNF of mod g ; /* Modular HNF */ sc T + td T 4 � � B b Recover H 2 the HNF of ; /* AddCol */ sc T + td T sa n − 1 , n + ta n , n 5   B b  ; c T Recover H 3 the HNF of /* AddRow */ a n − 1 , n  d T a n , n 6 end 7

  59. Double Determinant First approach: LU mod p 1 , . . . , p k + CRT ◮ Only one elimination for the n − 2 first rows ◮ 2 updates for the last rows (triangular back substitution) i = 1 p i > n n log � A � n / 2 ◮ k large such that � k

  60. Double Determinant First approach: LU mod p 1 , . . . , p k + CRT ◮ Only one elimination for the n − 2 first rows ◮ 2 updates for the last rows (triangular back substitution) i = 1 p i > n n log � A � n / 2 ◮ k large such that � k Second approach: [Abbott Bronstein Mulders 99] ◮ Solve Ax = b . ◮ δ = lcm ( q 1 , . . . , q n ) s.t. x i = p i / q i Then δ is a large divisor of D = det A . ◮ Compute D /δ by LU mod p 1 , . . . , p k + CRT i = 1 p i > n n log � A � n / 2 /δ ◮ k small , such that � k

  61. Double Determinant : improved Property � � Let x = [ x 1 , . . . , x n ] be the solution of x = d . Then A c x n , . . . , − x n − 1 y = [ − x 1 x n , 1 � � x n ] is the solution of y = c . A d ◮ 1 system solve ◮ 1 LU for each p i ⇒ d 1 , d 2 computed at about the cost of 1 déterminant

  62. AddCol Problem Find a vector e such that � � B b � � = U H 1 e sc T + td T sa n − 1 , n + ta n , n � � b = e U sa n − 1 , n + ta n , n � − 1 � � � B b = H 1 sc T + td T sa n − 1 , n + ta n , n ⇒ Solve a system. ◮ n − 1 first rows are small ◮ last row is large

  63. AddCol Idea: replace the last row by a random small one w T . � B � � � b y = w T a n − 1 , n − 1 Let k be a basis of the kernel of B . Then x = y + α k . where α = a n − 1 , n − 1 − ( sc T + td T ) · y ( sc T + td T ) · k ⇒ limits the expensive arithmetic to a few dot products

  64. Outline Reduced Echelon forms and Gaussian elimination Gaussian elimination based matrix decompositions Relations between decompositions Algorithms Hermite normal form Micciancio & Warinschi algorithm Double Determinant AddCol Frobenius normal form Krylov method Algorithm Reduction to matrix multiplication

  65. Krylov Method Definition (degree d Krylov matrix of one vector v ) � A d − 1 v � K = . . . v Av Property   ∗ 0 1 ∗   A × K = K ×   ...   ∗   ∗ 1

  66. Krylov Method Definition (degree d Krylov matrix of one vector v ) � A d − 1 v � K = . . . v Av Property   ∗ 0 1 ∗   A × K = K ×   ...   ∗   ∗ 1 ⇒ if d = n , K − 1 AK = C P A car

  67. Krylov Method Definition (degree d Krylov matrix of one vector v ) � A d − 1 v � K = . . . v Av Property   ∗ 0 1 ∗   A × K = K ×   ...   ∗   ∗ 1 ⇒ if d = n , K − 1 AK = C P A car ⇒ [Keller-Gehrig, alg. 2] computes K in O ( n ω log n )

  68. Definition (degree k Krylov matrix of several vectors v i ) � A k − 1 v 1 A k − 1 v 2 A k − 1 v l � K = v 1 . . . v 2 . . . . . . v l . . . Property ≤ k k k 0 1 1 0 1 1 A × K = K × 0 1 1

  69. Hessenberg poly-cyclic form Fact If ( d 1 , . . . d l ) is lexicographically maximal such that A d 1 − 1 v 1 A d l − 1 v l � � K = v 1 . . . . . . v l . . . is non-singular, then d 1 d 2 dl 0 1 1 0 1 A × K = K × 1 0 1 1

  70. Principle k -shifted form: k k ≤ k 0 1 1 0 1 1 0 1 1

Recommend


More recommend