1 polynome und die fft sören tönis seminar: ergänzungen zu dap2

Post on 05-Apr-2015

115 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Polynome und die FFT

Sören Tönis

Seminar: Ergänzungen zu DAP2

2

• Polynome– Addition– Multiplikation– Alternative Darstellungsformen

• Koeffizientendarstellung• Point-Value-Darstellung

– Komplexe Einheitswurzeln– Diskrete Fouriertransformation– Schnelle Fouriertransformation

3

Polynome

• Polynome vom Grad n-1 und Länge n

1

0)(

n

j

jjxaxA

111

00 ...

nn xaxaxa

51238 34 xxxz.B.:

4

Addition von Polynomen

1

0)(

n

j

jjxaxA

1

0)(

n

j

jjxbxB

)()()( xCxBxA

1

0)(

n

j

jjxcxC

jjj bac

wobei

mit

5

Addition von Polynomen

39228

)2325(

51238

234

23

34

xxxx

xxx

xxx

6

Addition von Polynomen

• Polynom hat Grad des höheren der beiden addierten Polynome

• Bei Polynomen vom Grad n-1 sind n Additionen notwendig

jjj bac

7

Multiplikation von Polynomen

1

0)(

n

j

jjxaxA

1

0)(

n

j

jjxbxB

22

0)(

n

j

jjxcxC

j

K kjkj bac0

)()()( xCxBxA wobei

mit

8

Multiplikation von Polynomen

45867520441412

18201412

36402824

45503530

542

91076

23456

3456

234

23

3

23

xxxxxx

xxxx

xxxx

xxx

xx

xxx

9

Multiplikation von Polynomen

Grad (C) = Grad (A) + Grad (B)

10

Darstellungsweise von Polynomen

- Koeffizientendarstellung

- Point-Value-Darstellung

11

Koeffizientendarstellung

Koeffizientendarstellung von Polynom mit Grad

n-1 durch Vektor

Auswertung erfolgt nach Horn-Schema über den gewählten Punkt:

),...,( 11,0 naaaa

))...))((...(()( 1020201000 nn axaxaxaxaxA

12

Koeffizientendarstellung

Addition erfolgt wie bei den Polynomen:

1,...,1,0für mit

),...,,(

),...,,(

),...,,(

110

110

110

njbac

cccc

bbbb

aaaa

jjj

n

n

n

13

Koeffizientendarstellung

Addition hat den Zeitaufwand von n), wie auch die normale Addition von zwei Polynomen. Genau so Multiplikation möglich, mit Zeitaufwand ( ). Wir multiplizieren einfach jeden Koeffizienten in Vektor a mit jedem Koeffizienten in Vektor b.

2n

14

Point-Value-Darstellung

Die Punkt-Wert Darstellung eines Polynoms des Grades n-1 besteht aus n Paaren:

1,...,1,0

)(

)},(),...,,(),,{( 111100

nk

xAy

yxyxyx

kk

nn

kxWobei alle verschieden sind und

für

15

Point-Value-Darstellung

Polynom hat viele verschiedene Point-Value Darstellungen da n verschieden x als Basis der Abbildung genutzt werden können.

Wir können beliebige auswählen.110 ,...,, nxxx

16

Point-Value-Darstellung

Aufwand für diese Auswertung/Entwicklung (ab

jetzt nur der Begriff Evaluation) ( ) nachHorn-Schema.

Ziel: ( ) ist kein Vorteil, wir wollen die Evaluation möglichst in linearer Zeit abwickeln.

Weg: Kluge wählen.

2n

2n

kx

17

Begriffsklärung

1. Evaluation:

Umwandlung von Koeffizientendarstellung

in Point-Value-Darstellung

2. Interpolation:

Umwandlung von Point-Value-Dartellung

in Koeffizientendarstellung

18

Vorschau

Wir brauchen für Multiplikation von Polynomen

nach Standard-Rechnung ( ), es gilt zu zeigen, daß wir durch Umformungen eine Aufwandsersparnis erzielen.

2n

19

Addition in Point-Value-Darst.

)()()(

)()()(

kkk xxAxC

xBxAxC

)},(),...,,(),,{(

)},(),...,,(),,{(

)},(),...,,(),,{(

111111000

111100

111100

nnn

nn

nn

yyxyyxyyx

yxyxyx

yxyxyx

Voraussetzung: A und B wurden an den gleichen Punkten evaluiert

AB

C

20

Multiplikation in Point-Value-Darst.

)()()(

)()()(

kkk xxAxC

xBxAxC

)},(),...,,(),,{(

)},(),...,,(),,{(

)},(),...,,(),,{(

111111000

111100

111100

nnn

nn

nn

yyxyyxyyx

yxyxyx

yxyxyx

Voraussetzung: A und B wurden an den gleichen Punkten evaluiert

AB

C

Problem ! : Grad C = Grad A + Grad B

21

Vorschau

Problematik:

A,B Polynome vom Grad n-1 und C

Polynom von Grad 2n-2, für punktweise

Multiplikation müssen wir bei der Evaluation

unsere Spaltenvektoren „auffüllen“ !

22

Multiplikation in Point-Value-Darst.

Lösung: Extended Point-Value-Darstellung von

A und B !

)},(),...,,(),,{(

)},(),...,,(),,{(

)},(),...,,(),,{(

121212111000

12121100

12121100

nnn

nn

nn

yyxyyxyyx

yxyxyx

yxyxyxAB

C

Bemerkung: 2n-1 wegen Gradgrenze 2n

23

Einschub

Literatur spricht von „degree bound“ Gradschranke!

Polynom der Länge n hat Grad n-1 und Gradschranke n, Polynom der Länge 2n-1 hat den Grad 2n-2 und Gradschranke 2n-1 und somit auch Gradschranke 2n.

24

Vorschau

1. Verdoppeln der Gradschranke.

Erstellen einer Koeffizientendarstellung von A(x) und B(x), durch hinzufügen von höherwertigen 0-Koeffizienten.

2. Evaluation

Berechnen der Point-Value-Darstellung von A(x) und B(x), durch Anwenden der FFT.

25

Vorschau

3. Punktweises Multiplizieren:

Berechnen von C(x)=A(x)B(x) punktweises Multiplizieren der Werte

4. Interpolation:

Erstellen der Koeffizientendarstellung zum Polynom C(x).

26

Vorschau

110

11,0

,...,,

,...,

n

n

bbb

aaa221,0 ,..., nccc

)(),(

)(),(

)(),(

122

122

12

12

02

02

nn

nn

nn

nn

BA

BA

BA

Koeffizienten-darstellung

Point-Value-Darstellung

)(

)(

)(

122

12

02

nn

n

n

C

C

C

Standard-MultiplikationZeitaufwand

EvaluationZeitaufwand

InterpolationZeitaufwand

punktweise MultiplikationZeitaufwand

)lg( nn)lg( nn

)( 2n

)(n

27

Komplexe Einheitswurzeln

Eine Komplexe n-te Einheitswurzel ist eine komplexe Zahl mit

heißt primitive n-te Einheitswurzel, wenn

1n

1,...,1,01,1 nkkn alle für aber

28

Eigenschaften der Einheitswurzel

Es gibt n verschiedene n-te Einheitswurzeln, diese sind darstellbar als die Potenzen einer primitiven n-ten Einheitswurzel

1210 ,...,,,: n

29

Eigenschaften der Einheitswurzel

Jede ganzzahlige Potenz einer n-ten Einheitswurzel ist wieder n-te Einheitswurzel, denn

Dies gilt auch für negative k.

k

11)()( kknnknk

30

Eigenschaften der Einheitswurzel

Ist n gerade, so gilt für jede primitive n-te Einheitswurzel , denn

,d.h. ist 2-te Einheitswurzel, also 1 oder -1.

Da aber  ist, da primitiv ist,

gilt .

1: 2/ n1)( 22/ nn 2/n

12/ n 12/ n

31

Eigenschaften der Einheitswurzel

Das Quadrat einer primitiven n-ten Einheitswurzel (n gerade) ist primitive n/2-te Einheitswurzel,

denn 1.

2. Angenommen, sie sei nicht primitiv, dann

Dann ist aber ein

Widerspruch dazu, daß primitiv ist.

1)( 2/2 nn

. mit 2 1)(12/,....,1 knk

nkk 212 mit

32

Eigenschaften der Einheitswurzel

Ist primitive n-te Einheitswurzel, so ist ebenfalls primitive n-te Einheitswurzel, denn

1.

2. Angenommen, sei nicht primitiv, dann

Dann ist aber

ein Widerspruch dazu, dass primitiv ist.

1

11/1/1)( 11 nn 1

. mit -1 1)(1,....,1 kknk 11/1/1 kk

33

Eigenschaften der Einheitswurzel

Die n komplexen n-ten Einheitswurzeln

bilden mit der Multiplikation zusammen eine Gruppe mit der gleichen Struktur wie die

additive Gruppe

110 ,...,, nnnn

nn mod),(

34

Komplexe Einheitswurzeln

Lemma (Cancellation Lemma):

Für jede ganze Zahl

kn

dkdn

dkn

, und 00,0 gilt

35

Komplexe Einheitswurzeln

Korollar:

Für jede ganze Zahl

1

0

22/

nn

n gilt

36

Komplexe Einheitswurzeln

Lemma (Halving Lemma):

n>0 ist gerade, dann sind die Quadrate der

n komplexen n-ten Einheitswurzeln die

n/2 komplexen (n/2)ten Einheitswurzeln.

37

Komplexe Einheitswurzeln

Lemma (Summation Lemma):

Für jede ganze Zahl und nicht negative ganze Zahl k, nicht durch n teilbar,

1n

0)(1

0

n

j

jkn

38

Diskrete Fouriertransformation

1

0

)(n

j

jjxaxA 1210 ,...,,, n

nnnn

),...,,( 110 naaaa

Der Einfachheit halber betrachten wir wieder nur n anstatt 2n.

Polynom an

Wir definieren für

1

0

)(n

j

kjnj

knk aAy

ky 1,...,1,0 nk

39

Diskrete Fouriertransformation

Der Vektor y heißt diskrete Fouriertransformation des

Vektors a, oder ).(aDFTy n

40

Schnelle Fouriertransformation

FFT nutzt Divide & Conquer Strategie

FFT bildet aus zwei Polynome)(xA )(),( ]1[][ xAxA o

der Länge n/2.

12/1

2531

]1[

12/2

2420

]0[

...)(

...)(

n

n

nn

xaxaxaaxA

xaxaxaaxA

Das erste Polynom enthält die Koeffizienten mit geradem Index, das zweite die mit ungeradem Index. Daraus folgt:

41

Schnelle Fouriertransformation

)()()( 2]1[2]0[ xxAxAxA Anstelle der Evaluation des gesamten Polynoms, müssen wir nur noch unsere beiden Teilpolynome über evaluieren und die Ergenis dann nach obiger Gleichung kombinieren.

Die Zerlegung in Polynome der Länge n/2, lässt uns zwar die Gleiche Rechnung, aber die Größe halbiert sich.

212120 )(,...,)(,)( nnnn

Für unseren Algorithmus ist oBdA n eine Potenz von 2

42

Rekursive FFT

1 n length [a] n ist Potenz von 2

2 if n=1

3 then return a

4

5

6

7

8

9

10 for k 0 to n/2-1

11 do

12

13

14 return y y soll ein Spaltenvektor sein

1ni

n e /2

),...,,( 220]0[

naaaa

),...,,( 131]1[

naaaa

)( ]0[]0[ aFFTRECURSIVEy

)( ]1[]1[ aFFTRECURSIVEy

]1[]0[kkk yyy

]1[]0[)2/( kknk yyy

n

43

Interpolation

)}(),...,(),{( 1,11,10,0 nn yxyxyx

)(xA

)( kk xAy 1,...,1,0 nk

Für n Point-Value Paare

existiert ein eindeutiges Polynom der Länge n,

so daß für

44

Interpolation

Dazu betrachten wir die Matrizengleichung nach Folie 14

1

1

0

1

1

0

11

211

11

211

10

200

1

1

1

nnnnnn

n

n

y

y

y

a

a

a

xxx

xxx

xxx

Vandermonde-Matrix, invertierbar falls alle x verschieden

yxxxVa n1

110 ),...,,(

45

Interpolation

1

3

2

1

0

)1)(1()1(3)(21

)1(3963

)1(2642

132

1

3

2

1

0

1

1

1

1

11111

nnn

nn

nn

nnn

nnnnn

nnnnn

nnnnn

n a

a

a

a

a

y

y

y

y

y

46

Interpolation

)(1 yDFTa n

1,...,1,01 1

0

njyn

an

k

kjnkj für

n

Mit der Inversen der Vandermonde-Matrix erhalten wir

Vergleich mit Folie 38: Tausch im Algorithmus von a und y und

mit , nur noch Division von jedem Element durch n.1n

Es folgt Interpolation hat gleiche Laufzeit wie Evaluation !

47

Ergebnis

a,b Vektoren der Länge n, n Potenz von 2

))()(( 221

2 bDFTaDFTDFTba nnn

a,b durch 0 zu Länge 2n aufgefüllt

48

Laufzeit FFT

Laufzeit T(n)=2T(n/2)+(n)=(nlg n)

49

Zur VeranschaulichungParallele FFT

50

Literatur

Cormen, Leiserson, Rivest: Introduction to algorithm

H.W. Lang: Algorithmen in Java

top related