Administrative Oct 2 Oct 4 QUIZ 2 pages

  • Slides: 23
Download presentation
Administrative Oct. 2 Oct. 4 – QUIZ #2 (pages 45 -79 of DPV)

Administrative Oct. 2 Oct. 4 – QUIZ #2 (pages 45 -79 of DPV)

Polynomials polynomial of degree d p(x) = a 0 + a 1 x +.

Polynomials polynomial of degree d p(x) = a 0 + a 1 x +. . . + ad xd

Representing polynomial of degree d the coefficient representation (d+1 coefficients) evaluation interpolation the value

Representing polynomial of degree d the coefficient representation (d+1 coefficients) evaluation interpolation the value representation (evaluation on d+1 points)

Evaluation polynomial of degree d p(x) = a 0 + a 1 x +.

Evaluation polynomial of degree d p(x) = a 0 + a 1 x +. . . + ad xd

Evaluation polynomial of degree d p(x) = a 0 + a 1 x +.

Evaluation polynomial of degree d p(x) = a 0 + a 1 x +. . . + ad xd (Horner’s rule) a 0+x(a 1+x(a 2 +. . . ))) R 0 for i from d to 0 do R R*x + ai

Interpolation a polynomial p of degree d such that p(a 0) = 1 (x-a

Interpolation a polynomial p of degree d such that p(a 0) = 1 (x-a 1)(x-a 2). . . (x-ad) p(a 1) = 0. . (a 0 -a 1)(a 0 -a 2). . . (a 0 -ad) p(ad) = 0 p 1 = (1/2) x 2 – (1/2) x p 2 = - x 2 p 3 = (1/2) x 2 + (1/2) x +1

Interpolation 1) compute p = (x-a 0). . . (x-ad) 2) compute pi =

Interpolation 1) compute p = (x-a 0). . . (x-ad) 2) compute pi = p / (x-ai) for i=0, . . . , d ri = pi / pi(ai) 3) compute q = c 0 r 0 +. . . + cd rd Claim: q(ai) = ci for i=0, . . . , d

Polynomials evaluation on 1 point evaluation on d points interpolation O(d) O(d 2)

Polynomials evaluation on 1 point evaluation on d points interpolation O(d) O(d 2)

MAIN GOAL: Multiplying polynomials Polynomial of degree d p(x) = a 0 + a

MAIN GOAL: Multiplying polynomials Polynomial of degree d p(x) = a 0 + a 1 x +. . . + ad xd Polynomial of degree d’ q(x) = b 0 + b 1 x +. . . + bd’ xd’ p(x)q(x) = (a 0 b 0) + (a 0 b 1 + a 1 b 0) x +. . + (adbd’) xd+d’

p, q evaluate on >2 d points p, q in evaluation representation multiply in

p, q evaluate on >2 d points p, q in evaluation representation multiply in O(d) time pq interpolate pq in evaluation representation

Evaluation on multiple points p(x) = 7 + x + 5 x 2 +

Evaluation on multiple points p(x) = 7 + x + 5 x 2 + 3 x 3 + 6 x 4 + 2 x 5 p(z) = 7 + z + 5 z 2 + 3 z 3 + 6 z 4 + 2 z 5 p(-z) = 7 – z + 5 z 2 – 3 z 3 + 6 z 4 – 2 z 5 p(x) = (7+5 x 2 + 6 x 4) + x(1+3 x 2 + 2 x 4) p( x) = pe(x 2) + x po(x 2) p(-x) = pe(x 2) – x po(x 2)

Evaluation on multiple points p(x) = a 0 + a 1 x + a

Evaluation on multiple points p(x) = a 0 + a 1 x + a 2 x 2 +. . . + ad xd p(x) = pe(x 2) + x po(x 2) p(-x) = pe(x 2) – x po(x 2) To evaluate p(x) on -x 1, -x 2, . . . , -xn, xn we only evaluate pe(x) and po(x) on x 12, . . . , xn 2

Evaluation on multiple points To evaluate p(x) on -x 1, -x 2, . .

Evaluation on multiple points To evaluate p(x) on -x 1, -x 2, . . . , -xn, xn we only evaluate pe(x) and po(x) on x 12, . . . , xn 2 To evaluate pe(x) on x 12, . . . , xn 2 we only evaluate pe(x) on ?

n-th roots of unity e FACT 1: n = 1 FACT 2: k. l

n-th roots of unity e FACT 1: n = 1 FACT 2: k. l = k+l FACT 3: 0 + 1 +. . . + n-1 = 0 FACT 4: k = - k+n/2 2 ik/n = k

FFT (a 0, a 1, . . . , an-1, ) (s 0, .

FFT (a 0, a 1, . . . , an-1, ) (s 0, . . . , sn/2 -1)= FFT(a 0, a 2, . . . , an-2, 2) (z 0, . . . , zn/2 -1) = FFT(a 1, a 3, . . . , an-1, 2) s 0 + z 0 s 1 + z 1 s 2 + 2 z 2. . s 0 – z 0 s 1 - z 1 s 2 - 2 z 2. .

Evaluation of a polynomial viewed as vector mutiplication (a 0, a 1, a 2,

Evaluation of a polynomial viewed as vector mutiplication (a 0, a 1, a 2, . . . , ad) 1 x x 2. . xd

Evaluation of a polynomial on multiple points (a 0, a 1, a 2, .

Evaluation of a polynomial on multiple points (a 0, a 1, a 2, . . . , ad) 1 x 12. . x 1 d 1 x 22. . . x 2 d 1 xn xn 2. . xnd Vandermonde matrix

Fourier transform (a 0, a 1, a 2, . . . , ad) =

Fourier transform (a 0, a 1, a 2, . . . , ad) = e 2 i / d 1 1 1. . 1 1 1 2. . . d-1 1 d-1 2(d-1). . 2 (d-1) FT - matrix

Inverse fourier transform 1 1 1. . 1 1 1 2. . . d-1

Inverse fourier transform 1 1 1. . 1 1 1 2. . . d-1 = e 2 i / d 1 d-1 2(d-1). . 2 (d-1) 1 1 1. . 1 1 -1 -2. . . 1 -d 1 1 -d 2(1 -d). . 2 -(d-1)

Fourier transform – matrix view D I I -D Fn 0 D=diag(1, , .

Fourier transform – matrix view D I I -D Fn 0 D=diag(1, , . . . , d-1) d=2 n 0 Fn 1 1 1 . . .

String matching string = x 1, . . , xn pattern = p 1,

String matching string = x 1, . . , xn pattern = p 1, . . . , pk k TEST = (xi – pi)2 i=1 Occurs on position j ?

String matching string = x 1, . . , xn pattern = p 1,

String matching string = x 1, . . , xn pattern = p 1, . . . , pk k TEST = (xi – pi)2 i=1 Occurs on position j ? k TESTj = (xi+j-1 – pi)2 i=1

String matching with “don’t cares” Occurs on position j ? k TESTj = pj

String matching with “don’t cares” Occurs on position j ? k TESTj = pj = 0 (xi+j-1 – pi)2 i=1 DON’T CARE k TESTj = pj(xi+j-1 – pi)2 i=1