Table Of ContentKoepf
Computeralgebra
Wolfram Koepf
Computeralgebra
Eine algorithmisch orientierte Einführung
123
Prof.Dr.WolframKoepf
Fachbereich17Mathematik/Informatik
UniversitätKassel
Heinrich-Plett-Straße40
34132Kassel,Deutschland
e-mail:[email protected]
Internet:http://www.mathematik.uni-kassel.de/~koepf
BibliografischeInformationderDeutschenBibliothek
DieDeutscheBibliothekverzeichnetdiesePublikationinderDeutschenNationalbibliografie;
detailliertebibliografischeDatensindimInternetüberhttp://dnb.ddb.deabrufbar.
MathematicsSubjectClassification(2000):68W30,11Y05,11Y11,11Y16,11R04,
12D05,12Y05,13F20,13F25,33F10
ISBN-10 3-540-29894-0 SpringerBerlinHeidelbergNewYork
ISBN-13 978-3-540-29894-6 SpringerBerlinHeidelbergNewYork
DiesesWerkisturheberrechtlichgeschützt.DiedadurchbegründetenRechte,insbesonderedieder
Übersetzung,desNachdrucks,desVortrags,derEntnahmevonAbbildungenundTabellen,derFunk-
sendung,derMikroverfilmungoderderVervielfältigungaufanderenWegenundderSpeicherungin
Datenverarbeitungsanlagen,bleiben,auchbeinurauszugsweiserVerwertung,vorbehalten.EineVer-
vielfältigungdiesesWerkesodervonTeilendiesesWerkesistauchimEinzelfallnurindenGrenzen
dergesetzlichenBestimmungendesUrheberrechtsgesetzesderBundesrepublikDeutschlandvom
9.September1965inderjeweilsgeltendenFassungzulässig.Sieistgrundsätzlichvergütungspflichtig.
ZuwiderhandlungenunterliegendenStrafbestimmungendesUrheberrechtsgesetzes.
SpringeristeinUnternehmenvonSpringerScience+BusinessMedia
springer.de
©Springer-VerlagBerlinHeidelberg2006
PrintedinGermany
DieWiedergabevonGebrauchsnamen,Handelsnamen,Warenbezeichnungenusw.indiesemWerk
berechtigtauchohnebesondereKennzeichnungnichtzuderAnnahme,daßsolcheNamenimSinne
derWarenzeichen-undMarkenschutz-Gesetzgebungalsfreizubetrachtenwärenunddahervon
jedermannbenutztwerdendürften.TextundAbbildungenwurdenmitgrößterSorgfalterarbeitet.
VerlagundAutorkönnenjedochfüreventuellverbliebenefehlerhafteAngabenundderenFolgen
wedereinejuristischeVerantwortungnochirgendeineHaftungübernehmen.
Umschlaggestaltung:design&productionGmbH,Heidelberg
Herstellung:LE-TEXJelonek,Schmidt&VöcklerGbR,Leipzig
Satz:DatenerstellungdurchdenAutorunterVerwendungeinesSpringerTEX-Makropakets
GedrucktaufsäurefreiemPapier 44/3100YL-543210
Vorwort
Dasvorliegende Lehrbuchu¨berComputeralgebragibteineEinfu¨hrung indiesesmo-
derne Gebiet der Mathematik. Es entstand im Laufe der letzten fu¨nf Jahre und um-
faßtdenStoff zweiervierstu¨ndiger Vorlesungen, die ichmehrfachander Universita¨t
Kasseldurchgefu¨hrthabe.AlsichimJahr2000andieUniversita¨tKasselkamundim
Sommersemester2000zumerstenMaldieVorlesungComputeralgebraundimdarauf-
folgenden Wintersemester die Vorlesung Computeralgebra 2abhalten durfte,begann
ich mit der Niederschrift. Ich habe diese Vorlesungen dann mehrfachander Univer-
sita¨t Kasselfu¨r Studenten der Studienga¨nge Diplom-Mathematik, gymnasiales Lehr-
amtMathematik,BachelorComputationalMathematicssowieBachelorInformatikab
demdrittenStudiensemesterabgehalten.
VorausgesetztwerdenalsolediglicheinigeKenntnisseausderlinearenAlgebrasowie
der elementarenAnalysis. DaheristdasBuchauchfu¨rinteressierte Gymnasiallehrer
alsQuellezumVersta¨ndnisfu¨rAlgorithmenderComputeralgebraoderalsVertiefung
inLeistungskursensehrgutgeeignet.Ichhabemichbemu¨ht,diewichtigstenPrinzipi-
enundAlgorithmenderComputeralgebraaufzunehmen,derenBeweiseichallerdings
so elementar wie mo¨glich fu¨hre. Da ich den Besuch einer Algebra-Vorlesung nicht
voraussetzenkonnte,habeichauftiefliegendealgebraischeArgumenteverzichtet.Die
Pra¨sentationistmehralgorithmischalsalgebraischorientiert.Beispielsweisewirdder
ChinesischeRestsatz(lediglich)alsAlgorithmusundnichtalsIsomorphiesatzformu-
liert. Die vorliegende Vorlesung ersetzt keine Algebra-Vorlesung, sie wirbt vielmehr
fu¨reinealgebraischeVertiefung.
Indereinfu¨hrendenComputeralgebra-VorlesunghabeichinetwadenStoffderersten
neunKapiteldurchgenommen.DieserKanonscheintmirdieunverzichtbareGrundla-
gederComputeralgebradarzustellen.JederDozentwirdallerdingssichereigeneAk-
zente setzen.Ichhabebeispielsweise ausZeitmangeldie Beweiseeiniger Sa¨tzeu¨ber
endlicheKo¨rperweggelassenundaufdenBeweisimTextverwiesen,einandererDo-
zentwirdvielleichtlieberaufdasKapitelu¨berCodierungstheorieundKryptographie
verzichten,obwohlnachmeinerErfahrungdieStudierendengeradediesesKapitelsehr
gerneannehmen.EineweitereVariantebestehtdarin,dieAlgorithmenfu¨rganzeZah-
len und fu¨r Polynome (wie beispielsweise den euklidischen Algorithmus und seine
Erweiterung) parallel anstatt hintereinander zu behandeln. Kann man ho¨here Alge-
brakenntnissevoraussetzen,werdeneinigeBeweiseku¨rzer.DemjeweiligenDozenten
bleibenalsogenu¨gendAuswahlmo¨glichkeiten,umseineneigenenStilzubewahren.
IndenerstenbeidenKapitelnwirdvorgestellt,waseinComputeralgebrasystemkann
undwiemanineinemsolchenSystemprogrammiert.DanachwirddieGanzzahlarith-
metikbehandelt,diedieGrundlagejedesComputeralgebrasystemsdarstellt.Nachdem
modularenRechnenmitdemchinesischenRestsatz,demkleinenSatzvonFermatund
VI Vorwort
der Betrachtungvon Primzahltests folgtdann zuna¨chsteinKapitel u¨ber Codierungs-
theorieundKryptographie,inwelchemdiebehandeltenzahlentheoretischenGrundla-
genangewandtwerden.Hierwirdu.a.dasRSA-Verfahrenbehandelt.
Alsna¨chsteswerdenPolynomebetrachtet,wobeihierdieAlgorithmenderGanzzahl-
arithmetikerneutinsSpielkommen.EsfolgtderKronecker-AlgorithmuszurFaktori-
sierungvonPolynomenmitganzzahligenKoeffizienten.ImKapitelu¨beralgebraische
ZahlenwirdanndiemodulareArithmetikvoneinemneuenStandpunktausbetrachtet.
Nunko¨nnenauchendliche Ko¨rperundResultanteneingefu¨hrtwerden.Imfolgenden
Kapitelu¨berPolynomfaktorisierungwerdenmoderneeffizientereAlgorithmenbehan-
delt und implementiert. Esfolgt einKapitel u¨ber Vereinfachung und Normalformen,
welchesdenKanondererstenVorlesungabschließt.
Die Kapitel 10-12 stellen die Themen der von mir durchgefu¨hrten weiterfu¨hrenden
Vorlesungbereitundsindnaturgema¨ßsta¨rkervonmeineneigenenInteressengepra¨gt.
Diese Auswahl ist nach meiner U¨berzeugung fu¨r eine weiterfu¨hrende Vorlesung be-
sondersgutgeeignet,denndieKapitelwendendasindererstenVorlesungerarbeitete
WissenaufThemenan,diejedemMathematikstudentenwa¨hrendseinesStudiumsbe-
gegnenunddieauchvieleMathematik-Anwenderbeno¨tigenundinteressieren:Potenz-
reihen,SummationsformelnundIntegration.Wa¨hrendmanPotenzreihenbereitsinder
AnalysiskennenlerntundbeispielsweiseinderPhysikundinderWahrscheinlichkeits-
theoriebeno¨tigt,tretenSummationsformelnu¨berallinMathematikundinAnwendun-
genauf.UnbestimmteIntegrationschließlichwirdimallgemeinenalseinschwieriges
ProblemderAnalysisbetrachtet,undesistnichtunmittelbarklar,daßmandiesesPro-
blemmitMethodenderAlgebraanpackenkann.
Naturgema¨ß konnte ich nicht alle relevanten Themen der Computeralgebra aufneh-
men, auch weil das Buch eine direkte Vorlage zu zwei Vorlesungen liefern und da-
her nicht zu umfangreich sein sollte. Beispielsweise habe ich mich entschieden, die
Theorie der Gro¨bnerbasen wegzulassen, obwohl diese eine sehr bedeutende Rolle in
Computeralgebrasystemen spielen, insbesondere bei der Lo¨sung polynomialer Glei-
chungssysteme, wo Gro¨bnerbasen inzwischen Resultanten den Rang abgelaufen ha-
ben.WillmandiesesThemaallerdingsgru¨ndlichbehandeln,somußmanhierfu¨rent-
weder ho¨here Algebrakenntnisse voraussetzen oder eswirddarausleicht eineigenes
Buch.HierverweiseichalsolieberaufdiebereitsvorhandeneLiteratur,beispielsweise
dasfu¨reineVorlesungodereinSeminarsehrgutgeeigneteBuchvonCox,Littleund
O’Shea[CLO1997].Ebenfallsha¨tte ichgernedenfu¨rvieleAnwendungenwichtigen
LLL-AlgorithmusvonLenstra,LenstraundLova´sz[LLL1982]behandelt,mußtedie-
senausPlatzgru¨ndenaberebenfallsweglassen.BeieinerweiterenVertiefungisteine
BehandlungdieserbeidenThemenkreiseallerdingszwingend.
AllebetrachtetenAlgorithmendesBuchswerdeninSitzungenmitdemComputeral-
gebrasystemMathematicaprogrammiertundgetestet.Diesgehtaufeine perso¨nliche
Vorwort VII
Pra¨ferenzdesAutorszuru¨ck.1DennochistderjeweiligeDozentkeineswegsandieses
Systemgebunden,denndieDefinitionenundSa¨tzedesBuchssindselbstversta¨ndlich
vo¨lligunabha¨ngigvoneinemspeziellenComputeralgebrasystem.
Um das Buch vollends systemunabha¨ngig zu gestalten, habe ich im Internet auf der
Webseite http://www.mathematik.uni-kassel.de/˜koepf/CA alle
Computeralgebra-SitzungendesBuchsauchalsMaple-WorksheetsundMuPAD-Note-
booksbereitgestellt.DiedreiverwendetenSystemesindallesamtsogenannteGeneral
Purpose-SystemeundbeherrschendieMathematikineinerBreite,diedemThemen-
umfangdesBuchsentspricht.SiebesitzenfernerdieMo¨glichkeit,Sitzungenineinem
internenFormat(Mathematica:Notebooks.nb;Maple:Worksheets.mwsund.mw;
MuPAD:Notebooks.mnbund.mn)abzuspeichern.
Die in einem derartigen Notebook oder Worksheet abgespeicherten Befehle ko¨nnen
jederzeit erneut vom System berechnetwerden, was eine Vorfu¨hrung durch den Do-
zentenermo¨glicht.Ichhabe dieComputeralgebra-Sitzungen inmeinenVeranstaltun-
genmitLaptopundBeamervorgefu¨hrtunddieRechenergebnissejeweilswa¨hrendder
Vorlesung erzeugt. Dies gibt den Studenten die Mo¨glichkeit, die Algorithmen direkt
nachzuvollziehen,undesko¨nnenauchimmersofortweitereBeispielebetrachtetwer-
den,dievondenStudierendenvorgeschlagenwerden.Fernerko¨nnendieAlgorithmen
imSinneexperimentellerMathematikohneUmwegzumTestenbenutztwerden.
Aus diesem Grund war mir auch wichtig, die Algorithmen nicht – wie in vielen an-
derenBu¨chernzumThema–inPseudocodedarzustellen,sondernalslauffa¨higePro-
gramme.ImRahmendiesesBuchsbzw.derimInternetverfu¨gbarenMaple-undMu-
PAD-QuellenliegenallebetrachtetenAlgorithmenindendreiSystemenMathematica,
MapleundMuPADvor.Ichdenke,daßdiesfu¨rvieleLesernu¨tzlichseindu¨rfte.Was
denU¨bungsbetriebbetrifft:MitallendreiSystemenko¨nnendieStudentensehreinfach
ihrebearbeitetenU¨bungsbla¨tteralsNotebooksoderWorksheetsdigitalzumKorrigie-
reneinreichen,undderU¨bungsleiterkanndieseDateiendannkorrigiertzuru¨ckgeben.
Als Sprecher der Fachgruppe Computeralgebra habe ich einige Tagungen zum The-
maComputeralgebrainLehre,AusbildungundWeiterbildungorganisiert.Aufdiesen
Tagungen bin ich des o¨fteren von Gymnasiallehrern nach Literatur zu den Algorith-
menderComputeralgebragefragtworden.MitdiesemBuchliegtauchfu¨rdiesenLe-
serkreis eine leicht versta¨ndliche Beschreibung der algorithmischen Grundlagen von
Computeralgebrasystemen vor. Bislang gibt es – bis auf das ku¨rzlich ebenfalls beim
1IchhalteMathematicafu¨rdieLehreambestengeeignet,denndieOberfla¨cheistausge-
reifter als die der Konkurrenz, sie ist schneller, leichter zu bedienen und hat mehr Einga-
bemo¨glichkeiten. Fu¨rdieForschungallerdingsistMathematicanursehrbegrenztgeeignet,
dasichErgebnisseinderRegelnichtverifizierenlassen,dennMathematicaverfu¨gtu¨berkei-
neMo¨glichkeit, denRechenablauf unddieverwendeten Algorithmenzuhinterfragen.Hier
habenMapleundMuPADdeutlicheVorteile.
VIII Vorwort
Springer-VerlagerschieneneBuchvonMichaelKaplan[Kap2004],welchesallerdings
ho¨here Algebrakenntnisse voraussetzt –keine derartigeQuelle indeutscher Sprache.
DadasBuchelementargehaltenist,istesauchalsNachschlagewerku¨berAlgorithmen
derComputeralgebragutgeeignet,dennesbesitzteinensehrausfu¨hrlichenIndex.
Als Grundlage fu¨r die ersten 9 Kapitel des vorliegenden Buchs konnte ich auf die
englischsprachigenBu¨cher[Chi2000],[GCL1992]und[GG1999]zuru¨ckgreifen.Das
BuchvonLindsayChildsentstandbereits1979undwarsichereinesdererstenBu¨cher
u¨berAlgorithmenderComputeralgebra,obwohldiesderTitelAConcreteIntroduction
toHigherAlgebranichtunbedingtsuggeriert.EbenfallseinesehrwertvolleQuelleist
dasBuchvonGeddes,CzaporundLabahnausdemJahr1992,dasimwesentlichenei-
nesehrausfu¨hrlicheundgutlesbareBeschreibungderFa¨higkeitenvonMapledarstellt.
Schließlicherschien1999dasBuchderbeidenAutorenvonzurGathenundGerhard,
dasmandurchausalsComputeralgebra-Bibelbezeichnenkann.AufgrundseinerFu¨lle
und seiner ho¨heren Algebra-Voraussetzungen scheint dieses Buch als Grundlage fu¨r
eineeinfu¨hrendeVorlesungallerdingsnichtdirektgeeignetzusein.
DasvorliegendeBuchwa¨renichtentstandenohnedieHilfezahlreicherKollegen,Mit-
arbeiterundStudenten,diemirmitRatundTatzurSeitestanden,denTextanetlichen
StellenabrundenundvielegroßeundkleineFehlerderErstfassungkorrigierenhalfen.
Ganz besonders bedanken mo¨che ich mich bei meinem langja¨hrigen Forschungskol-
legenDr.DieterSchmersau,mitdemichunza¨hligeGespra¨cheu¨berdasgesamteMa-
terial gefu¨hrt habe sowie bei Dr.Reinhard Oldenburg, der ebenfalls sehr ausfu¨hrlich
Korrektur gelesen hat. Schließlich geht mein Dank an meine Mitarbeiter, Studenten
und Freunde Imran Hafeez, Peter Horn, Detlef Mu¨ller, Torsten Sprenger und Jonas
Wolf.JederderGenanntenhatmirwertvolle Hinweise zumTextgegebenundjedem
Einzelnenistzuverdanken,dieAnzahlschlechtversta¨ndlicherTextteile,Druckfehler
etc.deutlichvermindernzuhelfen.EinebesondersunangenehmeFehlerquellewardie
mehrfacheAnpassungdesTextesaufneueMathematica-VersionenimLaufederJahre.
Ichhoffeundbineinigermaßenzuversichtlich,daßdasnunvero¨ffentlichteBuchkei-
nesinnentstellenden Fehlermehrentha¨lt.Ichkannallerdingsselbstversta¨ndlich nicht
dafu¨rgarantieren,obsichneueVersionenvonMathematica–bzw.indenausgearbei-
tetenSitzungenMapleundMuPAD–wiebeschriebenverhaltenwerden.
EinherzlicherDankgehtauchandieUniversita¨tKasselfu¨rdieGenehmigungzweier
Forschungssemester im Zeitraum desEntstehens dieses Buchs,ohne die eine Fertig-
stellungnichtmo¨glichgewesenwa¨re.EbenfallsbedankeichmichbeimKonrad-Zuse-
Zentrum Berlin fu¨r die Mo¨glichkeit, dort in den letzten 5 Jahren an meinem Buch
arbeitenzuko¨nnen.Schließlichmo¨chteichmichbeimSpringer-Verlagbedanken,der
meinProjektvonAnfanganbegleitetundunterstu¨tzthat.
Kassel,20.November2005 WolframKoepf
Inhaltsverzeichnis
1 Einfu¨hrungindieComputeralgebra
1.1 Wasko¨nnenComputeralgebrasysteme?................. 3
1.2 Erga¨nzendeBemerkungen.................................. 21
1.3 U¨bungsaufgaben............................................... 22
2 ProgrammiereninComputeralgebrasystemen
2.1 InterneDarstellungvonAusdru¨cken ...................... 27
2.2 Mustererkennung............................................... 28
2.3 Kontrollstrukturen .............................................. 30
2.4 RekursionundIteration....................................... 32
2.5 Rememberprogrammierung................................. 36
2.6 Divide-and-Conquer-Programmierung.................... 39
2.7 ProgrammierungdurchMustererkennung............... 40
2.8 Erga¨nzendeBemerkungen.................................. 43
2.9 U¨bungsaufgaben............................................... 43
3 ZahlsystemeundGanzzahlarithmetik
3.1 Zahlsysteme..................................................... 51
3.2 Langzahlarithmetik:AdditionundMultiplikation........ 53
3.3 Langzahlarithmetik:DivisionmitRest..................... 64
3.4 DererweiterteEuklidischeAlgorithmus.................. 68
3.5 EindeutigeFaktorzerlegung................................. 73
3.6 RationaleArithmetik........................................... 79
3.7 Erga¨nzendeBemerkungen.................................. 80
3.8 U¨bungsaufgaben............................................... 80
4 ModulareArithmetik
4.1 Restklassenringe............................................... 87
X Inhaltsverzeichnis
4.2 ModulareQuadratwurzeln ................................... 93
4.3 ChinesischerRestsatz........................................ 96
4.4 DerkleineSatzvonFermat.................................. 99
4.5 ModulareLogarithmen........................................ 104
4.6 Pseudoprimzahlen............................................. 107
4.7 Erga¨nzendeBemerkungen.................................. 116
4.8 U¨bungsaufgaben............................................... 116
5 CodierungstheorieundKryptographie
5.1 GrundbegriffederCodierungstheorie..................... 121
5.2 Pra¨fixcodes...................................................... 124
5.3 Pru¨fzeichenverfahren.......................................... 130
5.4 FehlerkorrigierendeCodes .................................. 131
5.5 AsymmetrischeVerschlu¨sselungsverfahren............. 136
5.6 Erga¨nzendeBemerkungen.................................. 146
5.7 U¨bungsaufgaben............................................... 146
6 Polynomarithmetik:RechnenmitPolynomenund
rationalenFunktionen
6.1 Polynomringe.................................................... 153
6.2 Multiplikation:DerKaratsuba-Algorithmus............... 159
6.3 SchnelleMultiplikationmitFFT............................. 162
6.4 DivisionmitRest................................................ 173
6.5 Polynominterpolation.......................................... 178
6.6 DererweiterteEuklidischeAlgorithmus.................. 181
6.7 EindeutigeFaktorzerlegung................................. 185
6.8 QuadratfreieFaktorisierung ................................. 192
6.9 RationaleFunktionen.......................................... 197
6.10 Erga¨nzendeBemerkungen.................................. 199