Grote fout ontdekt in wiskundige soft ware
Door Alex van den Brandhof
A M ST E R DA M . Drie Spaanse wiskundi- gen hebben Mathematica betrapt op fouten. Mathematica is een software- pakket voor symbolische algebra, dat veel wordt gebruikt door wetenschap- pers en ingenieurs. In Notices of the American Mathematical Society van deze maand leggen Antonio Durán, Mario Pérez en Juan Varona uit hoe ze hun pijnlijke ontdekking deden.
Ze lieten Mathematica de zogeheten
‘de te r m i n a n t ’ van een matrix, een soort tabel gevuld met getallen, bere- kenen. Die getallen waren groot – ro n d de 10.000 cijfers – maar wel geheel.
Daarmee werd een foute uitkomst als gevolg van afronding van decimalen in elk geval uitgesloten. De wiskundigen wisten op theoretische gronden dat het antwoord een positief getal moest zijn, maar Mathematica gaf een nega- tief resultaat. En nog dubieuzer: bij herhaald uitvoeren van dezelfde op- dracht gaf de computer verschillende ant woorden.
De bug kwam een jaar geleden aan het licht. Wolfram Research, de ont- wikkelaar van Mathematica, gaf de bug toe, maar in de nieuwe versie die afgelopen zomer op de markt kwam, is het probleem niet verholpen.
Vrijwel geen enkele software is 100 procent vrij van bugs. Het was al eer- der bekend dat ook Mathematica hier- op geen uitzondering vormt. Maar dat de determinantberekening mis gaat, geldt als schokkend in de wereld van de wiskunde. Er wordt alleen gebruik- gemaakt van gehele getallen en van elementaire bewerkingen als optellen en vermenigvuldigen. Die berekenin- gen zouden een routineklus moeten zijn en de gebruiker zou er blind op moeten kunnen vertrouwen dat de re- sultaten kloppen.
De vondst is niet alleen slecht nieuws in toegepaste wetenschappen.
Steeds vaker wordt de computer inge- zet bij bewijzen van wiskundige stel- lingen. Al in 1976 gaven de Amerika- nen Kenneth Appel en Wolfgang Ha- ken een bewijs dat voor een groot deel leunt op computerrekenwerk, dat on- mogelijk door mensen volledig kon worden geverifieerd. Overigens kan ook een fout in een menselijke bereke- ning over het hoofd worden gezien.