administrative oct. 2 oct. 4 – quiz #2 (pages 45-79 of dpv)
Post on 19-Dec-2015
222 views
TRANSCRIPT
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
(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
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 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
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 =