Wie testet man eine Ableitung?

Gegen einen Differenzenquotienten, an mehreren Stellen, für jeden Ausdruck der Testsuite.

Eine Ableitungs-Engine testen

Ein symbolisches Ergebnis lässt sich schlecht mit einem anderen symbolischen Ergebnis vergleichen: Zwei richtige Ergebnisse können völlig verschieden aussehen, und um sie zu vergleichen, bräuchte man ein zweites Algebrasystem, das über Gleichheit entscheidet.

Stattdessen numerisch vergleichen

Die Testsuite leitet einen Ausdruck symbolisch ab und wertet dann an fünf Stellen sowohl das Ergebnis als auch einen zentralen Differenzenquotienten der Ausgangsfunktion aus. Stimmen beide an jeder Stelle im Rahmen der Toleranz überein, ist das symbolische Ergebnis so gut wie sicher richtig. Fünfundfünfzig Ausdrücke laufen bei jeder Änderung auf diese Weise durch.

Auch die Erklärungen werden geprüft

Die durchgerechneten Beispiele auf den Regelseiten werden genauso geprüft. Jedes Beispiel gibt ein Ergebnis in Rechner-Schreibweise an; der Test liest es ein, leitet die Ausgangsfunktion mit der Engine ab und vergleicht beides numerisch. Neunzig Beispiele, geprüft bei jedem Build.

Was dabei nicht auffällt

Numerische Übereinstimmung sagt nichts über die Schritte – eine Engine könnte mit der falschen Regel beim richtigen Ergebnis landen. Die Schritte werden durch Lesen geprüft, und das ist ein weiterer Grund, warum der Rechenweg lesbar sein muss.

Zurück zum Blog Zurück zum Rechner