administrative oct. 2 oct. 4 – quiz #2 (pages 45-79 of dpv)

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

Post on 19-Dec-2015

222 views

Category:

Documents


2 download

TRANSCRIPT

AdministrativeOct. 2Oct. 4 – QUIZ #2

(pages 45-79 of DPV)

Polynomials

p(x) = a0 + a1 x + ... + ad xd

polynomial of degree d

Representing polynomial of degree d

(d+1 coefficients)

(evaluation on d+1 points)

the coefficient representation

the value representation

evaluation interpolation

Evaluation

p(x) = a0 + a1 x + ... + ad xd

polynomial of degree d

Evaluation

p(x) = a0 + a1 x + ... + ad xd

polynomial of degree d

(Horner’s rule)

a0+x(a1+x(a2 + ... )))

R 0for i from d to 0 do R R*x + ai

Interpolation

a polynomial p of degree d such that p(a0) = 1 p(a1) = 0 .... p(ad) = 0

(x-a1)(x-a2)...(x-ad)

(a0-a1)(a0-a2)...(a0-ad)

p1 = (1/2) x2 – (1/2) xp2 = - x2 + 1p3 = (1/2) x2 + (1/2) x

Interpolation

1) compute p = (x-a0)...(x-ad)2) compute pi = p / (x-ai) for i=0,...,d ri = pi / pi(ai)3) compute q = c0 r0 + ... + cd rd

Claim: q(ai) = ci for i=0,...,d

Polynomials

evaluation on 1 point O(d)evaluation on d points O(d2)

interpolation O(d2)

MAIN GOAL: Multiplying polynomials

p(x) = a0 + a1 x + ... + ad xd

Polynomial of degree d

q(x) = b0 + b1 x + ... + bd’ xd’

Polynomial of degree d’

p(x)q(x) = (a0b0) + (a0b1 + a1b0) x + .... + (adbd’) xd+d’

p,qevaluate on>2d points p,q in evaluation

representation

multiplyinO(d) time

pq in evaluationrepresentationpq

interpolate

Evaluation on multiple points

p(x) = 7 + x + 5x2 + 3x3 + 6x4 + 2x5

p(z) = 7 + z + 5z2 + 3z3 + 6z4 + 2z5

p(-z) = 7 – z + 5z2 – 3z3 + 6z4 – 2z5

p(x) = (7+5x2 + 6x4) + x(1+3x2 + 2x4)p( x) = pe(x2) + x po(x2)p(-x) = pe(x2) – x po(x2)

Evaluation on multiple points

p(x) = a0 + a1 x + a2 x2 + ... + ad xd

p(x) = pe(x2) + x po(x2)p(-x) = pe(x2) – x po(x2)

To evaluate p(x) on -x1,x1,-x2,x2,...,-xn,xn

we only evaluate pe(x) and po(x) on x1

2,...,xn2

Evaluation on multiple pointsTo evaluate p(x) on -x1,x1,-x2,x2,...,-xn,xn

we only evaluate pe(x) and po(x) on x1

2,...,xn2

To evaluate pe(x) on x1

2,...,xn2

we only evaluate pe(x) on ?

n-th roots of unity2ik/n

e k

n = 1

k . l = k+l

0 + 1 + ... + n-1 = 0

FACT 1:

FACT 2:

FACT 3:

FACT 4:k = -k+n/2

FFT (a0,a1,...,an-1,) (s0,...,sn/2-1)= FFT(a0,a2,...,an-2,2) (z0,...,zn/2-1) = FFT(a1,a3,...,an-1,2)

s0 + z0

s1 + z1

s2 + 2 z2

....s0 – z0

s1 - z1 s2 - 2 z2

....

Evaluation of a polynomial viewed as vector mutiplication

(a0,a1,a2,...,ad)

1xx2

.

.xd

Evaluation of a polynomialon multiple points

(a0,a1,a2,...,ad)

1x1

x12

.

.x1

d

1x2

x22

.

.x2

d

1xn

xn2

.

.xn

d

. . .

Vandermonde matrix

Fourier transform

(a0,a1,a2,...,ad)

111..1

11

2

.

.d-1

1d-1

2(d-1)

.

.(d-1)

. . .

FT - matrix= e2 i / d

2

Inverse fourier transform

= e2 i / d

111..1

11

2

.

.d-1

1d-1

2(d-1)

.

.(d-1)

. . .2

111..1

1-1

-2

.

.1-d

11-d

2(1-d)

.

.-(d-1)

. . .2

Fourier transform – matrix view

0

0

Fn

Fn

I

I

D

-D

1

1

1

1 . . .

. . .

D=diag(1,,...,d-1)

d=2n

String matching

string = x1,....,xn

pattern = p1,...,pk

(xi – pi)2

i=1

k

Occurs on position j ?

TEST =

String matching

string = x1,....,xn

pattern = p1,...,pk

(xi – pi)2

i=1

k

(xi+j-1 – pi)2

i=1

kOccurs on position j ?

TEST =

TESTj =

String matching with “don’t cares”

(xi+j-1 – pi)2

i=1

kOccurs on position j ?

TESTj =

pj = 0 DON’T CARE

pj(xi+j-1 – pi)2

i=1

kTESTj =