Пояснение\указание

Mar 28, 2018 12:02

к менее типичной задачеОчевидно, я недостаточно внятно сформулировал задачу, в результате ряд уважаемых читателей решили, что основная проблема - это оценка остатка и увлеченно принялись эту оценку искать. Сам по себе, поиск такой оценки  - дело интересное, но в рамках исходной задачи не самое важное ( Read more... )

математика, численные методы, задачка, программирование

Leave a comment

Comments 3

son_0f_morning March 28 2018, 10:09:19 UTC
Интересно, что решение "в лоб":

11 раз складываем:
- 100 000 членов последовательности
- 100 000 членов ряда эйлера
- берём остаточный член от ряда эйлена

Даёт скорость 30 миллисекунд.

Вариант увеличить скорость в 10 раз (без привлечения SIMD их в плавучке у нас вроде нету?) или аналитики) реальный:
- вдвое за счёт 1-кратного подсчёта ряда эйлера
- ещё в 1.5 раза за счёт того, что все 11 рядов считаем одновременно -- получим более плотное использование FPU в коде.
- ещё в 3 раза -- за счёт сокращения кол-ва суммируемых членов ряда и работы с "ожидаемой" погрешностью

Но тут мы получим точность "впритык" к 10^-10.
А как получить (при той же скорости) на 4 порядка больше -- не представляю.
Надо аналитически исследовать ряд, интересно что вы сделали.

Reply

ahiin March 28 2018, 11:00:44 UTC
Да, это полное время.
Чтоб вам окончательно отринуть решение "в лоб". Персонально для себя считайте погрешность 1e-12 (-13, -14). Суть не меняется совершенно, запаса по времени хватает с избытком.

Reply


Для замеров точности son_0f_morning March 28 2018, 18:02:45 UTC
Решил измерить как хорошо себя ведёт решение на Си -- т.е.его примерная точность (от числа элементов). Для этого посчитал задачку поточнее, если кому надо выкладываю более точные результаты тут ( ... )

Reply


Leave a comment

Up