In der Halbleitersimulation ist es üblich, dass die Gleichungen so skaliert werden, dass sie normalisierte Werte haben. Beispielsweise kann in extremen Fällen die Elektronendichte in Halbleitern über eine Größenordnung von 18 variieren, und das elektrische Feld kann sich über eine Größenordnung von 6 (oder mehr) formschön ändern.
Die Zeitungen geben jedoch nie wirklich einen Grund dafür an. Persönlich beschäftige ich mich gerne mit Gleichungen in reellen Einheiten, gibt es dafür einen numerischen Vorteil, ist das sonst unmöglich? Ich dachte mit doppelter Genauigkeit, es gäbe genug Ziffern, um mit diesen Schwankungen fertig zu werden.
Beide Antworten sind sehr nützlich, vielen Dank!
pde
condition-number
scaling
Boyfarrell
quelle
quelle
Antworten:
Das Lösen einer (linearen) PDE besteht darin, die Gleichung zu diskretisieren, um ein lineares System zu erhalten, das dann von einem linearen Löser gelöst wird, dessen Konvergenz (Rate) von der Bedingungsnummer der Matrix abhängt. Durch Skalieren der Variablen wird diese Bedingungszahl häufig verringert, wodurch die Konvergenz verbessert wird. (Dies läuft im Wesentlichen auf die Anwendung eines diagonalen Vorkonditionierers hinaus, siehe Nicholas Highams Genauigkeit und Stabilität numerischer Algorithmen .)
Das Lösen nichtlinearer PDEs erfordert außerdem eine Methode zum Lösen nichtlinearer Gleichungen, beispielsweise die Newton-Methode, bei der die Skalierung auch die Konvergenz beeinflussen kann.
Da das Normalisieren normalerweise nur sehr wenig Aufwand erfordert, ist es fast immer eine gute Idee.
quelle
Das heißt, es gibt keine Skalierung von Variablen oder Domänen, die diese Schwierigkeit beseitigt.
Ein vernünftiger Grund für die Skalierung physikalischer Größen besteht darin, die tatsächliche Gleichung so einfach wie möglich zu halten, dh so wenig Parameter wie möglich (mit denen Sie herumspielen müssten). Anstatt zum Beispiel nach der Lösung suchenuα
quelle
Der Umgang mit Fließkommazahlen kann sowohl in Bezug auf die Subtraktion kleiner Zahlen von größeren Zahlen als auch in Bezug auf viele andere Aspekte ein Trick sein. Ich würde empfehlen, John D. Cooks Blog-Posts darüber zu lesen, wie z
Anatomie einer Gleitkommazahl
sowie Oracle
Was jeder Informatiker über Gleitkommaarithematik wissen sollte
Auch bestimmte numerische Algorithmen zur Minimierung oder Maximierung erfordern eine Normalisierung für die numerische Stabilität.
quelle