Kennt jemand eine irrationale Zahlendarstellung Typ / Objekt / Klasse / was auch immer in any Programmiersprache?
Alle Vorschläge sind willkommen.
Einfach gesagt, wenn ich zwei irrationale Objekte habe, die beide die Quadratwurzel von fünf repräsentieren, und ich diese Objekte multipliziere, möchte ich die ganze Zahl fünf zurückbekommen, nicht die 4-Punkt-Loose o '9s.
Genauer gesagt, muss die Repräsentation in der Lage sein, Begriffe zu erfassen, und nicht jedes Mal auf ein Integer / Float auflösen. Zum Beispiel, wenn ich die Quadratwurzel von fünf zu eins hinzufügen möchte, möchte ich nicht, dass es eine Näherung integer / float zurückgibt, ich möchte, dass es ein Objekt zurückgibt, das ich mit einem anderen irrationalen Objekt addieren / multiplizieren kann, so dass Ich kann dem Objekt sagen, dass es so spät wie möglich aufzulösen ist, um den Float-Näherungsfehler zu minimieren.
Vielen Dank!
Was Sie suchen, heißt symbolische Mathematik. Vielleicht möchten Sie ein Computeralgebrasystem wie Maxima, Maple oder Mathematica ausprobieren. Zu diesem Zweck gibt es auch Bibliotheken, zum Beispiel die SymPy -Bibliothek für Python.
Sie könnten versuchen sympy zu verwenden, da Sie scheinbar nach einer symbolischen Berechnung sind und Python verwenden können.
>Es sieht so aus, als ob der bereits erwähnte SymPy der geeignetste Weg wäre - so wie Sie das tun könnten, was Sie tun benötigen und erfordern nicht, dass Ihre Software in einer spezifischen Zwecksprache geschrieben wird, wie von den erwähnten mathematischen Produkten.
Wenn Sie andererseits keine weiteren Abhängigkeiten einführen wollen und Ihre irrationalen Fälle auf Multiplikationen von Quadratwurzeln beschränkt sind, ist es in Python eine einfache Aufgabe:
%Vor%Beispiel:
%Vor%Sie können es weiter verfolgen und andere Operationen und Fälle einschließen. Aber für kompetitive Ausdrücke würden Sie schnell erkennen, dass Sie sowieso symbolische Mathematik verwenden müssen.
Ich erinnere mich, dass MathMorph in Smalltalk eine Darstellung für AlgebraischeNummern (die Radikale enthält) als Wurzel eines Polynoms einer einzelnen Variablen mit ganzzahligen Koeffizienten enthält, die in einem bestimmten Intervall liegen.
Sie finden interessante Anwendungen von Sturms Theorem Ссылка
Du musst ein bisschen googeln und in alten Archiven graben, MathMorph ist ein altes Projekt ...