Fast reversion of formal power series

Size: px
Start display at page:

Download "Fast reversion of formal power series"

Transcription

1 Fast reversion of formal power series Fredrik Johansson LFANT, INRIA Bordeaux RAIM, , Banyuls-sur-mer 1 / 30

2 Reversion of power series F = exp(x) 1 = x + x 2 2! + x 3 3! + x 4 G = log(1 + x) = x x x 3 3 x 4 4! F (G(x)) = G(F (x)) = x, G = F 1 and F = G 1 Applications: Combinatorics, recurrences (example: counting binary trees) Numerical approximation of F 1 Asymptotic analysis 2 / 30

3 Operations in R[[x]]/ x n n 1 F = F (x) = f k x k, Addition k=0 Multiplication [x k ]F (x) = f k R F + G = n 1 k=0 (f k + g k )x k FG = n 1 k=0 ( k i=0 f ig k i ) x k Reciprocal If f 0 is a unit, find G such that FG = 1 Composition Reversion If g 0 = 0, F (G) = n 1 k=0 f kg k If f 0 = 0 and f 1 is a unit, find G s.t. F (G) = x 3 / 30

4 Computational complexity Counting operations in the base ring R. M(n): multiplying two length-n polynomials Classical M(n) = O(n 2 ) Karatsuba M(n) = O(n log 2 (3) ) = O(n 1.59 ) Fast Fourier Transform M(n) = O(n log 1+o(1) n) = O(n 1+o(1) ) MM(n) = O(n ω ): multiplying two n n matrices Classical MM(n) = O(n 3 ) Strassen MM(n) = O(n log 2 (7) ) = O(n 2.81 ) Coppersmith-Winograd-Le Gall MM(n) = O(n ) 4 / 30

5 Newton iteration for power series If ϕ(g k ) = 0 mod x n, then (under natural assumptions) ϕ(g k+1 ) = 0 mod x 2n, G k+1 = G k ϕ(g k) ϕ (G k ) O(M(n)) computation of 1/F : take ϕ(g) = 1 G F, giving: G k+1 = 2G k FG 2 k. 5 / 30

6 Reversion using Newton iteration Given F = f 0 + f 1 x +... with f 0 = 0 and f 1 invertible. Take ϕ(g) = F (G) x, giving: G k+1 = G k F (G) x F. (G) Brent and Kung, 1978: up to constant factors: composition reversion 6 / 30

7 Fast composition: elementary functions Assume that 1, 2,..., n 1 are invertible in R. n 2 F = (k + 1)f k+1 x k, k=0 log(1 + F ) = n 1 ( ) 1 F = f k 1 x k k k=1 F 1 + F, atan(f ) = F 1 + F 2 Newton iteration: log exp, atan tan. sin, cos, sinh, cosh, asin... using algebraic transformations. Cost: O(M(n)) = O(n 1+o(1) ). Generalization: differential equations (hypergeometric,...) 7 / 30

8 Composition of general power series Horner s rule F (G) = (... (f n 1 G + f n 2 ) G f 1 ) G + f 0 Complexity: O(nM(n)) Brent-Kung 2.1: baby-step, giant-step version of Horner s rule Complexity: O(n 1/2 M(n) + n 1/2 MM(n 1/2 )) Brent-Kung 2.2: divide-and-conquer Taylor expansion Complexity: O((n log n) 1/2 M(n)) 8 / 30

9 Brent-Kung algorithm 2.1 Example with n = 9, m = n = 3 Computing F (G) where F = f 0 + f 1 x f 8 x 8 (f 0 + f 1 G + f 2 G 2 ) + (f 3 + f 4 G + f 5 G 2 )G 3 + (f 6 + f 7 G + f 8 G 2 )G 6 (m m) (m m 2 ) matrix multiplication: f 0 f 1 f 2 1 f 3 f 4 f 5 G f 6 f 7 f 8 G 2 Final combination using Horner s rule. 9 / 30

10 Complexity of composition algorithms Horner s rule: O(nM(n)) BK 2.1: O(n 1/2 M(n) + n 1/2 MM(n 1/2 )) BK 2.2: O((n log n) 1/2 M(n)) = O(n 3/2+o(1) ) M(n) MM(n) Horner BK 2.1 BK 2.2 n 2 n 3 n 3 n 2.5 n 2.5 log 0.5 n n 1.59 n 3 n 2.59 n 2.09 n 2.09 log 0.5 n n log n n 3 n 2 log n n 2 n 1.5 log 1.5 n n log n n n 2 log n n n 1.5 log 1.5 n (n log n) (n 2 ) (n 2 log n) (n 1.5 log n) (n 1.5 log 1.5 n) BK 2.1 wins for small n, BK 2.2 wins for large n BK 2.1 wins with hypothetical O(n 2 ) matrix multiplication 10 / 30

11 The Lagrange inversion theorem The coefficients of F 1 are given by [x k ]F 1 = 1 ( x ) k k [x k 1 ]. F O(nM(n)) algorithm: compute H = x/f using Newton iteration for the reciprocal, then compute H, H 2, H 3,..., H n 1 Better than classical algorithms (O(n 3 )) Similar to Newton iteration + Horner s rule Worse than Newton iteration + BK2.1 or BK / 30

12 Fast Lagrange inversion We can extract a single coefficient in H a+b = H a H b using O(n) operations: [x k ]H a+b = k ( [x i ]H a) ([x k i ]H b) i=0 Compute H, H 2,..., H m 1, then H m, H 2m, H 3m,..., H n/m m. Choose m n need O( n) polynomial multiplications, plus O(n 2 ) coefficient operations. 12 / 30

13 Fast Lagrange inversion, first version 1: m n 2: H x/f 3: for 1 i < m do 4: H i+1 H i H 5: b i 1 i [x i 1 ]H i 6: end for 7: T H m 8: for i = m, 2m, 3m,..., lm < n do 9: b i 1 i [x i 1 ]T 10: for 1 j < m while i + j < n do 11: b i+j 1 i+j 12: end for 13: T T H m i+j 1 k=0 ([x k ]T ) ([x i+j k 1 ]H j ) 14: end for 15: return b 1 x + b 2 x b n 1 x n 1 13 / 30

14 Using matrix multiplication Example: n = 8, m = 8 1 = 3. We want the coefficients b 1, b 2,..., b 7 of 1, x,..., x 6 in the respective powers of H. h k,i = [x i ]H k h 0,2 h 0,1 h 0, A = h 3,5 h 3,4 h 3,3 h 3,2 h 3,1 h 3, h 6,6 h 6,5 h 6,4 h 6,3 h 6,2 h 6,1 h 6,0 0 0 h 1,0 h 1,1 h 1,2 h 1,3 h 1,4 h 1,5 h 1,6 B = 0 h 2,0 h 2,1 h 2,2 h 2,3 h 2,4 h 2,5 h 2,6 h 3,0 h 3,1 h 3,2 h 3,3 h 3,4 h 3,5 h 3,6 b 1 b 2 b 3 AB T = b 4 b 5 b 6 b 7 14 / 30

15 Fast Lagrange inversion, matrix version 1: m n 1 2: H x/f 3: {Assemble m m 2 matrices B and A from H, H 2,..., H m and H m, H 2m, H 3m,...} 4: for 1 i m, 1 j m 2 do 5: B i,j [x i+j m 1 ] H i 6: A i,j [x im j ] H (i 1)m 7: end for 8: C AB T 9: for 1 i < n do 10: b i C i /i (C i is the ith entry of C read rowwise) 11: end for 12: return b 1 x + b 2 x b n 1 x n 1 15 / 30

16 Comparison with BK 2.1 Let m = n. Fast Lagrange inversion for reversion: 1. 2m + O(1) polynomial multiplications 2. One (m m 2 ) times (m 2 m) matrix multiplication 3. O(n) additional operations Fast Horner s rule (BK 2.1) for composition: 1. m polynomial multiplications, each with cost M(n) 2. One (m m) times (m m 2 ) matrix multiplication 3. m polynomial multiplications and additions Both O(n 1/2 (M(n) + MM(n 1/2 ))), same constant factor. 16 / 30

17 Speedup by avoiding Newton iteration If composition costs C(n) cn r, reversion via Newton costs ( ) 2 C(n) + C(n/2) + C(n/4) +... = cn r r 2 r 1 speedup r Classical polynomial multiplication: 4 31 (8 + 2) FFT polynomial multiplication, classical matrix multiplication: 4/3 17 / 30

18 Faster matrix multiplication Brent-Kung 2.1: Fast Lagrange inversion: = = Can we exploit the structure of A when ω < 3? 18 / 30

19 Faster matrix multiplication, first algorithm Decompose each m m block of A into (m/k) (m/k) blocks. Asymptotic speedup s: s = m ω+1 ( ) m k=1 k m k+1 k ( ) 2 m ω > k 1 k=0 2k 1 2 kω = ω > 1 19 / 30

20 Faster matrix multiplication, second algorithm Write AB T = (AP)(P 1 B T ) where P is a permutation matrix that makes each m m block in A lower triangular. Recursive triangular multiplication: R(k) = 4R(k/2) + 2(k/2) ω + O(k 2 ) Speedup: s = 2 ω 1 2. Note: s > 1 when ω > log / 30

21 Matrix multiplication speedup Speedup Alg.1 Alg ω Crossover at ω = 1 + log 2 (2 + 2) s = 2 with classical matrix multiplication (ω = 3) s = 1.5 with Strassen multiplication s = with Coppersmith-Winograd-Le Gall 21 / 30

22 Using fast rectangular matrix multiplication MM(x, y, z): (x y) by (y z) matrix multiplication Huang and Pan (1998): MM(m, m, m 2 ) = O(n ) < mmm(m, m, m) = O(n ) By a transposition argument, MM(m, m 2, m) = (1 + o(1))mm(m, m, m 2 ) Open problem: can we get a speedup > 1? 22 / 30

23 Total speedup Theoretical speedup of fast Lagrange inversion over BK 2.1 by both avoiding Newton iteration and speeding up matrix multiplication. Dominant operation Complexity Newton Matrix Total Polynomial, classical O(n 5/2 ) Polynomial, Karatsuba O(n 1/2+log 2 3 ) Matrix, classical O(n 2 ) Matrix, Strassen O(n (1+log 2 7)/2 ) Matrix, Cop.-Win.-LG O(n ) Matrix, Huang-Pan O(n ) ? 1.458? (Polynomial, FFT) O(n 3/2 log 1+o(1) n) / 30

24 Implementation Composition and reversion implemented in FLINT: Z/pZ, p < 2 64 Z Q In Arb (interval coefficients): R C 24 / 30

25 Reversion over Z/pZ (p = ) n Lagrange BK 2.1 BK 2.2 Fast Lagrange (8%) (20%) (28%) Time in seconds. (Relative time spent on matrix multiplication.) 25 / 30

26 Reversion over Z/pZ (p = ) Relative time Lagrange BK 2.2 BK 2.1 Fast Lagrange n 26 / 30

27 Reversion over Z F 1 = k 1 k!x k, F 2 = x, F 3 = x + x 2 1 4x 1 + x + x 2 n BK 2.1 Fast Lagrange F 1 F 2 F 3 F 1 F 2 F Time in seconds. 27 / 30

28 Reversion over Q F 1 = exp(x) 1, F 2 = x exp(x), F 3 = 3x(1 x 2 ) 2(1 x + x 2 ) 2 n BK 2.1 Fast Lagrange F 1 F 2 F 3 F 1 F 2 F Time in seconds. 28 / 30

29 Reversion over R F 1 = exp(x) 1, F 2 = log(1 + x), F 3 = Γ(1 + x) 1 n BK 2.1 Fast Lagrange F 1 F 2 F 3 F 1 F 2 F Precision doubled until the coefficient of x n 1 is a precise interval. Time in seconds. 29 / 30

30 Conclusion and questions Reversion algorithm analogous to BK 2.1, avoiding Newton iteration Usually the fastest algorithm for reversion in practice. Is there a Newton-free analog of BK 2.2 for reversion? Can more be said about the structured matrix products? Can denominators be handled better? Numerical stability? Note: the algorithm has been published in FJ, A fast algorithm for reversion of power series, Math. Comp. 84, , Some more comments in my PhD thesis. 30 / 30

Fast reversion of power series

Fast reversion of power series Fast reversion of power series Fredrik Johansson November 2011 Overview Fast power series arithmetic Fast composition and reversion (Brent and Kung, 1978) A new algorithm for reversion Implementation results

More information

CS 4424 Matrix multiplication

CS 4424 Matrix multiplication CS 4424 Matrix multiplication 1 Reminder: matrix multiplication Matrix-matrix product. Starting from a 1,1 a 1,n A =.. and B = a n,1 a n,n b 1,1 b 1,n.., b n,1 b n,n we get AB by multiplying A by all columns

More information

Introduction to Algorithms

Introduction to Algorithms Lecture 1 Introduction to Algorithms 1.1 Overview The purpose of this lecture is to give a brief overview of the topic of Algorithms and the kind of thinking it involves: why we focus on the subjects that

More information

Fast Polynomial Multiplication

Fast Polynomial Multiplication Fast Polynomial Multiplication Marc Moreno Maza CS 9652, October 4, 2017 Plan Primitive roots of unity The discrete Fourier transform Convolution of polynomials The fast Fourier transform Fast convolution

More information

Three Ways to Test Irreducibility

Three Ways to Test Irreducibility Three Ways to Test Irreducibility Richard P. Brent Australian National University joint work with Paul Zimmermann INRIA, Nancy France 12 Feb 2009 Outline Polynomials over finite fields Irreducibility criteria

More information

CSE 548: Analysis of Algorithms. Lecture 4 ( Divide-and-Conquer Algorithms: Polynomial Multiplication )

CSE 548: Analysis of Algorithms. Lecture 4 ( Divide-and-Conquer Algorithms: Polynomial Multiplication ) CSE 548: Analysis of Algorithms Lecture 4 ( Divide-and-Conquer Algorithms: Polynomial Multiplication ) Rezaul A. Chowdhury Department of Computer Science SUNY Stony Brook Spring 2015 Coefficient Representation

More information

Fast Computation of Power Series Solutions of Systems of Differential Equations

Fast Computation of Power Series Solutions of Systems of Differential Equations Fast Computation of Power Series Solutions of Systems of Differential Equations Bruno.Salvy@inria.fr Algorithms Project, Inria Joint work with A. Bostan, F. Chyzak, F. Ollivier, É. Schost, A. Sedoglavic

More information

Three Ways to Test Irreducibility

Three Ways to Test Irreducibility Outline Three Ways to Test Irreducibility Richard P. Brent Australian National University joint work with Paul Zimmermann INRIA, Nancy France 8 Dec 2008 Polynomials over finite fields Irreducibility criteria

More information

Chapter 1 Divide and Conquer Polynomial Multiplication Algorithm Theory WS 2015/16 Fabian Kuhn

Chapter 1 Divide and Conquer Polynomial Multiplication Algorithm Theory WS 2015/16 Fabian Kuhn Chapter 1 Divide and Conquer Polynomial Multiplication Algorithm Theory WS 2015/16 Fabian Kuhn Formulation of the D&C principle Divide-and-conquer method for solving a problem instance of size n: 1. Divide

More information

Chapter 2. Divide-and-conquer. 2.1 Strassen s algorithm

Chapter 2. Divide-and-conquer. 2.1 Strassen s algorithm Chapter 2 Divide-and-conquer This chapter revisits the divide-and-conquer paradigms and explains how to solve recurrences, in particular, with the use of the master theorem. We first illustrate the concept

More information

Matrix Multiplication

Matrix Multiplication Matrix Multiplication Matrix Multiplication Matrix multiplication. Given two n-by-n matrices A and B, compute C = AB. n c ij = a ik b kj k=1 c 11 c 12 c 1n c 21 c 22 c 2n c n1 c n2 c nn = a 11 a 12 a 1n

More information

Design and Analysis of Algorithms

Design and Analysis of Algorithms Design and Analysis of Algorithms CSE 5311 Lecture 5 Divide and Conquer: Fast Fourier Transform Junzhou Huang, Ph.D. Department of Computer Science and Engineering CSE5311 Design and Analysis of Algorithms

More information

Powers of Tensors and Fast Matrix Multiplication

Powers of Tensors and Fast Matrix Multiplication Powers of Tensors and Fast Matrix Multiplication François Le Gall Department of Computer Science Graduate School of Information Science and Technology The University of Tokyo Simons Institute, 12 November

More information

Divide and Conquer: Polynomial Multiplication Version of October 1 / 7, 24201

Divide and Conquer: Polynomial Multiplication Version of October 1 / 7, 24201 Divide and Conquer: Polynomial Multiplication Version of October 7, 2014 Divide and Conquer: Polynomial Multiplication Version of October 1 / 7, 24201 Outline Outline: Introduction The polynomial multiplication

More information

Divide and Conquer. Andreas Klappenecker. [based on slides by Prof. Welch]

Divide and Conquer. Andreas Klappenecker. [based on slides by Prof. Welch] Divide and Conquer Andreas Klappenecker [based on slides by Prof. Welch] Divide and Conquer Paradigm An important general technique for designing algorithms: divide problem into subproblems recursively

More information

Polynomial evaluation and interpolation on special sets of points

Polynomial evaluation and interpolation on special sets of points Polynomial evaluation and interpolation on special sets of points Alin Bostan and Éric Schost Laboratoire STIX, École polytechnique, 91128 Palaiseau, France Abstract We give complexity estimates for the

More information

Fast Convolution; Strassen s Method

Fast Convolution; Strassen s Method Fast Convolution; Strassen s Method 1 Fast Convolution reduction to subquadratic time polynomial evaluation at complex roots of unity interpolation via evaluation at complex roots of unity 2 The Master

More information

Elliptic Curves Spring 2013 Lecture #3 02/12/2013

Elliptic Curves Spring 2013 Lecture #3 02/12/2013 18.783 Elliptic Curves Spring 2013 Lecture #3 02/12/2013 3.1 Arithmetic in finite fields To make explicit computations with elliptic curves over finite fields, we need to know how to perform arithmetic

More information

How to Multiply. 5.5 Integer Multiplication. Complex Multiplication. Integer Arithmetic. Complex multiplication. (a + bi) (c + di) = x + yi.

How to Multiply. 5.5 Integer Multiplication. Complex Multiplication. Integer Arithmetic. Complex multiplication. (a + bi) (c + di) = x + yi. How to ultiply Slides by Kevin Wayne. Copyright 5 Pearson-Addison Wesley. All rights reserved. integers, matrices, and polynomials Complex ultiplication Complex multiplication. a + bi) c + di) = x + yi.

More information

Limits at Infinity. Horizontal Asymptotes. Definition (Limits at Infinity) Horizontal Asymptotes

Limits at Infinity. Horizontal Asymptotes. Definition (Limits at Infinity) Horizontal Asymptotes Limits at Infinity If a function f has a domain that is unbounded, that is, one of the endpoints of its domain is ±, we can determine the long term behavior of the function using a it at infinity. Definition

More information

1 Solutions to selected problems

1 Solutions to selected problems Solutions to selected problems Section., #a,c,d. a. p x = n for i = n : 0 p x = xp x + i end b. z = x, y = x for i = : n y = y + x i z = zy end c. y = (t x ), p t = a for i = : n y = y(t x i ) p t = p

More information

NUMERICAL METHODS. x n+1 = 2x n x 2 n. In particular: which of them gives faster convergence, and why? [Work to four decimal places.

NUMERICAL METHODS. x n+1 = 2x n x 2 n. In particular: which of them gives faster convergence, and why? [Work to four decimal places. NUMERICAL METHODS 1. Rearranging the equation x 3 =.5 gives the iterative formula x n+1 = g(x n ), where g(x) = (2x 2 ) 1. (a) Starting with x = 1, compute the x n up to n = 6, and describe what is happening.

More information

CSE 421 Algorithms. T(n) = at(n/b) + n c. Closest Pair Problem. Divide and Conquer Algorithms. What you really need to know about recurrences

CSE 421 Algorithms. T(n) = at(n/b) + n c. Closest Pair Problem. Divide and Conquer Algorithms. What you really need to know about recurrences CSE 421 Algorithms Richard Anderson Lecture 13 Divide and Conquer What you really need to know about recurrences Work per level changes geometrically with the level Geometrically increasing (x > 1) The

More information

CMPSCI611: Three Divide-and-Conquer Examples Lecture 2

CMPSCI611: Three Divide-and-Conquer Examples Lecture 2 CMPSCI611: Three Divide-and-Conquer Examples Lecture 2 Last lecture we presented and analyzed Mergesort, a simple divide-and-conquer algorithm. We then stated and proved the Master Theorem, which gives

More information

CS 829 Polynomial systems: geometry and algorithms Lecture 3: Euclid, resultant and 2 2 systems Éric Schost

CS 829 Polynomial systems: geometry and algorithms Lecture 3: Euclid, resultant and 2 2 systems Éric Schost CS 829 Polynomial systems: geometry and algorithms Lecture 3: Euclid, resultant and 2 2 systems Éric Schost eschost@uwo.ca Summary In this lecture, we start actual computations (as opposed to Lectures

More information

Complexity of Matrix Multiplication and Bilinear Problems

Complexity of Matrix Multiplication and Bilinear Problems Complexity of Matrix Multiplication and Bilinear Problems François Le Gall Graduate School of Informatics Kyoto University ADFOCS17 - Lecture 3 24 August 2017 Overview of the Lectures Fundamental techniques

More information

Divide and conquer. Philip II of Macedon

Divide and conquer. Philip II of Macedon Divide and conquer Philip II of Macedon Divide and conquer 1) Divide your problem into subproblems 2) Solve the subproblems recursively, that is, run the same algorithm on the subproblems (when the subproblems

More information

MULTI-RESTRAINED STIRLING NUMBERS

MULTI-RESTRAINED STIRLING NUMBERS MULTI-RESTRAINED STIRLING NUMBERS JI YOUNG CHOI DEPARTMENT OF MATHEMATICS SHIPPENSBURG UNIVERSITY SHIPPENSBURG, PA 17257, U.S.A. Abstract. Given positive integers n, k, and m, the (n, k)-th m- restrained

More information

On the Exponent of the All Pairs Shortest Path Problem

On the Exponent of the All Pairs Shortest Path Problem On the Exponent of the All Pairs Shortest Path Problem Noga Alon Department of Mathematics Sackler Faculty of Exact Sciences Tel Aviv University Zvi Galil Department of Computer Science Sackler Faculty

More information

Addition sequences and numerical evaluation of modular forms

Addition sequences and numerical evaluation of modular forms Addition sequences and numerical evaluation of modular forms Fredrik Johansson (INRIA Bordeaux) Joint work with Andreas Enge (INRIA Bordeaux) William Hart (TU Kaiserslautern) DK Statusseminar in Strobl,

More information

CS/COE 1501 cs.pitt.edu/~bill/1501/ Integer Multiplication

CS/COE 1501 cs.pitt.edu/~bill/1501/ Integer Multiplication CS/COE 1501 cs.pitt.edu/~bill/1501/ Integer Multiplication Integer multiplication Say we have 5 baskets with 8 apples in each How do we determine how many apples we have? Count them all? That would take

More information

Fast algorithms for polynomials and matrices Part 2: polynomial multiplication

Fast algorithms for polynomials and matrices Part 2: polynomial multiplication Fast algorithms for polynomials and matrices Part 2: polynomial multiplication by Grégoire Lecerf Computer Science Laboratory & CNRS École polytechnique 91128 Palaiseau Cedex France 1 Notation In this

More information

1.1 Administrative Stuff

1.1 Administrative Stuff 601.433 / 601.633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Introduction, Karatsuba/Strassen Date: 9/4/18 1.1 Administrative Stuff Welcome to Algorithms! In this class you will learn the

More information

Analysis of Algorithms I: Asymptotic Notation, Induction, and MergeSort

Analysis of Algorithms I: Asymptotic Notation, Induction, and MergeSort Analysis of Algorithms I: Asymptotic Notation, Induction, and MergeSort Xi Chen Columbia University We continue with two more asymptotic notation: o( ) and ω( ). Let f (n) and g(n) are functions that map

More information

Chapter 1 Divide and Conquer Algorithm Theory WS 2016/17 Fabian Kuhn

Chapter 1 Divide and Conquer Algorithm Theory WS 2016/17 Fabian Kuhn Chapter 1 Divide and Conquer Algorithm Theory WS 2016/17 Fabian Kuhn Formulation of the D&C principle Divide-and-conquer method for solving a problem instance of size n: 1. Divide n c: Solve the problem

More information

How to find good starting tensors for matrix multiplication

How to find good starting tensors for matrix multiplication How to find good starting tensors for matrix multiplication Markus Bläser Saarland University Matrix multiplication z,... z,n..... z n,... z n,n = x,... x,n..... x n,... x n,n y,... y,n..... y n,... y

More information

Ma/CS 6b Class 12: Graphs and Matrices

Ma/CS 6b Class 12: Graphs and Matrices Ma/CS 6b Class 2: Graphs and Matrices 3 3 v 5 v 4 v By Adam Sheffer Non-simple Graphs In this class we allow graphs to be nonsimple. We allow parallel edges, but not loops. Incidence Matrix Consider a

More information

Linear recurrences with polynomial coefficients and application to integer factorization and Cartier-Manin operator

Linear recurrences with polynomial coefficients and application to integer factorization and Cartier-Manin operator Linear recurrences with polynomial coefficients and application to integer factorization and Cartier-Manin operator Alin Bostan, Pierrick Gaudry, Éric Schost September 12, 2006 Abstract We study the complexity

More information

Implementation of the DKSS Algorithm for Multiplication of Large Numbers

Implementation of the DKSS Algorithm for Multiplication of Large Numbers Implementation of the DKSS Algorithm for Multiplication of Large Numbers Christoph Lüders Universität Bonn The International Symposium on Symbolic and Algebraic Computation, July 6 9, 2015, Bath, United

More information

Stirling Numbers of the 1st Kind

Stirling Numbers of the 1st Kind Daniel Reiss, Colebrook Jackson, Brad Dallas Western Washington University November 28, 2012 Introduction The set of all permutations of a set N is denoted S(N), while the set of all permutations of {1,

More information

SCALED REMAINDER TREES

SCALED REMAINDER TREES Draft. Aimed at Math. Comp. SCALED REMAINDER TREES DANIEL J. BERNSTEIN Abstract. It is well known that one can compute U mod p 1, U mod p 2,... in time n(lg n) 2+o(1) where n is the number of bits in U,

More information

Integer multiplication with generalized Fermat primes

Integer multiplication with generalized Fermat primes Integer multiplication with generalized Fermat primes CARAMEL Team, LORIA, University of Lorraine Supervised by: Emmanuel Thomé and Jérémie Detrey Journées nationales du Calcul Formel 2015 (Cluny) November

More information

DIVIDE AND CONQUER II

DIVIDE AND CONQUER II DIVIDE AND CONQUER II master theorem integer multiplication matrix multiplication convolution and FFT Lecture slides by Kevin Wayne Copyright 2005 Pearson-Addison Wesley http://www.cs.princeton.edu/~wayne/kleinberg-tardos

More information

Chapter 22 Fast Matrix Multiplication

Chapter 22 Fast Matrix Multiplication Chapter 22 Fast Matrix Multiplication A simple but extremely valuable bit of equipment in matrix multiplication consists of two plain cards, with a re-entrant right angle cut out of one or both of them

More information

Discovering Fast Matrix Multiplication Algorithms via Tensor Decomposition

Discovering Fast Matrix Multiplication Algorithms via Tensor Decomposition Discovering Fast Matrix Multiplication Algorithms via Tensor Decomposition Grey Ballard SIAM onference on omputational Science & Engineering March, 207 ollaborators This is joint work with... Austin Benson

More information

Speedy Maths. David McQuillan

Speedy Maths. David McQuillan Speedy Maths David McQuillan Basic Arithmetic What one needs to be able to do Addition and Subtraction Multiplication and Division Comparison For a number of order 2 n n ~ 100 is general multi precision

More information

Symmetric functions and the Vandermonde matrix

Symmetric functions and the Vandermonde matrix J ournal of Computational and Applied Mathematics 172 (2004) 49-64 Symmetric functions and the Vandermonde matrix Halil Oruç, Hakan K. Akmaz Department of Mathematics, Dokuz Eylül University Fen Edebiyat

More information

Evaluating Determinants by Row Reduction

Evaluating Determinants by Row Reduction Evaluating Determinants by Row Reduction MATH 322, Linear Algebra I J. Robert Buchanan Department of Mathematics Spring 2015 Objectives Reduce a matrix to row echelon form and evaluate its determinant.

More information

Chapter 2. Recurrence Relations. Divide and Conquer. Divide and Conquer Strategy. Another Example: Merge Sort. Merge Sort Example. Merge Sort Example

Chapter 2. Recurrence Relations. Divide and Conquer. Divide and Conquer Strategy. Another Example: Merge Sort. Merge Sort Example. Merge Sort Example Recurrence Relations Chapter 2 Divide and Conquer Equation or an inequality that describes a function by its values on smaller inputs. Recurrence relations arise when we analyze the running time of iterative

More information

Section 3: Complex numbers

Section 3: Complex numbers Essentially: Section 3: Complex numbers C (set of complex numbers) up to different notation: the same as R 2 (euclidean plane), (i) Write the real 1 instead of the first elementary unit vector e 1 = (1,

More information

Taking Roots over High Extensions of Finite Fields

Taking Roots over High Extensions of Finite Fields Taking Roots over High Extensions of Finite Fields Javad Doliskani jdoliskan@uwo.ca Éric Schost eschost@uwo.ca Abstract We present a new algorithm for computing m-th roots over the finite field F q, where

More information

1 Solutions to selected problems

1 Solutions to selected problems Solutions to selected problems Section., #a,c,d. a. p x = n for i = n : 0 p x = xp x + i end b. z = x, y = x for i = : n y = y + x i z = zy end c. y = (t x ), p t = a for i = : n y = y(t x i ) p t = p

More information

A design paradigm. Divide and conquer: (When) does decomposing a problem into smaller parts help? 09/09/ EECS 3101

A design paradigm. Divide and conquer: (When) does decomposing a problem into smaller parts help? 09/09/ EECS 3101 A design paradigm Divide and conquer: (When) does decomposing a problem into smaller parts help? 09/09/17 112 Multiplying complex numbers (from Jeff Edmonds slides) INPUT: Two pairs of integers, (a,b),

More information

Rings If R is a commutative ring, a zero divisor is a nonzero element x such that xy = 0 for some nonzero element y R.

Rings If R is a commutative ring, a zero divisor is a nonzero element x such that xy = 0 for some nonzero element y R. Rings 10-26-2008 A ring is an abelian group R with binary operation + ( addition ), together with a second binary operation ( multiplication ). Multiplication must be associative, and must distribute over

More information

Numerics of classical elliptic functions, elliptic integrals and modular forms

Numerics of classical elliptic functions, elliptic integrals and modular forms 1 / 49 Numerics of classical elliptic functions, elliptic integrals and modular forms Fredrik Johansson LFANT, Inria Bordeaux & Institut de Mathématiques de Bordeaux KMPB Conference: Elliptic Integrals,

More information

Dense Arithmetic over Finite Fields with CUMODP

Dense Arithmetic over Finite Fields with CUMODP Dense Arithmetic over Finite Fields with CUMODP Sardar Anisul Haque 1 Xin Li 2 Farnam Mansouri 1 Marc Moreno Maza 1 Wei Pan 3 Ning Xie 1 1 University of Western Ontario, Canada 2 Universidad Carlos III,

More information

GATE Engineering Mathematics SAMPLE STUDY MATERIAL. Postal Correspondence Course GATE. Engineering. Mathematics GATE ENGINEERING MATHEMATICS

GATE Engineering Mathematics SAMPLE STUDY MATERIAL. Postal Correspondence Course GATE. Engineering. Mathematics GATE ENGINEERING MATHEMATICS SAMPLE STUDY MATERIAL Postal Correspondence Course GATE Engineering Mathematics GATE ENGINEERING MATHEMATICS ENGINEERING MATHEMATICS GATE Syllabus CIVIL ENGINEERING CE CHEMICAL ENGINEERING CH MECHANICAL

More information

Toward High Performance Matrix Multiplication for Exact Computation

Toward High Performance Matrix Multiplication for Exact Computation Toward High Performance Matrix Multiplication for Exact Computation Pascal Giorgi Joint work with Romain Lebreton (U. Waterloo) Funded by the French ANR project HPAC Séminaire CASYS - LJK, April 2014 Motivations

More information

Determinants. Samy Tindel. Purdue University. Differential equations and linear algebra - MA 262

Determinants. Samy Tindel. Purdue University. Differential equations and linear algebra - MA 262 Determinants Samy Tindel Purdue University Differential equations and linear algebra - MA 262 Taken from Differential equations and linear algebra by Goode and Annin Samy T. Determinants Differential equations

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 14 Divide and Conquer Fast Fourier Transform Sofya Raskhodnikova 10/7/2016 S. Raskhodnikova; based on slides by K. Wayne. 5.6 Convolution and FFT Fast Fourier Transform:

More information

Inversion Modulo Zero-dimensional Regular Chains

Inversion Modulo Zero-dimensional Regular Chains Inversion Modulo Zero-dimensional Regular Chains Marc Moreno Maza, Éric Schost, and Paul Vrbik Department of Computer Science, Western University moreno@csd.uwo.ca eschost@csd.uwo.ca pvrbik@csd.uwo.ca

More information

CSE548, AMS542: Analysis of Algorithms, Fall 2017 Date: October 11. In-Class Midterm. ( 7:05 PM 8:20 PM : 75 Minutes )

CSE548, AMS542: Analysis of Algorithms, Fall 2017 Date: October 11. In-Class Midterm. ( 7:05 PM 8:20 PM : 75 Minutes ) CSE548, AMS542: Analysis of Algorithms, Fall 2017 Date: October 11 In-Class Midterm ( 7:05 PM 8:20 PM : 75 Minutes ) This exam will account for either 15% or 30% of your overall grade depending on your

More information

An introduction to parallel algorithms

An introduction to parallel algorithms An introduction to parallel algorithms Knut Mørken Department of Informatics Centre of Mathematics for Applications University of Oslo Winter School on Parallel Computing Geilo January 20 25, 2008 1/26

More information

CPSC 518 Introduction to Computer Algebra Asymptotically Fast Integer Multiplication

CPSC 518 Introduction to Computer Algebra Asymptotically Fast Integer Multiplication CPSC 518 Introduction to Computer Algebra Asymptotically Fast Integer Multiplication 1 Introduction We have now seen that the Fast Fourier Transform can be applied to perform polynomial multiplication

More information

Fast algorithms for polynomials and matrices. Alin Bostan. Algorithms Project, INRIA

Fast algorithms for polynomials and matrices. Alin Bostan. Algorithms Project, INRIA Fast algorithms for polynomials and matrices Alin Bostan Algorithms Project, INRIA JNCF 2010 This course Main objects polynomials K[x] rational fractions K(x) power series K[[x]] matrices M r (K) polynomial

More information

Fast Matrix Product Algorithms: From Theory To Practice

Fast Matrix Product Algorithms: From Theory To Practice Introduction and Definitions The τ-theorem Pan s aggregation tables and the τ-theorem Software Implementation Conclusion Fast Matrix Product Algorithms: From Theory To Practice Thomas Sibut-Pinote Inria,

More information

Fast Algorithms for Polynomial Solutions of Linear Differential Equations

Fast Algorithms for Polynomial Solutions of Linear Differential Equations Fast Algorithms for Polynomial Solutions of Linear Differential Equations Alin Bostan and Bruno Salvy Projet Algorithmes, Inria Rocquencourt 78153 Le Chesnay (France) {Alin.Bostan,Bruno.Salvy}@inria.fr

More information

MATRIX DETERMINANTS. 1 Reminder Definition and components of a matrix

MATRIX DETERMINANTS. 1 Reminder Definition and components of a matrix MATRIX DETERMINANTS Summary Uses... 1 1 Reminder Definition and components of a matrix... 1 2 The matrix determinant... 2 3 Calculation of the determinant for a matrix... 2 4 Exercise... 3 5 Definition

More information

The tangent FFT. D. J. Bernstein University of Illinois at Chicago

The tangent FFT. D. J. Bernstein University of Illinois at Chicago The tangent FFT D. J. Bernstein University of Illinois at Chicago Advertisement SPEED: Software Performance Enhancement for Encryption and Decryption A workshop on software speeds for secret-key cryptography

More information

Mathematics 136 Calculus 2 Everything You Need Or Want To Know About Partial Fractions (and maybe more!) October 19 and 21, 2016

Mathematics 136 Calculus 2 Everything You Need Or Want To Know About Partial Fractions (and maybe more!) October 19 and 21, 2016 Mathematics 36 Calculus 2 Everything You Need Or Want To Know About Partial Fractions (and maybe more!) October 9 and 2, 206 Every rational function (quotient of polynomials) can be written as a polynomial

More information

MATH Topics in Applied Mathematics Lecture 12: Evaluation of determinants. Cross product.

MATH Topics in Applied Mathematics Lecture 12: Evaluation of determinants. Cross product. MATH 311-504 Topics in Applied Mathematics Lecture 12: Evaluation of determinants. Cross product. Determinant is a scalar assigned to each square matrix. Notation. The determinant of a matrix A = (a ij

More information

Algorithms Design & Analysis. Dynamic Programming

Algorithms Design & Analysis. Dynamic Programming Algorithms Design & Analysis Dynamic Programming Recap Divide-and-conquer design paradigm Today s topics Dynamic programming Design paradigm Assembly-line scheduling Matrix-chain multiplication Elements

More information

1 Fields and vector spaces

1 Fields and vector spaces 1 Fields and vector spaces In this section we revise some algebraic preliminaries and establish notation. 1.1 Division rings and fields A division ring, or skew field, is a structure F with two binary

More information

SOLVED PROBLEMS ON TAYLOR AND MACLAURIN SERIES

SOLVED PROBLEMS ON TAYLOR AND MACLAURIN SERIES SOLVED PROBLEMS ON TAYLOR AND MACLAURIN SERIES TAYLOR AND MACLAURIN SERIES Taylor Series of a function f at x = a is ( f k )( a) ( x a) k k! It is a Power Series centered at a. Maclaurin Series of a function

More information

6.S897 Algebra and Computation February 27, Lecture 6

6.S897 Algebra and Computation February 27, Lecture 6 6.S897 Algebra and Computation February 7, 01 Lecture 6 Lecturer: Madhu Sudan Scribe: Mohmammad Bavarian 1 Overview Last lecture we saw how to use FFT to multiply f, g R[x] in nearly linear time. We also

More information

An Introduction to Differential Algebra

An Introduction to Differential Algebra An Introduction to Differential Algebra Alexander Wittig1, P. Di Lizia, R. Armellin, et al. 1 ESA Advanced Concepts Team (TEC-SF) SRL, Milan Dinamica Outline 1 Overview Five Views of Differential Algebra

More information

CPSC 518 Introduction to Computer Algebra Schönhage and Strassen s Algorithm for Integer Multiplication

CPSC 518 Introduction to Computer Algebra Schönhage and Strassen s Algorithm for Integer Multiplication CPSC 518 Introduction to Computer Algebra Schönhage and Strassen s Algorithm for Integer Multiplication March, 2006 1 Introduction We have now seen that the Fast Fourier Transform can be applied to perform

More information

14. Properties of the Determinant

14. Properties of the Determinant 14. Properties of the Determinant Last time we showed that the erminant of a matrix is non-zero if and only if that matrix is invertible. We also showed that the erminant is a multiplicative function,

More information

Subquadratic Computational Complexity Schemes for Extended Binary Field Multiplication Using Optimal Normal Bases

Subquadratic Computational Complexity Schemes for Extended Binary Field Multiplication Using Optimal Normal Bases 1 Subquadratic Computational Complexity Schemes for Extended Binary Field Multiplication Using Optimal Normal Bases H. Fan and M. A. Hasan March 31, 2007 Abstract Based on a recently proposed Toeplitz

More information

Fast multiplication and its applications

Fast multiplication and its applications Algorithmic Number Theory MSRI Publications Volume 44, 2008 Fast multiplication and its applications DANIEL J. BERNSTEIN ABSTRACT. This survey explains how some useful arithmetic operations can be sped

More information

CS 577 Introduction to Algorithms: Strassen s Algorithm and the Master Theorem

CS 577 Introduction to Algorithms: Strassen s Algorithm and the Master Theorem CS 577 Introduction to Algorithms: Jin-Yi Cai University of Wisconsin Madison In the last class, we described InsertionSort and showed that its worst-case running time is Θ(n 2 ). Check Figure 2.2 for

More information

3 Matrix Algebra. 3.1 Operations on matrices

3 Matrix Algebra. 3.1 Operations on matrices 3 Matrix Algebra A matrix is a rectangular array of numbers; it is of size m n if it has m rows and n columns. A 1 n matrix is a row vector; an m 1 matrix is a column vector. For example: 1 5 3 5 3 5 8

More information

Counting points on hyperelliptic curves

Counting points on hyperelliptic curves University of New South Wales 9th November 202, CARMA, University of Newcastle Elliptic curves Let p be a prime. Let X be an elliptic curve over F p. Want to compute #X (F p ), the number of F p -rational

More information

Original citation: Hart, William B. and Novocin, Andrew (2011) Practical divide-and-conquer algorithms for polynomial arithmetic. In: CASC'11 Proceedings of the 13th international conference on Computer

More information

On the computational complexity of mathematical functions

On the computational complexity of mathematical functions On the computational complexity of mathematical functions Jean-Pierre Demailly Institut Fourier, Université de Grenoble I & Académie des Sciences, Paris (France) November 26, 2011 KVPY conference at Vijyoshi

More information

Operations On Networks Of Discrete And Generalized Conductors

Operations On Networks Of Discrete And Generalized Conductors Operations On Networks Of Discrete And Generalized Conductors Kevin Rosema e-mail: bigyouth@hardy.u.washington.edu 8/18/92 1 Introduction The most basic unit of transaction will be the discrete conductor.

More information

Efficient implementation of the Hardy-Ramanujan-Rademacher formula

Efficient implementation of the Hardy-Ramanujan-Rademacher formula Efficient implementation of the Hardy-Ramanujan-Rademacher formula or: Partitions in the quintillions Fredrik Johansson RISC-Linz July 10, 2013 2013 SIAM Annual Meeting San Diego, CA Supported by Austrian

More information

Class Note #14. In this class, we studied an algorithm for integer multiplication, which. 2 ) to θ(n

Class Note #14. In this class, we studied an algorithm for integer multiplication, which. 2 ) to θ(n Class Note #14 Date: 03/01/2006 [Overall Information] In this class, we studied an algorithm for integer multiplication, which improved the running time from θ(n 2 ) to θ(n 1.59 ). We then used some of

More information

Exact Arithmetic on a Computer

Exact Arithmetic on a Computer Exact Arithmetic on a Computer Symbolic Computation and Computer Algebra William J. Turner Department of Mathematics & Computer Science Wabash College Crawfordsville, IN 47933 Tuesday 21 September 2010

More information

Design and Analysis of Algorithms

Design and Analysis of Algorithms CSE 101, Winter 2018 Design and Analysis of Algorithms Lecture 4: Divide and Conquer (I) Class URL: http://vlsicad.ucsd.edu/courses/cse101-w18/ Divide and Conquer ( DQ ) First paradigm or framework DQ(S)

More information

Fast Polynomial Factorization Over High Algebraic Extensions of Finite Fields

Fast Polynomial Factorization Over High Algebraic Extensions of Finite Fields Fast Polynomial Factorization Over High Algebraic Extensions of Finite Fields Erich Kaltofen Department of Mathematics North Carolina State University Raleigh, North Carolina 27695-8205, USA kaltofen@eos.ncsu.edu

More information

Chapter 5 Divide and Conquer

Chapter 5 Divide and Conquer CMPT 705: Design and Analysis of Algorithms Spring 008 Chapter 5 Divide and Conquer Lecturer: Binay Bhattacharya Scribe: Chris Nell 5.1 Introduction Given a problem P with input size n, P (n), we define

More information

Math 473: Practice Problems for Test 1, Fall 2011, SOLUTIONS

Math 473: Practice Problems for Test 1, Fall 2011, SOLUTIONS Math 473: Practice Problems for Test 1, Fall 011, SOLUTIONS Show your work: 1. (a) Compute the Taylor polynomials P n (x) for f(x) = sin x and x 0 = 0. Solution: Compute f(x) = sin x, f (x) = cos x, f

More information

Group-theoretic approach to Fast Matrix Multiplication

Group-theoretic approach to Fast Matrix Multiplication Jenya Kirshtein 1 Group-theoretic approach to Fast Matrix Multiplication Jenya Kirshtein Department of Mathematics University of Denver Jenya Kirshtein 2 References 1. H. Cohn, C. Umans. Group-theoretic

More information

On the use of polynomial matrix approximant in the block Wiedemann algorithm

On the use of polynomial matrix approximant in the block Wiedemann algorithm On the use of polynomial matrix approximant in the block Wiedemann algorithm ECOLE NORMALE SUPERIEURE DE LYON Laboratoire LIP, ENS Lyon, France Pascal Giorgi Symbolic Computation Group, School of Computer

More information

OR MSc Maths Revision Course

OR MSc Maths Revision Course OR MSc Maths Revision Course Tom Byrne School of Mathematics University of Edinburgh t.m.byrne@sms.ed.ac.uk 15 September 2017 General Information Today JCMB Lecture Theatre A, 09:30-12:30 Mathematics revision

More information

ALGEBRA+NUMBER THEORY +COMBINATORICS

ALGEBRA+NUMBER THEORY +COMBINATORICS ALGEBRA+NUMBER THEORY +COMBINATORICS COMP 321 McGill University These slides are mainly compiled from the following resources. - Professor Jaehyun Park slides CS 97SI - Top-coder tutorials. - Programming

More information

ACM106a - Homework 2 Solutions

ACM106a - Homework 2 Solutions ACM06a - Homework 2 Solutions prepared by Svitlana Vyetrenko October 7, 2006. Chapter 2, problem 2.2 (solution adapted from Golub, Van Loan, pp.52-54): For the proof we will use the fact that if A C m

More information

CSE 421 Algorithms: Divide and Conquer

CSE 421 Algorithms: Divide and Conquer CSE 42 Algorithms: Divide and Conquer Larry Ruzzo Thanks to Richard Anderson, Paul Beame, Kevin Wayne for some slides Outline: General Idea algorithm design paradigms: divide and conquer Review of Merge

More information

Pre-calculus 12 Curriculum Outcomes Framework (110 hours)

Pre-calculus 12 Curriculum Outcomes Framework (110 hours) Curriculum Outcomes Framework (110 hours) Trigonometry (T) (35 40 hours) General Curriculum Outcome: Students will be expected to develop trigonometric reasoning. T01 Students will be expected to T01.01

More information