Een Korte Geschiedenis Van De Computeralgebra in Nederland NAW 5/11 Nr
Total Page:16
File Type:pdf, Size:1020Kb
1 1 Arjeh Cohen Een korte geschiedenis van de computeralgebra in Nederland NAW 5/11 nr. 2 juni 2010 111 Arjeh Cohen Faculteit Wiskunde en Informatica Technische Universiteit Eindhoven Postbus 513 5600 MB Eindhoven [email protected] Overzichtsartikel Een korte geschiedenis van de computeralgebra in Nederland Computeralgebra is het rekenen aan wiskundige expressies volgens algebraïsche regels. Deze Wolfram. Het werd in 1981 commercieel ver- tak van sport wordt sinds de jaren zestig beoefend en kent vele toepassingen, variërend van het spreid, en is feitelijk de voorloper van het automatisch primitiveren van reële functies tot het berekenen van het bereik van een robotarm. overbekende systeem Mathematica [21]. In dit artikel geeft Arjeh Cohen een persoonlijke impressie van wat zich de afgelopen decennia Minder bekend is misschien dat Jos Verma- op het gebied van de computeralgebra in Nederland heeft afgespeeld. seren (Nikhef, Amsterdam) een direct vervolg op Schoonschip gemaakt heeft: een program- De allereerste computers rekenden tot op ze- ook dit gerealiseerd. Zo is op verschillende ma dat uiterst efficiënt met veeltermen en in- kere hoogte exact: ze konden vrijwel uitslui- plaatsen in de wereld symbolisch rekenen tegralen om kan gaan. De motivatie lag voor tend overweg met gehele getallen die niet ontstaan. een groot deel in Feynmans diagramcalculus. boven een door de machine bepaalde groot- Het is bekend dat daarin evaluatie van de som te uitkwamen. Al gauw werden numerici de Veltman en Vermaseren van een stel bepaalde integralen over alle toe- grootste gebruikers en was het zwevende- De behoefte om exact te rekenen was al vroeg standen in een gegeven configuratie tot een komma-getal (floating-point number) het ob- gesignaleerd door fysici die allerlei exacte, zinvol resultaat leidt, terwijl evaluatie van in- ject waarmee het meest gerekend werd. Pas dat wil zeggen precies in wiskundige formules dividuele summanden in die som plus of min in de jaren zestig, toen er voldoende vertrou- gevatte, uitdrukkingen wilden manipuleren. oneindig kan opleveren. Die som kan echter wen ontstond in de groei van geheugens en Een prominent voorbeeld is de Nederlandse alleen met grote exacte rekenkracht bepaald de kracht van computers, kwam de exactheid Nobelprijswinnaar Martinus Veltman. Hij had worden. Het programma van Jos Vermaseren weer terug. Om te beginnen kwamen er pak- behoefte aan software om met veeltermen en heet FORM en wordt nog steeds (voornamelijk ketten uit waarin gehele getallen als objecten integralen te werken zonder op benaderin- door fysici) gebruikt om spectaculaire bereke- behandeld werden zoals wiskundigen dat ge- gen over te gaan. In 1963 begon hij aan zijn ningen uit te voeren. Zie bijvoorbeeld het arti- wend zijn: ofwel het geheugen van de machi- symbolische rekenprogramma Schoonschip, ne liep over, ofwel het getal werd fatsoenlijk vooral gedreven door berekeningen die no- behandeld, zonder afkappingen en zonder dig waren bij een neutrino-experiment. Vol- modulair rekenwerk. Het werd mogelijk om gens zijn eigen woorden leidde de benodig- te rekenen met gehele getallen zoals wij dat de algebra voor de vector-boson-productie tot zelf ook zouden doen als we onvermoeid kon- een frustrerende hoeveelheid rekenwerk die den blijven werken. Dan moest het ook moge- moeilijk foutloos te krijgen was. Zijn program- lijk zijn om andere wiskundige uitdrukkingen ma Schoonschip heeft model gestaan voor als veeltermen, integralen, differentiaalverge- Symbolic Manipulation Program, of kortweg lijkingen en logische formules te manipuleren SMP. Dat was een computer-algebrasysteem volgens bekende algebraïsche regels, zonder dat rond 1979 voornamelijk ontwikkeld werd toevlucht tot benaderingen. Inderdaad werd door de op Caltech werkende fysicus Stephen Martinus Veltman (l) en Jos Vermaseren 1 1 2 2 112 NAW 5/11 nr. 2 juni 2010 Een korte geschiedenis van de computeralgebra in Nederland Arjeh Cohen dat ook wel computerwiskunde gedoopt is en veel interessante software heeft opgeleverd. Maar het is niet het onderwerp van dit artikel, want dat richt zich op de eigenlijke computer- algebra. De eerste computeralgebra pakketten Aan het eind van de jaren zestig was er dus software voor exacte berekeningen in de fysi- ca; na Schoonschip kwam al snel het commer- ciële pakket REDUCE [30]. In de jaren zeventig verschenen er ook exacte pakketten voor zeer specifieke onderwerpen als groepentheorie. Op dat laatste gebied waren er twee concur- renten: GAP uit Aken (van Joachim Neubüser) en Cayley uit Sydney (van John Cannon). Dit soort software maakte het bijvoorbeeld mo- gelijk om een groep bestaande uit permuta- ties van een gegeven verzameling (in den be- ginne altijd weergegeven als {1, . , n} voor een niet al te grote n) door te rekenen. De groep zelf wordt hierbij vastgelegd door en- kele permutaties die de groep voortbrengen. Voorbeelden van vragen die dan redelijk ef- ficiënt (maar niet polynomiaal) beantwoord kunnen worden zijn: hoeveel elementen heeft de groep? En: geef een stel voortbrengers voor de ondergroep van alle elementen van de ge- geven groep die het element 1 behouden. Illustratie: Jack van Wijk GAP [8] bestaat, groeit en bloeit nog steeds Gebruik van groepentheorische computeralgebra voor het genereren van de gekleurde driehoeken in een uitvouwing van een Riemannoppervlak van geslacht 14. R14.3’ {7, 3}: orde 2184, 156 septagons, 546 takken, 346 knopen als gratis beschikbare software; Cayley is uit- gegroeid tot het zeer krachtige en zeer veel kel [31], waarin veel complexe invarianten van wiskunde omvattende, commerciële pakket Liegroepvoorstellingen worden uitgerekend. MAGMA [19]. We komen hier later op terug. Buchberger algoritme In de jaren tachtig kwamen algemene soft- Het Buchberger algoritme is in de ja- Intermezzo: Formele bewijsvoering warepakketten als Maple [20] en Mathema- ren tachtig sterk onder de aandacht ge- Soms wordt symbolisch rekenen op één tica op de markt. Eerst (1968–1982) was er komen. Dit komt doordat het algoritme hoop gegooid met computeralgebra, dan nog Macsyma, een experiment op MIT, waar- voor veel problemen met betrekking tot weer wordt computeralgebra gezien als een van een nazaat tegenwoordig gratis beschik- veeltermen een effectieve oplosmetho- deel maar niet het totaal van deze activi- baar is onder de naam Maxima [24]. Dit pak- de levert, en het op het juiste moment teiten. Enerzijds is het uitvoeren van ope- ket is gebaseerd op de programmeertaal Lisp. ter beschikking kwam voor de computer- raties op symbolen een definitie van alge- Maple en Mathematica daarentegen zijn ge- algebrapakketten in opkomst. bra, en ligt het dus voor de hand de wiskun- schreven in C. Oorspronkelijk was Maple min- Veel wiskundige problemen zijn te dig georiënteerde algoritmische handelingen der commercieel van opzet dan Mathematica. vertalen in zoektochten naar oplossingen als algebra te betitelen—zelfs als ze een vak Het kwam voort uit de symbolic computation van stelsels veeltermvergelijkingen. Het als analyse of statistiek betreffen. Anderzijds group in Waterloo die geleid werd door Keith Buchberger algoritme helpt exacte oplos- wordt een formeel beschreven stelling en/of Geddes en Gaston Gonnet. singen te vinden, onder andere door een bewijs niet vaak als computeralgebra gezien, In Nederland was de informaticus Hans systematische eliminatie van variabelen maar wel als invoer voor symbool-manipula- van Hulzen (UT) er vroeg bij. Hij hield zich mogelijk te maken. tie, wat als synoniem voor symbolisch reke- bezig met code-optimalisatie en was als een Hoewel de methode effectief is, loopt nen gebruikt wordt. van de eerste Nederlanders actief betrokken het Buchberger algoritme al gauw vast als De formele bewijsvoering en automatische bij ISSAC, de grote jaarlijkse conferentie op het aantal variabelen of de graad van de verificatie van een formeel bewijs heeft een het vakgebied. Hij droeg bij aan het pak- veeltermen groot wordt. grootse Nederlandse geschiedenis, die be- ket REDUCE, dat destijds redelijk wijd ver- De beste implementatie voor prak- gint met het Automath project van Dick de spreid was, maar in de commerciële strijd met tische problemen is van Faugère; zie Bruijn in Eindhoven en doorloopt tot werk van Maple, MATLAB [23] (een minder exact maar zijn website www-calfor.lip6.fr/˜jcf, waar Henk Barendregt en zijn groep in Nijmegen. veel gebruikt pakket) en Mathematica ten on- mooie voorbeelden staan. De geïnteresseerde lezer raadplege het arti- der is gegaan. REDUCE is tegenwoordig gratis kel [35] van Freek Wiedijk over dit onderwerp, verkrijgbaar. 2 2 3 3 Arjeh Cohen Een korte geschiedenis van de computeralgebra in Nederland NAW 5/11 nr. 2 juni 2010 113 Specialistische software en algoritmen den uit de kast gehaald en bewerkt tot metho- software. Het werd in de jaren tachtig ook erg In het kielzog van de opkomst van de al- den waarmee ofwel een gesloten formule voor aantrekkelijk om wiskundige software te ont- gemene computeralgebra-programma’s zijn een primitieve van een functie gevonden kan wikkelen. Twee belangrijke beweegredenen in de jaren tachtig en negentig twee exact- worden, ofwel vastgesteld kan worden dat waren het uitvoeren van experimenten waar wiskundige activiteiten te onderscheiden. er, binnen een gegeven klasse functies, geen de theorievorming stokt en het vullen van ga- Enerzijds de opkomst van meer specialisti- primitieve bestaat. De meeste primitiveerop- ten in bewijzen waarvan de basis van de in- sche software, anderzijds de aandacht voor drachten op het niveau van de eerste jaren in ductie niet