The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Выпуск языка программирования Rust 1.46"
Отправлено Ordu, 28-Авг-20 15:20 
>> Ошибка накапливается, и поэтому часто расчёты проводятся с заведомо большей точностью, чем требуется от конечного результата.
> Вот к чёрту теоремы о сходимости, да?

Теоремы о сходимости чего? Даже если ты возьмёшь заросшую мхом проблему трёх тел, даже там есть элементы хаотического поведения, когда небольшие флуктуации вырастают в большую разницу. Не, ну ты прикинь, вот есть у тебя реккурентное соотношение (x[n+1], x'[n+1]) = F(x[n], x'[n]). Ты берёшь и считаешь 100k шагов, чтобы промоделировать поведение тел в Солнечной системе на 10 лет вперёд. И чё? Что и куда у тебя будет сходится? Твоя реккурентная формула будет чем дальше, тем больше расходится с дифурой.

> В подобных расчётах смотрят не
> на эволюцию, а ищут стационарное решение.

Естественно. Никому не интересно предсказывать движение тел СС, всем интересны исключительно стабильные орбиты. Кстати, гравитационные дифуры тоже отличаются тем, что там иногда мелкие изменения приводят к большим последствиям. И это ты не решишь никак без увеличения точности расчётов.

> Можно уменьшить шаг по времени
> и удовлетворить тем самым условия сходимости. Можно увеличить дискретность эйлеровской
> сетки. Считать будешь дольше, зато на меньших ресурсах, и придёшь к
> тому же результату.

Хехе. Чем меньше шаг, тем больше шагов. То есть, если бы ты считал, оперируя вещественными числами, то точность у тебя бы расла несомненно. Но поскольку на каждом шаге, после каждой арифметической операции, ты округляешь результат, то количество округлений растёт, а значит растёт и погрешность. То есть тут всё неоднозначно. Даже если при окрулениях у тебя не будет систематического bias'а, и ошибка будет случайной, то вообще-то случайные брождения, если мне память не изменяет, сдвигают на расстояние l*sqrt(n), где l -- это длина одного случайного шага, а n -- количество таких шагов. В многомерных случаях будет сложнее, но ты сам можешь посмотреть.

>> В научных расчётах _иногда_ оперируют точностью до порядка.
> Такие расчёты проводятся весьма часто.

Ты пытаешься доказать мне, что эти расчёты надо проводить в f16? Где диапазон +-65k? Где 5 бит под показатель степени двойки? Не, если всё прологарифмировать заранее, перейти в логарифмическую шкалу и заменить умножения сложениями, так чтобы f16 представлял бы собой тот самый порядок, с точностью до которого мы считаем, то может и ничего так, покатит. Но не проще ли взять f64, посчитать как есть и прологарифмировать после?

Или ты знаешь примеры, где эти расчёты с точностью до порядка нагружали систему так, что имело смысл подбирать специальное железо со специальными какими-то типами данных? Расскажи о них, всем будет интересно и познавательно.

Да вообще, выкинь всё вышенаписанное и расскажи мне о тех научных вычислениях, которые ты проводил в f16.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру