STSOFT 30 мая, 2014 ID: 276 Поделиться 30 мая, 2014 приходится иметь дело с вычислениями ограниченной точности Меня интересуют вычисления с регулируемой точностью. Число пи вычислять я бы не стал, а взял бы его уже посчитанным. Реальное число знаков для прецизионных вычислений - 33 - 100. Полиномы - штука хорошая, если знаешь точность аппроксимации. Предложите полином для exp(x) для 100 знаков в мантиссе. Имя Цитата Ссылка на комментарий https://forumkinopoisk.ru/topic/41116-yazyki-programmirovaniya/page/12/#findComment-4146735 Поделиться на другие сайты Поделиться
Scud-IIEPBblu 30 мая, 2014 ID: 277 Поделиться 30 мая, 2014 Меня интересуют вычисления с регулируемой точностью. Вон оно что... А я всё не мог взять в толк, к чему Вы клоните. Регулируемая, значит? И не на готовом чипе собственного производства, а только на его компьютерной модели. Понятно... М-м-м, хотелось бы только уточнить: 33-100 - это в битах? Или в десятичных цифрах? Но в любом случае, я Ваши трудности понял и проникся. Да, действительно, для тех функций, для которых известны эффективные полиноминальные приближения, произвол в разрядности... ну, практически фатален, что ли. Разве что научить комп, чтоб он сам шарил в математике. Сам, то есть, придумывал оптимальные решения . Ага, та ещё задачка... А насчёт экспоненты - это Вы шутить изволите? Да? Сами ж прекрасно знаете, что лучше чем: sigma(x^n/n!) n=[0, oo[ - ничего придумать принципиально невозможно. А, да Вы ж сами об этом где-то выше и упоминали уже. Не так ли? Вот. А я разве обещал чудо сотворить? Простите, не припоминаю что-то Ой, я ведь тоже что-то такое ляпнул уже на эту тему. М-м-м... Ну да, точно, про Стирлинга. Быстрое вычисление факториала. Как оно там?.. Дай бог памяти... n! = n^n * e^(-n) * sqrt(2пn) с точностью, не хуже n^(-2) ...ну, то есть годится только для достаточно больших n. А Вам ведь, собственно говоря, большие и нужны, да? А нет, наврал, наврал. На самом деле эта формула не для факториала, а для гамма-функции. Г(x+1) = x^x * e^(-x) * sqrt(2пx) - так вроде бы. (Черт, как же давно всё это было!!!.....) Но поскольку для целых положительных x: Г(x+1) = x! - то это, типа, одно и то же. Ну, если п и e уже однажды вычислены... Впрочем, Вы мне на слово-то не особо верьте, загляните обязательно в справочник сами. А то, знаете, с моим склерозом... Имя Цитата Ссылка на комментарий https://forumkinopoisk.ru/topic/41116-yazyki-programmirovaniya/page/12/#findComment-4146748 Поделиться на другие сайты Поделиться
STSOFT 30 мая, 2014 ID: 278 Поделиться 30 мая, 2014 33-100 - размер мантиссы в десятичных цифрах. Почему именно такие пределы? 33 - обеспечивается стандартной 128-битной арифметикой с плавающей точкой и доступны в режиме Host On Demand в сети IBM и кое-где еще. 100 - ну, скажем так, опытные данные, взяты из выч. экспериментов с матрицей Гильберта, из решения жестких СОДУ и т.п. В принципе, конечно, надо бы упомянуть и "реальную" размерность некоторых крупноблочных систем с глобальными итерациями - она как бы не столь уж огромная. Моделирование сложных хим.-техн. процессов на уровне цеха - это порядка 25 расчетных модулей уровня ленточных СНУ сравнительно большой размерности. Чем размерность хорошо структурированной задачи больше, тем большее число знаков в мантиссе требуется для гарантированного решения (с заданной точностью). СЛАУ с матрицей Гильберта - каноничный пример, когда размерность требует увеличения размера мантиссы. Большинство пакетов для прецизионных расчетов имеют довольно слабую функциональную проработку - наличие в мат. модели exp, log и пр. взвинчивает время счета. Если ВСЕ считать, например, со 100 дес. знаками в мантиссе и ориентироваться на распределенное или облачное решение на базе "обычных" персоналок в сети, надо еще подумать - может быть некоторые функционально "неприятные" кусочки мат. модели просчитывать с меньшей точностью... Имя Цитата Ссылка на комментарий https://forumkinopoisk.ru/topic/41116-yazyki-programmirovaniya/page/12/#findComment-4146756 Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.