Frage

Hat beliebige Genauigkeit arithmetische betroffen numerische Analyse-Software ?

Ich glaube, dass die meist numerische Analyse-Software hält den gleichen floats und doubles zur Verwendung.

Wenn ich Recht habe, würde ich gerne den Grund wissen, wie meiner Meinung nach gibt es einige Berechnungen, die sich aus der Verwendung beliebiger Genauigkeit arithmetische profitieren können, insbesondere dann, wenn es bei der Verwendung von rationalen Zahlendarstellung kombiniert wird , wie auf der GNU Multi-Precision-Bibliothek geschehen ist.

Wenn ich falsch bin, würden Beispiele schön.

War es hilfreich?

Lösung

beliebige Genauigkeit ist langsam. Sehr langsam. Und sobald Sie eine Funktion verwenden, die einen irrationalen Wert (wie die meisten trigonometrischen Funktionen) produziert, verlieren Sie Ihren beliebiger Genauigkeit Vorteil.

Also, wenn Sie nicht brauchen, oder nicht, dass die Präzision verwenden, warum verbringen alle, dass die CPU-Zeit auf sie?

Andere Tipps

  

Hat beliebiger Genauigkeit arithmetische   betroffene numerische Analyse-Software?   Ich glaube, dass die meisten numerische Analyse   Software hält über die Verwendung der gleichen   Schwimmern und Doppelzimmer.

Es gibt mehrere Gründe, die unglücklichen beliebige Genauigkeit (ap) nicht verwendet wird, ausgiebiger.

  • Der Mangel an Unterstützung für wichtige Merkmale: fehlende Werte für NaN / Infinities, keine komplexen Zahlen oder Sonderfunktionen, fehlende oder Buggy Umsetzung der Rundung Modi (rund Halb auch nicht in GMP umgesetzt), Mangel an Behandlungsroutinen für wichtig Ereignisse (Verlust von signifikanten Stellen, Überlauf, Unterlauf ... ok, das nicht einmal in den meisten Standardbibliotheken implementiert). Warum ist das wichtig ? Denn ohne dass Sie muss viel Energie investieren, um Ihr Problem in beliebiger Genauigkeit zu formulieren (je eine komplexe Zahl Bibliothek oder spezielle Funktionen in ap geschrieben?), Können Sie nicht Ihre Doppel Ergebnis reproduzieren, weil ap die Eigenschaften fehlt Sie brauchen die Änderungen zu verfolgen.

  • 99,9% aller Programmierer in Numerik überhaupt nicht interessiert ist. Einer der am häufigsten gestellten Frage ist: „Warum 0,1 + 0,1 NICHT 0,2 ???? HELP ist !!!“ Warum also sollten Programmierer investieren Zeit, um eine spezifische ap Implementierung und zu formulieren ihr Problem darin zu lernen? Wenn Ihr ap ergibt sich aus den Doppel Ergebnisse abweichen, und Sie haben keine Kenntnis von Numerik, wie finden Sie den Fehler? Ist mit doppelter Genauigkeit zu ungenau? Hat die ap-Bibliothek einen Fehler? WAS IST LOS ?! Wer weiß ....

  • Viele numerische Experten, die nicht wissen, wie man berechnen, die Verwendung von ap entmutigen. zu implementieren und Eingangsdaten hat fast immer nur wenige signifikante Stellen Frustated von den Hardware-Implementierungen von FP sie darauf bestehen, dass die Reproduzierbarkeit sowieso „unmöglich“ ist. So analysieren sie meist die Präzision Verlust und neu schreiben die kritischen Routinen es zu minimieren.

  • Benchmark Sucht. Wow, mein Computer ist schneller als andere. Wie die anderen Kommentatoren richtig bemerkt, ist ap viel langsamer als Floating-Point-Datentypen unterstützt Hardware, weil Sie es mit den Integer-Datentypen pro Hand programmieren müssen. Einer der bevorstehenden Gefahren dieser Haltung ist, dass die Programmierer, völlig unbeeindruckt von den Problemen, Lösungen wählen, die total beeindruckend Unsinn Zahlen ausspucken. Ich bin sehr vorsichtig über GPGPU. Sicher, die Grafikkarten sind viel, viel schneller als der Prozessor, aber der Grund dafür ist, weniger Präzision und Genauigkeit. Wenn Sie Schwimmer verwenden (32bit) statt Doppel (64bit), haben Sie viel weniger Bits zu berechnen und zu übertragen. Das menschliche Auge ist sehr fehlertolerant, so spielt es keine Rolle, ob ein oder zwei Ergebnisse tabu sind. Heck, als Hardware-Konstruktor können Sie ungenau verwenden, schlecht gerundet Berechnungen Ihre Berechnungen zu beschleunigen (die Grafiken wirklich ok ist). Werfen Sie die lästigen subnormaler Implementierung oder Rundungsmodi ab. Es gibt einen sehr guten Grund, warum Prozessoren sind nicht so schnell wie GPUs.

kann ich William Kahans Seite Link-Text für einige Informationen über die Probleme, empfehlen in Numerik.

Wolfram Research Institute stellte eine riesige Menge an Aufwand in beliebiger Genauigkeit Intervallarithmetik in den Kern von Mathematica auf pragmatische Weise bekommen und sie haben hervorragende Arbeit geleistet. Mathematica wird fast jede Berechnung beliebiger Genauigkeit transparent machen.

Wenn Sie Programme wie Mathematica aussehen, ich vermute stark, würden Sie feststellen, dass sie floats und doubles nicht für ihre Arbeit nutzen. Wenn Sie bei der Kryptographie betrachten, werden Sie auf jeden Fall feststellen, dass sie nicht verwenden floats und doubles (aber sie arbeiten hauptsächlich mit ganzen Zahlen sowieso).

Es ist im Grunde ein Urteil nennen. Die Leute, die das Gefühl, dass ihr Produkt von der erhöhten Genauigkeit und Präzision Einsatz profitieren erweiterter Genauigkeit oder beliebiger Genauigkeit arithmetische Software. Diejenigen, die nicht die Präzision denken benötigt wird es nicht verwendet werden.

beliebige Genauigkeit funktioniert nicht gut mit irrationalen Werten. Ich denke, dass alles klappt den Kopf numerische Analyse-Software helfen würde. Anstatt herauszufinden, wie das, was Präzision für die Berechnung benötigt wird, sollten Sie die Software sagen, was Sie die letzte Präzision wollen alles sein, und es werden herausfinden.

So ist es eine endliche Genauigkeit Typ gerade groß genug für die Berechnung verwendet werden können.

Es ist sehr selten, dass man eine genaue Antwort auf ein numerisches Problem benötigen - es ist fast immer der Fall, dass Sie das Ergebnis einer gegebenen Genauigkeit benötigen. Es ist auch der Fall, dass Operationen sind am effizientesten, wenn durch spezielle Hardware durchgeführt. Zusammengefasst bedeutet dies, dass es Druck auf Hardware-Implementierungen zur Verfügung zu stellen, die für die häufigsten Probleme, eine ausreichende Genauigkeit haben.

So wirtschaftlichen Druck hat eine effiziente (dh Hardware-Basis) Lösung für die häufigsten Fälle erstellt.

Das Papier von Dirk Laurie präsentiert eine warnende Geschichte über die Verwendung variabler Genauigkeit.

Obwohl es nicht direkt auf Ihre Frage im Zusammenhang könnten Sie auch das sehen wollen? Papier von l Trefethen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top