W symulacji półprzewodników często równania są skalowane, aby miały znormalizowane wartości. Na przykład w skrajnych przypadkach gęstość elektronów w półprzewodnikach może zmieniać się o ponad 18 rzędów wielkości, a pole elektryczne może zmieniać się kształtnie, o ponad 6 (lub więcej) rzędów wielkości.
Jednak dokumenty tak naprawdę nigdy nie dają powodu, aby to zrobić. Osobiście cieszę się z równań w jednostkach rzeczywistych, czy jest to jakaś przewaga liczbowa, czy inaczej jest to niemożliwe? Pomyślałem, że z podwójną precyzją będzie wystarczająco dużo cyfr, aby poradzić sobie z tymi wahaniami.
Obie odpowiedzi są bardzo przydatne, bardzo dziękuję!
pde
condition-number
scaling
boyfarrell
źródło
źródło
Odpowiedzi:
Rozwiązanie (liniowego) PDE polega na dyskretyzacji równania w celu uzyskania układu liniowego, który jest następnie rozwiązywany przez liniowy solver, którego zbieżność (szybkość) zależy od liczby warunków macierzy. Skalowanie zmiennych często zmniejsza tę liczbę warunków, poprawiając w ten sposób zbieżność. (Zasadniczo sprowadza się to do zastosowania diagonalnego warunku wstępnego, patrz Dokładność i stabilność algorytmów numerycznych Nicholasa Highama .)
Rozwiązanie nieliniowych PDE wymaga ponadto metody rozwiązywania równań nieliniowych, takiej jak metoda Newtona, w której skalowanie może również wpływać na zbieżność.
Ponieważ normalizacja wszystkiego zwykle zajmuje bardzo mało wysiłku, prawie zawsze jest to dobry pomysł.
źródło
To powiedziawszy, nie ma skalowania zmiennych lub domen, które usuwa tę trudność.
źródło
Radzenie sobie z liczbami zmiennoprzecinkowymi może być trudne w odniesieniu do odejmowania małych liczb od większych liczb, a także w wielu innych aspektach. Polecam przeczytanie na nich postów na blogu Johna D. Cooksa, takich jak
Anatomia liczby zmiennoprzecinkowej
a także Oracle
Co każdy informatyk powinien wiedzieć o arytematyce zmiennoprzecinkowej
Również niektóre algorytmy numeryczne do minimalizacji lub maksymalizacji wymagają normalizacji dla stabilności numerycznej.
źródło