Чи важливим є масштабування змінних при вирішенні деяких проблем PDE чисельно?


15

У напівпровідниковому моделюванні прийнято масштабувати рівняння, щоб вони мали нормалізовані значення. Наприклад, в крайніх випадках щільність електронів у напівпровідниках може змінюватися понад 18 порядкових величин, і електричне поле може змінюватися формально, понад 6 (або більше) порядків.

Однак документи справді ніколи не дають приводу для цього. Особисто я щасливий, що маю справу з рівняннями в реальних одиницях, чи є яка-небудь чисельна перевага для цього, чи не можливо інакше? Я думав, що з подвійною точністю буде достатньо цифр, щоб впоратися з цими коливаннями.


Обидві відповіді дуже корисні, дуже дякую!


1
"може змінюватись на 18 порядків" - і якщо врахувати, скільки цифр зберігається в подвійній точності, ви побачите, чи "з подвійною точністю вистачить цифр, щоб впоратися з цими коливаннями" справді правда ...
JM

1
І справжня проблема починається, коли ви вводите ці числа в числовий алгоритм: візьміть квадрат, і раптом у вас є 36 порядків різниці ...
Крістіан Класон

Відповіді:


9

Розв’язування (лінійного) PDE полягає в розрізненні рівняння для отримання лінійної системи, яка потім вирішується лінійним розв'язувачем, конвергенція (швидкість) якого залежить від номера умови матриці. Масштабування змінних часто зменшує це число умови, тим самим покращуючи конвергенцію. (Це в основному означає застосування діагонального попереднього передумови, див. Точність і стабільність чисельних алгоритмів Ніколаса Іггема .)

Додатково для розв'язання нелінійних PDE потрібен метод розв'язання нелінійних рівнянь, наприклад метод Ньютона, де масштабування також може впливати на конвергенцію.

Оскільки нормалізувати все зазвичай потрібно дуже мало зусиль, це майже завжди хороша ідея.


Я впевнений, що @ArnoldNeumaier має більше сказати на цю тему.
Крістіан Класон

Кількість умов матриць, які я використовую (немасштабні змінні), становить ~ 1,25 . Це здається розумним? Це розраховується за допомогою 2- нормового методу ( docs.scipy.org/doc/numpy/reference/generated/… ).
boyfarrell

κ2=1

1
@boyfarrell: Я регулярно працюю з номерами умов, що перевищують 10 ^ 7, з прийнятними результатами. Однак я б не прийняв число умов набагато вище 10 ^ 9.
jvriesem

9

-εΔу+у=0 на Ω,у=1 на Ω.

Однак, масштабування змінних чи доменів не усуває цю складність.

уα

-α2Δу=fα на αΩ
αу1
-Δу=f на Ω.
уα(х): =у1(х/α)αα

4
А решта параметрів повинні бути важливими для визначення якісної поведінки рішення - саме тому число Рейнольдса так важливо в динаміці рідини. Цей процес називається недименсіоналізацією .
Крістіан Класон

Звичайно, пошук таких еквівалентів параметрів по суті є проблемою пошуку груп симетрії PDE, проблема, яка в цілому є складною
Люршер

2

Робота з числами з плаваючою комою може бути хитрою щодо віднімання малих чисел від більших чисел, а також з багатьма іншими аспектами. Я б порекомендував прочитати на них повідомлення про блог Джона Д. Кукса, наприклад

Анатомія числа плаваючої точки

а також у Oracle

Що повинен знати кожен вчений-комп’ютер про арифметику з плаваючою комою

Також деякі числові алгоритми мінімізації або максимізації потребують нормалізації для стабільності числення.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.