Divide and Conquer Part 2: Polynomial Multiplication Algorithm Theory - - PowerPoint PPT Presentation

divide and conquer
SMART_READER_LITE
LIVE PREVIEW

Divide and Conquer Part 2: Polynomial Multiplication Algorithm Theory - - PowerPoint PPT Presentation

Chapter 1 Divide and Conquer Part 2: Polynomial Multiplication Algorithm Theory WS 2013/14 Fabian Kuhn Polynomials Real polynomial in one variable : 1


slide-1
SLIDE 1

Chapter 1

Divide and Conquer

Part 2: Polynomial Multiplication

Algorithm Theory WS 2013/14 Fabian Kuhn

slide-2
SLIDE 2

Algorithm Theory, WS 2013/14 Fabian Kuhn 2

Polynomials

Real polynomial in one variable : … 1 0 Coefficients of : , , … , ∈ Degree of : largest power of in ( in the above case) Example: 33 – 152 18 Set of all real‐valued polynomials in : (polynomial ring)

slide-3
SLIDE 3

Algorithm Theory, WS 2013/14 Fabian Kuhn 3

Operations: Addition

  • Given: Polynomials , ∈ of degree

⋯ ⋯

  • Compute sum :

⋯ ⋯ ⋯

slide-4
SLIDE 4

Algorithm Theory, WS 2013/14 Fabian Kuhn 4

Operations: Multiplication

  • Given: Polynomials , ∈ of degree

⋯ ⋯

  • Product ⋅ :

⋅ ⋯ ⋅ ⋯ ⋯

  • Obtaining : what products of monomials have degree ?

For 0 2:

  • where 0 for .
slide-5
SLIDE 5

Algorithm Theory, WS 2013/14 Fabian Kuhn 5

Operations: Evaluation

  • Given: Polynomial ∈ of degree

  • Horner’s method for evaluation at specific value :

… ⋯

  • Pseudo‐code:

≔ ; ≔ ; while 0 do ≔ 1; ≔ ⋅ end

  • Running time:
slide-6
SLIDE 6

Algorithm Theory, WS 2013/14 Fabian Kuhn 6

Representation of Polynomials

Coefficient representation:

  • Polynomial ∈ of degree is given by its

1 coefficients , … , : ⋯

  • Example:

3 15 18

  • The most typical (and probably most natural) representation of

polynomials

slide-7
SLIDE 7

Algorithm Theory, WS 2013/14 Fabian Kuhn 7

Representation of Polynomials

Product of linear factors:

  • Polynomial ∈ of degree is given by its roots

⋅ ⋅ ⋅ … ⋅

  • Example:

3 2 3

  • Every polynomial has exactly roots ∈ for which 0

– Polynomial is uniquely defined by the roots and

  • We will not use this representation…
slide-8
SLIDE 8

Algorithm Theory, WS 2013/14 Fabian Kuhn 8

Representation of Polynomials

Point‐value representation:

  • Polynomial ∈ of degree is given by

1 point‐value pairs: , , , , … , , where for .

  • Example: The polynomial

3 2 3 is uniquely defined by the four point‐value pairs 0,0 , 1,6 , 2,0 , 3,0 .

slide-9
SLIDE 9

Algorithm Theory, WS 2013/14 Fabian Kuhn 9

Operations: Coefficient Representation

Deg.‐ polynomials ⋯ , ⋯ Addition: ⋯

  • Time:

Multiplication: ⋅ ⋯ , where

  • Naive solution: Need to compute product

for all 0 ,

  • Time:
slide-10
SLIDE 10

Algorithm Theory, WS 2013/14 Fabian Kuhn 10

Operations Point‐Value Representation

Degree‐ polynomials , , … , , , , , … , ,

  • Note: we use the same points , … , for both polynomials

Addition: , , … , ,

  • Time:

Multiplication: ⋅ , ⋅ , … , , ⋅

  • Time:
slide-11
SLIDE 11

Algorithm Theory, WS 2013/14 Fabian Kuhn 11

Faster Multiplication?

  • Multiplication is slow Θ

when using the standard coefficient representation

  • Try divide‐and‐conquer to get a faster algorithm
  • Assume: degree is 1, is even
  • Divide polynomial ⋯ into 2

polynomials of degree ⁄ 1:

⋯ ⋯

  • Similarly: ⋅

slide-12
SLIDE 12

Algorithm Theory, WS 2013/14 Fabian Kuhn 12

Use Divide‐And‐Conquer

  • Divide:

,

  • Multiplication:

⋅ ⋅

  • 4 multiplications of degree

⁄ 1 polynomials: 4 2

  • Leads to Θ like the naive algorithm… (see exercises)
slide-13
SLIDE 13

Algorithm Theory, WS 2013/14 Fabian Kuhn 13

More Clever Recursive Solution

  • Recall that

⋅ ⋅

  • Compute

⋅ :

slide-14
SLIDE 14

Algorithm Theory, WS 2013/14 Fabian Kuhn 14

Karatsuba Algorithm

  • Recursive multiplication:

⋅ ⋅ ⋅

  • Recursively do 3 multiplications of degr.

⁄ 1 ‐polynomials 3 2

  • Gives: .

(see exercises)

slide-15
SLIDE 15

Algorithm Theory, WS 2013/14 Fabian Kuhn 15

Faster Polynomial Multiplication?

Multiplication is fast when using the point‐value representation Idea to compute ⋅ (for polynomials of degree ): , of degree 1, coefficients 2 2 point‐value pairs , and , 2 point‐value pairs ,

  • f degree 2 2, 2 1 coefficients

Evaluation at points , , … , Point‐wise multiplication Interpolation