Евристична перевірка чисельної стійкості


12

Припустимо, у мене є реальна цінна функція деяких змінних x i, яку я хочу оцінити чисельно. Загалом, формула f може містити продукти, раціонали, трансендентальні функції тощо, і доведеться довго аналізувати її чисельну стабільність. Або, принаймні, це займе багато часу, щоб це зробити на практиці. Припустимо, у мене немає коротшого еквівалента з стабільністю guaruanteed. Чи існує методичний порядок аналізу чисельної стійкості ff(x1,,xN)xiff. Я думаю порівняти це з результатами довільної точності, отриманими за допомогою комп'ютерної алгебри. Скажімо, функція буде реалізована в C, використовуючи функції stdlib та одинарну або подвійну точність. Які величини слід порівняти, щоб кількісно оцінити якість апроксимації при кінцевій точності? Як визначити критичні значення змінних? Як я можу вибрати оптимізатор і компілятор, щоб інші люди могли легко відтворити результати? ... Я знаю, що постановка проблеми, мабуть, загальна, щоб дати хороші відповіді. Але я все ще думаю, що це поширена проблема в інформатиці, і мені цікаво, чи є посилання, які пропонують стандарти для проведення такого аналізу.

Відповіді:


7

Що ви шукаєте, це те, що називається «Автоматичний аналіз помилок» і є предметом глави 26 книги Хіггема «Точність та стабільність чисельних алгоритмів», 2-е видання, видавництва SIAM.

Один з методів, який він описує, - це використання прямої оптимізації пошуку: спробуйте сформулювати свою проблему як оптимізаційну задачу та використовуйте алгоритм оптимізації для пошуку коефіцієнтів або значень параметрів, які максимально збільшують або мінімізують величину, пов’язану з точністю вашого алгоритму / формули. Він використовує приклад коефіцієнта росту в Гауссовій елімінації (яка матриця максимально збільшує цей коефіцієнт росту) або коріння кубічного (як я відповів в одному з ваших попередніх питань).

Я б запропонував вам отримати копію цієї книги, прочитати вступні глави та цю главу 26 та посилання на них.



0

|f(x+ε)f(x)|C|ε|
Cfx,ϵ

І що можна зробити, якщо функції сильно відрізняються від його домену або якщо немає доступної похідної похідної? Чи існують інші методи чи ми закінчимо підхід Монте-Карло?
Андре

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