• Keine Ergebnisse gefunden

„„Inside CAS“ Inside CAS“

N/A
N/A
Protected

Academic year: 2022

Aktie "„„Inside CAS“ Inside CAS“"

Copied!
27
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

„ „ Inside CAS“ Inside CAS“

Teil I: Polynome faktorisieren Teil I: Polynome faktorisieren Teil II: Automatisches Beweisen Teil II: Automatisches Beweisen

Heinz Klemenz, KZO Wetzikon, 13.6.2005

(2)

„ „ Inside CAS“ Inside CAS“

Teil I: Polynome faktorisieren Teil I: Polynome faktorisieren

EinleitungEinleitung

 Kronecker-Algorithmus im Ring Z[x]Kronecker-Algorithmus im Ring Z[x]

 Berlekamp-Algorithmus in ZBerlekamp-Algorithmus in Zpp[x][x]

 „„Lifting“ nach Z[x]Lifting“ nach Z[x]

Cantor und Zassenhaus (1980) prohabilistischCantor und Zassenhaus (1980) prohabilistisch

Multivariate Polynome (Kronecker)Multivariate Polynome (Kronecker)

(3)

Einleitung 1 Einleitung 1

Von „Hand“:

Von „Hand“: x4

x3 2

x3 2

x3 2

  

x4 1

(4)

Einleitung 2 Einleitung 2

 Weshalb sollte man Polynome faktorisieren Weshalb sollte man Polynome faktorisieren können?

können?

 BeispieleBeispiele

Terme vereinfachen (Kürzen!)Terme vereinfachen (Kürzen!)

Polynomiale Gleichungen exakt lösenPolynomiale Gleichungen exakt lösen

CodierungstheorieCodierungstheorie

KryptographieKryptographie

Symbolische IntegrationSymbolische Integration

Gröbner-Basen vereinfachen (autom. Beweisen)Gröbner-Basen vereinfachen (autom. Beweisen)

(5)

Einleitung 3 Einleitung 3

 Wie kann ein Polynom Wie kann ein Polynom algorithmischalgorithmisch faktorisiert werden?

faktorisiert werden?

 Erste VersucheErste Versuche

Isaac Newton, 1707: Isaac Newton, 1707:

„Arithmetica universalis“

„Arithmetica universalis“

Friedrich von Schubert, 1793: Friedrich von Schubert, 1793:

Lineare und quadratische Faktoren finden Lineare und quadratische Faktoren finden

Leopold Kronecker, 1823-1891:Leopold Kronecker, 1823-1891:

Ausarbeitung der Ideen von Newton und Schubert Ausarbeitung der Ideen von Newton und Schubert

 NeuzeitNeuzeit

1967 Elwin Berlekamp: Faktorisieren in Z1967 Elwin Berlekamp: Faktorisieren in Zpp[x][x]

(6)

„ „ Inside CAS“ Inside CAS“

Teil I: Polynome faktorisieren Teil I: Polynome faktorisieren

 EinleitungEinleitung

Kronecker-Algorithmus im Ring Z[x]Kronecker-Algorithmus im Ring Z[x]

 Berlekamp-Algorithmus in ZBerlekamp-Algorithmus in Zpp[x][x]

 „„Lifting“ nach Z[x]Lifting“ nach Z[x]

Cantor und Zassenhaus (1980) prohabilistischCantor und Zassenhaus (1980) prohabilistisch

Multivariate Polynome (Kronecker)Multivariate Polynome (Kronecker)

(7)

Der Kronecker-Algorithmus 1 Der Kronecker-Algorithmus 1

Leopold Kronecker 1823-1891 Leopold Kronecker 1823-1891

 Schüler von KummerSchüler von Kummer

 Student von Dirichlet Student von Dirichlet und Jakob Steiner

und Jakob Steiner

 Professor in Berlin 1883 Professor in Berlin 1883 mit 60 J. (!)

mit 60 J. (!)

 Streit mit Cantor und Streit mit Cantor und Weierstrass

Weierstrass

 Vorläufer des Brower-Vorläufer des Brower- schen Intuitionismus schen Intuitionismus

(8)

Der Kronecker-Algorithmus 2 Der Kronecker-Algorithmus 2

 Wir betrachten ein Polynom Wir betrachten ein Polynom f f ( ( x x ) aus ) aus Z[ Z[ x x ] vom Grad ] vom Grad n n . .

• Wir suchen Wir suchen gg((xx) und ) und hh((xx), so dass gilt:), so dass gilt:

ff((xx) = ) = gg((xx)·)·hh((xx), wobei der Grad von g(x) ), wobei der Grad von g(x) höchstens

höchstens mm=[=[nn/2] beträgt./2] beträgt.

• Beispiel: Beispiel: ff((xx) = ) = xx77+2+2xx44++xx33+2 = +2 = gg((xx)·)·hh((xx) ) mit mit gg((xx) höchstens vom Grad 3...) höchstens vom Grad 3...

(9)

Der Kronecker-Algorithmus 3 Der Kronecker-Algorithmus 3

 Beobachtung: Der TI-89 schafft i. a. nur Beobachtung: Der TI-89 schafft i. a. nur quadratische Faktoren (wie Newton).

quadratische Faktoren (wie Newton).

 Wie finden wir kubische Faktoren nach Wie finden wir kubische Faktoren nach Kronecker?

Kronecker?

 Idee: Da Idee: Da gg((xx) Teiler von ) Teiler von ff((xx), sind auch die ), sind auch die (ganzen) Zahlen

(ganzen) Zahlen gg((xxii) Teiler von ) Teiler von ff((xxii) für die ) für die ganzzahligen Stützstellen

ganzzahligen Stützstellen xxii..

(10)

Der Kronecker-Algorithmus 4 Der Kronecker-Algorithmus 4

 Beispiel: Beispiel: ff((xx) = ) = xx77+2+2xx44++xx33+2 +2

 Ansatz:Ansatz: gg((xx) = ) = xx33+a+axx22+b+bxx+c +c

xx-Werte:-Werte: -1-1 00 11

ff((xxii)) 22 22 66

 g(g(xxii)) ±1,±2±1,±2±1,±2±1,±2±1,±2±1,±2

±3,±6

±3,±6

 Damit sind 4·4·8 = 128 bzw. 64 Fälle möglich Damit sind 4·4·8 = 128 bzw. 64 Fälle möglich (je zwei bis auf das Vorzeichen gleich)

(je zwei bis auf das Vorzeichen gleich)

(11)

Der Kronecker-Algorithmus 5 Der Kronecker-Algorithmus 5

 GleichungssystemGleichungssystem g g((xxii) = ) = xxii33+a+axxii22+b+bxxii+c+c für die Stützstellen

für die Stützstellen xxii lösen. lösen.

 liefert die Koeffizienten a, b und c. liefert die Koeffizienten a, b und c.

 Schauen, ob dann Schauen, ob dann gg((xx) Teiler von ) Teiler von ff((xx) ist.) ist.

a b c

















1 0 1















 1 2

1 2 1

1 0 1

0 2 0

















1, 2

1, 2

1,2,3,6

















(12)

Der Kronecker-Algorithmus 6 Der Kronecker-Algorithmus 6

 Realisierung mit TI-Basic (ca. 12 Sekunden):Realisierung mit TI-Basic (ca. 12 Sekunden):

(13)

Der Kronecker-Algorithmus 7 Der Kronecker-Algorithmus 7

 Fazit: Der Kronecker-Algorithmus ist für die Fazit: Der Kronecker-Algorithmus ist für die Computer-Praxis untauglich.

Computer-Praxis untauglich.

 Schuld sind die vielen möglichen Teiler.Schuld sind die vielen möglichen Teiler.

 Eine Verbesserung ergibt sich, wenn man Eine Verbesserung ergibt sich, wenn man nicht über Z, sondern über Z

nicht über Z, sondern über Zpp ( (pp prim) prim) faktorisiert, muss nachher aber „liften“.

faktorisiert, muss nachher aber „liften“.

ff22((xx) = ) = xx77++xx3 3 = = xx33((xx44+1) +1)  ( (xx33+2+2)()(xx44+1) +1)

(14)

„ „ Inside CAS“ Inside CAS“

Teil I: Polynome faktorisieren Teil I: Polynome faktorisieren

 EinleitungEinleitung

 Kronecker-Algorithmus im Ring Z[x]Kronecker-Algorithmus im Ring Z[x]

Berlekamp-Algorithmus in ZBerlekamp-Algorithmus in Zpp[x][x]

 „„Lifting“ nach Z[x]Lifting“ nach Z[x]

Cantor und Zassenhaus (1980) prohabilistischCantor und Zassenhaus (1980) prohabilistisch

Multivariate Polynome (Kronecker)Multivariate Polynome (Kronecker)

(15)

Der Berlekamp-Algorithmus 1 Der Berlekamp-Algorithmus 1

Elwyn Berlekamp Elwyn Berlekamp (geb. 1940)

(geb. 1940)

Studium der Studium der Elektrotechnik Elektrotechnik

Professor der Professor der Mathematik in Mathematik in

Berkeley Berkeley

1967: Berlekamp-1967: Berlekamp- Algorithmus

Algorithmus

(16)

Der Berlekamp-Algorithmus 2 Der Berlekamp-Algorithmus 2

 Voraussetzungen für den Algorithmus:Voraussetzungen für den Algorithmus:

Koeffizienten der Polynome werden Koeffizienten der Polynome werden modulomodulo einer Primzahl gerechnet.

einer Primzahl gerechnet.

Polynome sind Polynome sind normiertnormiert, d.h. der Koeffizient , d.h. der Koeffizient der höchsten Potenz ist 1.

der höchsten Potenz ist 1.

Polynome sind Polynome sind quadratfreiquadratfrei, d.h. keine Fakto-, d.h. keine Fakto- ren kommen mehrfach vor. {ggT(

ren kommen mehrfach vor. {ggT(ff((x),x),ff‘(‘(xx))=1}))=1}

Beispiel: Beispiel: ff((xx) = x) = x77+2x+2x44++xx33+2+2 ist quadratfreies, ist quadratfreies, normiertes, univariates Polynom über Z

normiertes, univariates Polynom über Z

(17)

Der Berlekamp-Algorithmus 3 Der Berlekamp-Algorithmus 3

 Grundidee des Berlekamp-Algorithmus:Grundidee des Berlekamp-Algorithmus:

Um Teilerpolynome

Um Teilerpolynome ffii((xx) von ) von ff((xx) zu ) zu finden, bestimmen wir Polynome

finden, bestimmen wir Polynome gg((xx), so ), so dass ggT(

dass ggT(ff((xx), ), gg((xx))= ))= ffii((xx) gilt.) gilt.

 Aber: Wie findet man die Polynome Aber: Wie findet man die Polynome gg((xx)?)?

Ohne Herleitung: Man muss zuerst die Ohne Herleitung: Man muss zuerst die

Berlekamp-Matrix

Berlekamp-Matrix aufstellen... aufstellen...

(18)

Der Berlekamp-Algorithmus 4 Der Berlekamp-Algorithmus 4

 ... und die Berlekamp-Matrix sieht ... und die Berlekamp-Matrix sieht

folgendermassen aus (TI89: in ca.10 s) folgendermassen aus (TI89: in ca.10 s)

 Beispiel: Beispiel: ff77((xx) = ) = xx77+2+2xx44++xx33+2 in Z+2 in Z77[x][x]

(19)

Der Berlekamp-Algorithmus 5 Der Berlekamp-Algorithmus 5

Die Berlekamp-Matrix Die Berlekamp-Matrix BB ist so definiert: ist so definiert:

x0 mod f7(x)

x7 mod f7(x) x14 mod f7(x) x21 mod f7(x) x28 mod f7(x) x35 mod f7(x) x42 mod f7(x)

(20)

Der Berlekamp-Algorithmus 6 Der Berlekamp-Algorithmus 6

 Im nächsten Schritt wird der Kern von B-E Im nächsten Schritt wird der Kern von B-E mit dem sog. „Nullraumalgorithmus“

mit dem sog. „Nullraumalgorithmus“

bestimmt. (z.B. mit Maple) bestimmt. (z.B. mit Maple)

 Mit den Komponenten der Basisvektoren Mit den Komponenten der Basisvektoren werden Polynome

werden Polynome hhii((xx) gebildet:) gebildet:

hh11((xx) = ) = xx44 + 6 + 6

hh22((xx) = ) = xx55 + + xx33 + 6 + 6xx hh33((xx) = ) = xx66 +3 +3xx33 + 2 + 2

(21)

Der Berlekamp-Algorithmus 7 Der Berlekamp-Algorithmus 7

Die Dimension Die Dimension dd der Basis liefert dabei gerade die der Basis liefert dabei gerade die Anzahl

Anzahl irreduziblerirreduzibler Faktoren. Faktoren.

Diese möglichen Faktoren Diese möglichen Faktoren ffii(x) erhalten wir durch (x) erhalten wir durch Berechnung der ggT(

Berechnung der ggT(ff((xx), ), hhii((xx)-c) = g)-c) = gii(x(x))

Sobald wird Sobald wird d d Faktoren gefunden haben, Faktoren gefunden haben, terminiert der Algorithmus.

terminiert der Algorithmus.

gg11((xx) = ) = xx22+4x+4x+1+1, gg22((xx) = ) = xx3+2+2, g, g33((xx) = x) = 4+1, wobei aber

wobei aber xx44+1=(+1=(xx22+4+4xx+1)(+1)(xx22+3+3xx+1) mod 7 noch +1) mod 7 noch zerlegt werden kann

zerlegt werden kann

(22)

Der Berlekamp-Algorithmus 8 Der Berlekamp-Algorithmus 8

 Die Faktorisierung über ZDie Faktorisierung über Z77 lautet: lautet:

ff77((xx) = () = (xx3+2)+2)(x(x22+4x+1)(x+4x+1)(x22+3x+1) +3x+1)

 Weitere Beispiele:Weitere Beispiele:

ff55((xx) = () = (xx2+2)+2)(x(x22+2+2xx+4)(x+4)(x22+3)(x+3) +3)(x+3) ff1313((xx) = () = (xx3+2)+2)(x(x22+8)(x+8)(x22+5)+5)

ff2929((xx) = () = (xx22+17)(+17)(xx22+12)(+12)(xx22+3+3xx+9)(+9)(xx+26)+26) ff991991((xx) = () = (xx3+2)+2)((xx22+571+571xx+1)(+1)(xx22+420+420xx+1)+1)

(23)

„ „ Inside CAS“ Inside CAS“

Teil I: Polynome faktorisieren Teil I: Polynome faktorisieren

 EinleitungEinleitung

 Kronecker-Algorithmus im Ring Z[x]Kronecker-Algorithmus im Ring Z[x]

 Berlekamp-Algorithmus in ZBerlekamp-Algorithmus in Zpp[x][x]

„„Lifting“ nach Z[x]Lifting“ nach Z[x]

Cantor und Zassenhaus (1980) prohabilistischCantor und Zassenhaus (1980) prohabilistisch

Multivariate Polynome (Kronecker)Multivariate Polynome (Kronecker)

(24)

„ „ Lifting“ nach Z[ Lifting“ nach Z[ x x ] ]

Wie erhalten wir aus Faktorisierungen in ZWie erhalten wir aus Faktorisierungen in Zpp[[xx] die ] die Faktorsierung in Z[

Faktorsierung in Z[xx]?]?

1. Idee1. Idee: Modulo eine : Modulo eine grossegrosse Primzahl Primzahl pp faktorisieren faktorisieren

2. Idee2. Idee: Modulo eine : Modulo eine kleinekleine Primzahl Primzahl qq faktorisieren faktorisieren und dann Faktorisierung modulo

und dann Faktorisierung modulo pp==qqtt daraus daraus ermitteln (Hensel-Lifting)

ermitteln (Hensel-Lifting)

In beiden Fällen: Schranke (Mignotte) für den Modul In beiden Fällen: Schranke (Mignotte) für den Modul pp finden, so dass Faktoren in Z finden, so dass Faktoren in Zpp[[xx] erscheinen, die ] erscheinen, die

auch in Z[x] vorkommen und dann Probedivisionen auch in Z[x] vorkommen und dann Probedivisionen

(25)

„ „ Inside CAS“ Inside CAS“

Teil I: Polynome faktorisieren Teil I: Polynome faktorisieren

 EinleitungEinleitung

 Kronecker-Algorithmus im Ring Z[x]Kronecker-Algorithmus im Ring Z[x]

 Berlekamp-Algorithmus in ZBerlekamp-Algorithmus in Zpp[x][x]

 „„Lifting“ nach Z[x]Lifting“ nach Z[x]

Cantor und Zassenhaus (1980) prohabilistischCantor und Zassenhaus (1980) prohabilistisch

Multivariate Polynome (Kronecker)Multivariate Polynome (Kronecker)

(26)

„ „ Inside CAS“ Inside CAS“

Literatur Literatur

 M. Kaplan: Computeralgebra, Springer, 2005M. Kaplan: Computeralgebra, Springer, 2005

 D. E. Knuth: Arithmetik, Springer, 2001D. E. Knuth: Arithmetik, Springer, 2001

 F. Winkler: Polynomial Algorithms in F. Winkler: Polynomial Algorithms in Computer Algebra, Springer, 1996

Computer Algebra, Springer, 1996

 Geddes, Czapor, Labahn: Algorithms for Geddes, Czapor, Labahn: Algorithms for Computer Algebra, Kluwer 1992

Computer Algebra, Kluwer 1992

(27)

„ „ Inside CAS“ Inside CAS“

Schlussbemerkungen Schlussbemerkungen

 Hinter dem Faktorisieren steckt interessante Hinter dem Faktorisieren steckt interessante Mathematik.

Mathematik.

 Algorithmisches Faktorisieren ist nicht streng Algorithmisches Faktorisieren ist nicht streng deterministisch.

deterministisch.

 Ein Algorithmus zum Faktorisieren braucht Ein Algorithmus zum Faktorisieren braucht viel Rechenaufwand.

viel Rechenaufwand.

Referenzen

ÄHNLICHE DOKUMENTE

 Weg und Geschwindigkeit durch Funktionen beschreiben 23 o Mögliche Ergebnisse und ihre Auswertungen 24

(5) Die Studien- und Prüfungsleistungen des ersten bis fünften Semesters werden maßgeblich durch das Lehrangebot der East China University of Science and Technology, Shanghai,

(5) Hat der Prüfling den Bachelorabschluss nicht erbracht, wird ihm auf Antrag und gegen Vorlage der entsprechen- den Nachweise sowie der Exmatrikulationsbescheinigung vom

Höhenlinie, Frontlinie und Fallinien 23 Punkt und Ebene 24 Drei - Punkte - Ebene 25 Abstand eines Punktes von einer Ebene 26 Wahre Größe und Neigung des Abstandes

Die Vermittlung der praktischen Durchführung wird in einem Nachweisheft dokumentiert, wobei eine Mindestzahl an praktischen Maßnahmen erreicht werden soll.. Im Nachweisheft muss

 Der nachstehende Medikamentenkatalog stellt den Mindestumfang für die Medikamente dar, die während der Ausbildung zur Notfallsanitäterin / zum Notfallsanitäter von

Diese Hinweise beinhalten Beobachtungen und Erfahrungen von Ärztlichen Leitern Rettungsdienst zu wiederkehrenden Mängeln in der rettungsdienstlichen Praxis.. Häufig liegen

Teil II – Th eoretische und empirische Bezüge 3 Sonderpädagogik im Kontext von Menschen mit kognitiven Beeinträchtigungen und herausfordernden