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

50
1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

Upload: frieda-eckert

Post on 05-Apr-2015

114 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

1

Polynome und die FFT

Sören Tönis

Seminar: Ergänzungen zu DAP2

Page 2: 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

Page 3: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

3

Polynome

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

1

0)(

n

j

jjxaxA

111

00 ...

nn xaxaxa

51238 34 xxxz.B.:

Page 4: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

4

Addition von Polynomen

1

0)(

n

j

jjxaxA

1

0)(

n

j

jjxbxB

)()()( xCxBxA

1

0)(

n

j

jjxcxC

jjj bac

wobei

mit

Page 5: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

5

Addition von Polynomen

39228

)2325(

51238

234

23

34

xxxx

xxx

xxx

Page 6: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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

Page 7: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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

Page 8: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

8

Multiplikation von Polynomen

45867520441412

18201412

36402824

45503530

542

91076

23456

3456

234

23

3

23

xxxxxx

xxxx

xxxx

xxx

xx

xxx

Page 9: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

9

Multiplikation von Polynomen

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

Page 10: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

10

Darstellungsweise von Polynomen

- Koeffizientendarstellung

- Point-Value-Darstellung

Page 11: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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

Page 12: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

12

Koeffizientendarstellung

Addition erfolgt wie bei den Polynomen:

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

),...,,(

),...,,(

),...,,(

110

110

110

njbac

cccc

bbbb

aaaa

jjj

n

n

n

Page 13: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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

Page 14: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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

Page 15: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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

Page 16: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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

Page 17: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

17

Begriffsklärung

1. Evaluation:

Umwandlung von Koeffizientendarstellung

in Point-Value-Darstellung

2. Interpolation:

Umwandlung von Point-Value-Dartellung

in Koeffizientendarstellung

Page 18: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

18

Vorschau

Wir brauchen für Multiplikation von Polynomen

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

2n

Page 19: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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

Page 20: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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

Page 21: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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“ !

Page 22: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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

Page 23: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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.

Page 24: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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.

Page 25: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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).

Page 26: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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

Page 27: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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

Page 28: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

28

Eigenschaften der Einheitswurzel

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

1210 ,...,,,: n

Page 29: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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

Page 30: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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

Page 31: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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

Page 32: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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

Page 33: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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),(

Page 34: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

34

Komplexe Einheitswurzeln

Lemma (Cancellation Lemma):

Für jede ganze Zahl

kn

dkdn

dkn

, und 00,0 gilt

Page 35: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

35

Komplexe Einheitswurzeln

Korollar:

Für jede ganze Zahl

1

0

22/

nn

n gilt

Page 36: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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.

Page 37: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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

Page 38: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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

Page 39: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

39

Diskrete Fouriertransformation

Der Vektor y heißt diskrete Fouriertransformation des

Vektors a, oder ).(aDFTy n

Page 40: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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:

Page 41: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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

Page 42: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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

Page 43: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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

Page 44: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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 ),...,,(

Page 45: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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

Page 46: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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 !

Page 47: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

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

Page 48: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

48

Laufzeit FFT

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

Page 49: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

49

Zur VeranschaulichungParallele FFT

Page 50: 1 Polynome und die FFT Sören Tönis Seminar: Ergänzungen zu DAP2

50

Literatur

Cormen, Leiserson, Rivest: Introduction to algorithm

H.W. Lang: Algorithmen in Java