„Inside CAS“ Teil I: Polynome faktorisieren Teil II: Automatisches Beweisen Heinz Klemenz, KZO Wetzikon, 13.6.2005.

Slides:



Advertisements
Ähnliche Präsentationen
Abschlussprüfung an Realschulen
Advertisements

Beispiel zum RSA-Algorithmus
Polynomial Root Isolation
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
Schnelle Matrizenoperationen von Christian Büttner
Invariante und Algorithmenentwurf
Suche in Texten (Stringsuche )
HEINZ NIXDORF INSTITUT Universität Paderborn Fachbereich Mathematik/Informatik Algorithmische Probleme in Funknetzwerken X Christian Schindelhauer
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (27 – Kürzeste Wege) Prof. Th. Ottmann.
Kapitel 3 Gleichungen.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Algorithmen und Komplexität Teil 1: Grundlegende.
Beispiele für Gleichungssysteme
V. Algebra und Geometrie
Es ist kaum einzusehen, warum die Jugend von heute mit den Mitteln von gestern für das Leben von morgen qualifiziert werden soll. Es ist was Wahres dran,
Algorithmen und Komplexität
Bit Commitment mit quadratischen Resten Vortrag von Josef Pozny
Algorithmen des Internets 2005 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität 1 Klausuraufgaben.
Wir suchen ‘ mit m = m    ‘ c  ‘ mod 26
DVG Gaußscher Algorithmus1 Gaußscher Algorithmus.
Gaußscher Algorithmus
Mathematische Grundlagen und Rechnen mit algebraischen Zahlen
Hauptseminar Automaten und Formale Sprachen
Effiziente Faktorisierung
Computergrafik – Inhalt Achtung! Kapitel ist relevant für CG-2!
Faktorisieren von „Trinomen“
Ausgleichung ohne Linearisierung
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Beweissysteme Hartmut Klauck Universität Frankfurt WS 06/
Hartmut Klauck Universität Frankfurt WS 06/
§3 Allgemeine lineare Gleichungssysteme
Polynome und schnelle Fourier-Transformation
Gleichungen und Gleichungssysteme
Lineare Algebra, Teil 2 Abbildungen
1 (C) 2006, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz Rationale Funktionen Lernziele: Rationale Funktionen und ihre Bedeutung kennen. Ganzzahlige.
Lösen von quadratischen Ungleichungen
ENDLICHE KÖRPER RSA – VERFAHREN.
Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 3: Potenzreihen und kontextfreie Sprachen (Vgl. Buch von A. Salomaa)
Stetige Kleinste-Quadrate-Approximation
Vom graphischen Differenzieren
Computer Algebra für Brüche --- angepasst an Ausbildungszwecke
1. 4 Rechenregeln mit reellen Zahlen - Arithmetik von Prof. Dr. Dr
Michal Olejniczak Pawel Kiedrowski
Der A*-Algorithmus.
Kap. 7: Die quadratische Funktion – numerisch, graphisch, theoretisch
LAP IT-Techniker und IT-Informatiker
Vorstellen und Herleiten der Horner Schemas
Lineare Optimierung Nakkiye Günay, Jennifer Kalywas & Corina Unger Jetzt erkläre ich euch die einzelnen Schritte und gebe Tipps!
Thema - Funktionen Mögliche Fragestellungen: Scheitel Nullstellen
Der Satz von VIETA OTTO SIEGELE 2014 „Francois Viete“ von Original uploader was Dr. Manuel at de.wikipedia - and.ac.uk/PictDisplay/Viete.html,
Plenum Johannes-Kepler-Gymnasium Hinweis für den Lehrer:
Lineare Funktionen 1. Funktionen (allgemein)  Funktionswert berechnen / einsetzen  Schnittpunkt mit der y-Achse berechnen  Wertetabelle erstellen 
► Zahlen kleiner 0 heissen negative Zahlen.
Ganzrationale Funktionen
Wiederholung Körper K Eigenschaften von multiplikativen Gruppen
Multivariate Kryptosysteme
Wahlteil 2009 – Geometrie II 1
Schnitt Ebene/Ebene Voraussetzungen Die Ebenen
Vorstellen und Herleiten der Horner Schemas
 Präsentation transkript:

„Inside CAS“ Teil I: Polynome faktorisieren Teil II: Automatisches Beweisen Heinz Klemenz, KZO Wetzikon,

„Inside CAS“ Teil I: Polynome faktorisieren  Einleitung  Kronecker-Algorithmus im Ring Z[x]  Berlekamp-Algorithmus in Z p [x]  „Lifting“ nach Z[x]  Cantor und Zassenhaus (1980) prohabilistisch  Multivariate Polynome (Kronecker)

Einleitung 1 Von „Hand“:

Einleitung 2  Weshalb sollte man Polynome faktorisieren können?  Beispiele Terme vereinfachen (Kürzen!) Terme vereinfachen (Kürzen!) Polynomiale Gleichungen exakt lösen Polynomiale Gleichungen exakt lösen Codierungstheorie Codierungstheorie Kryptographie Kryptographie Symbolische Integration Symbolische Integration Gröbner-Basen vereinfachen (autom. Beweisen) Gröbner-Basen vereinfachen (autom. Beweisen)

Einleitung 3  Wie kann ein Polynom algorithmisch faktorisiert werden?  Erste Versuche Isaac Newton, 1707: „Arithmetica universalis“ Isaac Newton, 1707: „Arithmetica universalis“ Friedrich von Schubert, 1793: Lineare und quadratische Faktoren finden Friedrich von Schubert, 1793: Lineare und quadratische Faktoren finden Leopold Kronecker, : Ausarbeitung der Ideen von Newton und Schubert Leopold Kronecker, : Ausarbeitung der Ideen von Newton und Schubert  Neuzeit 1967 Elwin Berlekamp: Faktorisieren in Z p [x] 1967 Elwin Berlekamp: Faktorisieren in Z p [x]

„Inside CAS“ Teil I: Polynome faktorisieren Einleitung Einleitung  Kronecker-Algorithmus im Ring Z[x]  Berlekamp-Algorithmus in Z p [x]  „Lifting“ nach Z[x]  Cantor und Zassenhaus (1980) prohabilistisch  Multivariate Polynome (Kronecker)

Der Kronecker-Algorithmus 1 Leopold Kronecker  Schüler von Kummer  Student von Dirichlet und Jakob Steiner  Professor in Berlin 1883 mit 60 J. (!)  Streit mit Cantor und Weierstrass  Vorläufer des Brower- schen Intuitionismus

Der Kronecker-Algorithmus 2  Wir betrachten ein Polynom f(x) aus Z[x] vom Grad n. Wir suchen g(x) und h(x), so dass gilt: f(x) = g(x)·h(x), wobei der Grad von g(x) höchstens m=[n/2] beträgt. Wir suchen g(x) und h(x), so dass gilt: f(x) = g(x)·h(x), wobei der Grad von g(x) höchstens m=[n/2] beträgt. Beispiel: f(x) = x 7 +2x 4 +x 3 +2 = g(x)·h(x) mit g(x) höchstens vom Grad 3... Beispiel: f(x) = x 7 +2x 4 +x 3 +2 = g(x)·h(x) mit g(x) höchstens vom Grad 3...

Der Kronecker-Algorithmus 3  Beobachtung: Der TI-89 schafft i. a. nur quadratische Faktoren (wie Newton).  Wie finden wir kubische Faktoren nach Kronecker?  Idee: Da g(x) Teiler von f(x), sind auch die (ganzen) Zahlen g(x i ) Teiler von f(x i ) für die ganzzahligen Stützstellen x i.

Der Kronecker-Algorithmus 4  Beispiel: f(x) = x 7 +2x 4 +x 3 +2  Ansatz:g(x) = x 3 +ax 2 +bx+c  x-Werte:-101 f(xi)226f(xi)226f(xi)226f(xi)226  g(x i )±1,±2±1,±2±1,±2 ±3,±6  Damit sind 4·4·8 = 128 bzw. 64 Fälle möglich (je zwei bis auf das Vorzeichen gleich)

Der Kronecker-Algorithmus 5  Gleichungssystem g(x i ) = x i 3 +ax i 2 +bx i +c für die Stützstellen x i lösen.  liefert die Koeffizienten a, b und c.  Schauen, ob dann g(x) Teiler von f(x) ist.

Der Kronecker-Algorithmus 6  Realisierung mit TI-Basic (ca. 12 Sekunden):

Der Kronecker-Algorithmus 7  Fazit: Der Kronecker-Algorithmus ist für die Computer-Praxis untauglich.  Schuld sind die vielen möglichen Teiler.  Eine Verbesserung ergibt sich, wenn man nicht über Z, sondern über Z p (p prim) faktorisiert, muss nachher aber „liften“.  f 2 (x) = x 7 +x 3 = x 3 (x 4 +1)  (x 3 +2)(x 4 +1)

„Inside CAS“ Teil I: Polynome faktorisieren Einleitung Einleitung Kronecker-Algorithmus im Ring Z[x] Kronecker-Algorithmus im Ring Z[x]  Berlekamp-Algorithmus in Z p [x]  „Lifting“ nach Z[x]  Cantor und Zassenhaus (1980) prohabilistisch  Multivariate Polynome (Kronecker)

Der Berlekamp-Algorithmus 1  Elwyn Berlekamp (geb. 1940)  Studium der Elektrotechnik  Professor der Mathematik in Berkeley  1967: Berlekamp- Algorithmus

Der Berlekamp-Algorithmus 2  Voraussetzungen für den Algorithmus:  Koeffizienten der Polynome werden modulo einer Primzahl gerechnet.  Polynome sind normiert, d.h. der Koeffizient der höchsten Potenz ist 1.  Polynome sind quadratfrei, d.h. keine Fakto- ren kommen mehrfach vor. {ggT(f(x),f‘(x))=1}  Beispiel: f(x) = x 7 +2x 4 +x 3 +2 ist quadratfreies, normiertes, univariates Polynom über Z

Der Berlekamp-Algorithmus 3  Grundidee des Berlekamp-Algorithmus: Um Teilerpolynome f i (x) von f(x) zu finden, bestimmen wir Polynome g(x), so dass ggT(f(x), g(x))= f i (x) gilt.  Aber: Wie findet man die Polynome g(x)? Ohne Herleitung: Man muss zuerst die Berlekamp-Matrix aufstellen...

Der Berlekamp-Algorithmus 4 ... und die Berlekamp-Matrix sieht folgendermassen aus (TI89: in ca.10 s)  Beispiel: f 7 (x) = x 7 +2x 4 +x 3 +2 in Z 7 [x]

Der Berlekamp-Algorithmus 5  Die Berlekamp-Matrix B ist so definiert:

Der Berlekamp-Algorithmus 6  Im nächsten Schritt wird der Kern von B-E mit dem sog. „Nullraumalgorithmus“ bestimmt. (z.B. mit Maple)  Mit den Komponenten der Basisvektoren werden Polynome h i (x) gebildet:  h 1 (x) = x h 2 (x) = x 5 + x 3 + 6x h 3 (x) = x 6 +3x 3 + 2

Der Berlekamp-Algorithmus 7  Die Dimension d der Basis liefert dabei gerade die Anzahl irreduzibler Faktoren.  Diese möglichen Faktoren f i (x) erhalten wir durch Berechnung der ggT(f(x), h i (x)-c) = g i (x)  Sobald wird d Faktoren gefunden haben, terminiert der Algorithmus.  g 1 (x) = x 2 +4x+1g 2 (x) = x+2, g 3 (x) = wobei aber x 4 +1=(x 2 +4x+1)(x 2 +3x+1) mod 7 noch zerlegt werden kann  g 1 (x) = x 2 +4x+1, g 2 (x) = x 3 +2, g 3 (x) = x 4 +1, wobei aber x 4 +1=(x 2 +4x+1)(x 2 +3x+1) mod 7 noch zerlegt werden kann

Der Berlekamp-Algorithmus 8  Die Faktorisierung über Z 7 lautet: f 7 (x) = (x+2)(x 2 +4x+1)(x 2 +3x+1)  Die Faktorisierung über Z 7 lautet: f 7 (x) = (x 3 +2)(x 2 +4x+1)(x 2 +3x+1)  Weitere Beispiele: f 5 (x) = (x+2)(x 2 +2x+4)(x 2 +3)(x+3) f 13 (x) = (x+2)(x 2 +8)(x 2 +5) f 29 (x) = (x 2 +17)(x 2 +12)(x 2 +3x+9)(x+26) f 991 (x) = (x+2)(x x+1)(x x+1)  Weitere Beispiele: f 5 (x) = (x 2 +2)(x 2 +2x+4)(x 2 +3)(x+3) f 13 (x) = (x 3 +2)(x 2 +8)(x 2 +5) f 29 (x) = (x 2 +17)(x 2 +12)(x 2 +3x+9)(x+26) f 991 (x) = (x 3 +2)(x x+1)(x x+1)

„Inside CAS“ Teil I: Polynome faktorisieren Einleitung Einleitung Kronecker-Algorithmus im Ring Z[x] Kronecker-Algorithmus im Ring Z[x] Berlekamp-Algorithmus in Z p [x] Berlekamp-Algorithmus in Z p [x]  „Lifting“ nach Z[x]  Cantor und Zassenhaus (1980) prohabilistisch  Multivariate Polynome (Kronecker)

„Lifting“ nach Z[x]  Wie erhalten wir aus Faktorisierungen in Z p [x] die Faktorsierung in Z[x]?  1. Idee: Modulo eine grosse Primzahl p faktorisieren  2. Idee: Modulo eine kleine Primzahl q faktorisieren und dann Faktorisierung modulo p=q t daraus ermitteln (Hensel-Lifting)  In beiden Fällen: Schranke (Mignotte) für den Modul p finden, so dass Faktoren in Z p [x] erscheinen, die auch in Z[x] vorkommen und dann Probedivisionen

„Inside CAS“ Teil I: Polynome faktorisieren Einleitung Einleitung Kronecker-Algorithmus im Ring Z[x] Kronecker-Algorithmus im Ring Z[x] Berlekamp-Algorithmus in Z p [x] Berlekamp-Algorithmus in Z p [x] „Lifting“ nach Z[x] „Lifting“ nach Z[x]  Cantor und Zassenhaus (1980) prohabilistisch  Multivariate Polynome (Kronecker)

„Inside CAS“ Literatur  M. Kaplan: Computeralgebra, Springer, 2005  D. E. Knuth: Arithmetik, Springer, 2001  F. Winkler: Polynomial Algorithms in Computer Algebra, Springer, 1996  Geddes, Czapor, Labahn: Algorithms for Computer Algebra, Kluwer 1992

„Inside CAS“ Schlussbemerkungen  Hinter dem Faktorisieren steckt interessante Mathematik.  Algorithmisches Faktorisieren ist nicht streng deterministisch.  Ein Algorithmus zum Faktorisieren braucht viel Rechenaufwand.