Die Befehlszeilenanwendung akzeptiert Polynomkoeffizienten und einen Präzisionsparameter, der die realen Nullen des Polynoms berechnet.
Die Anwendung wurde erstellt, um das Problem der Berechnung der realen Wurzeln eines gegebenen Polynoms in einer einzigartigen Weise zu lösen
Die Befehlszeilenanwendung akzeptiert Polynomkoeffizienten und einen Präzisionsparameter, der die realen Nullen des Polynoms berechnet.
Befehlszeile Java-Anwendung.
Das Konzept dieses Algorithmus beinhaltet die folgenden Schritte:
Allerdings gibt es einen Haken-22: Wir müssen zuerst die Nullen der abgeleiteten Funktion berechnen, um die Nullen des Polynoms selbst zu definieren!
Lösung: Wir wenden Rekursion an, bis wir ein Polynom erreichen, das eine einfache Berechnung seiner Nullen ermöglicht. Dieser Prozess kann wiederholt werden, bis wir eine affine Funktion ableiten.
Nachteile:
Für realistische Grade im wirklichen Leben gefunden, sollte es kein Problem sein
Der Algorithmus wurde ohne Annahme von Floating-Point-Daten entwickelt und verwendet stattdessen Java-Generika.
Die Anwendung unterstützt die Verwendung von Double oder BigDecimal, aber eine Float-Version könnte leicht implementiert werden
Es ist ein Beweis des Konzepts. Programmieren es für BigDecimal allein hätte genügt, aber mit Generika macht die Algorithmen kühler und illustrativer für Anfänger
Ich habe die Anwendung noch nicht ausgiebig getestet, und es besteht die Möglichkeit, dass sie fein abgestimmt werden könnte, um die Genauigkeit und Funktionalität in mehr Szenarien zu verbessern.
Ich denke, es kann effektiv angepasst werden, um in allen Szenarien zu arbeiten.
Polynomwurzeln (2023)
Herunterladen
Polynomische Wurzelrechner sind ein Grundnahrungsmittel im Bereich der Informatik-Karrieren.
Ich trage meine Version der Lösung zum Problem bei.
Es ist keine sehr effiziente Lösung, da die Rechenkomplexität im schlimmsten Fall O(G^2) ist, wo G den Polynomgrad darstellt.
Aber ich denke, dass es die Arbeit effektiv erledigt
Der Algorithmus basiert auf der Berechnung der Wurzeln eines Polynoms unter der Annahme, dass die Wurzeln seiner abgeleiteten Funktion bekannt sind.
Unter dieser Annahme ist es einfach, die Wurzeln zu berechnen, weil wir den Bereich Grenze der Wurzeln bestimmen können(Siehe:Eigenschaften der polynomen Wurzeln)
Auf diese Weise können wir den Bereich jeder potenziellen Wurzel bestimmen, indem wir die derivativen Funktionswurzeln verwenden, und wir können die Nullen berechnen, indem wir Bozens Satz anwenden.
Aber... wir brauchen die Funktion, um die Wurzeln der abgeleiteten Funktion zu berechnen!
Kein Problem. Wir verwenden Rekursion, um die Wurzeln eines Polynoms zu berechnen. Die rekursive Funktion hat einen Abbruchfall für das Szenario eines Polynoms von Grad Null (eine Konstante), von dem wir annehmen, dass sie keine Wurzeln hat.
Da die abgeleitete Funktion einen Grad unter dem ursprünglichen Polynom liegt, können wir mit Hilfe von Rekursion die Wurzeln eines Polynoms bei Null Grad berechnen, so dass es ein einfaches Problem zu lösen ist.
Diese Vorgehensweise kann Präzision in unseren Berechnungen erfordern, aber das ist kein Problem, wenn wir die Java BigDecimal Klasse verwenden.