depths писал(а):Задача, кстати хорошо параллелица. Можно попробовать, если кто-нибудь сможет написать.
Но не везде. SSE даст всего прирост в 4 раза. прув тут(в части Algorithm example 2 - N-particle dynamics):
http://sci.tuomastonteri.fi/programming/sse OpenCL разве что использовать.
depths писал(а):А можно так: раздать участникам диапазоны счёта, потом собрать результаты и сложить.
А можно не страдать хернёй, и сразу "пытать" точные аналитические выкладки.
depths писал(а):И почему все называют слои оболочками?
Так удобно. Тут слой трёхмерным "уголком". (такой нарост на кубе
)
Не плоский, поэтому не охото называть слоем.
depths писал(а):В погоне за расчетом по всей полу решетке, забыли про расчёт силы от отдельного слоя, затем можно поисследовать ряд от нескольких слоёв.
Ну так возьми зафиксируй k, и получишь один слой.
Из первого поста в этой теме по ссылке в первой части выкладок в самом конце есть такая формуа:
I = rho G 2 pi интергал -1 dx
Так вот из этого можно сделать оценку одного слоя сетки из тел сразу.
Надо только чуть чуть подумать, и понять какая неточность.
Из формулы сила оказываемая слоем на расстоянии R в точности равна rho G 2 pi ((R+w) - R) = rho G 2 pi w.
где w = толщина слоя. Да!
от R не зависит. (но тогда эквивалентная масса растёт, ибо масса = сила * R^2)
Теперь перейдём к оценке для слоя сетки из тел.
Сначала надо поделить слой на 4, просто поделим оценку на 4 и это будет правильно.
А неточность здесь такая: в интеграле, каждая точка внутри кубика сетки (между 8 рядом стоящими телами)
имеет разное расстояние до тела на которое мы рассчитываем воздействие.
Наш пример с сеткой из тел - считает что вся масса кубика сконцентрирована в одном из его углов, причём в ближайшем.
А это значит что интеграл такого вида всегда меньше чем сумма по сетке тел, ибо масса "размазана" в более дальние области,
а в сетке - сконцентрирована в ближайшей вершине.
Однако можно уменьшить эту ошибку как минимум по одной координате: по x в данной формуле - расстоянию до слоя.
А именно, это можно сделать устремив толщину w к нулю, при этом сохраняя пропорцию:
плотность * объём = масса. (этого уже параллелепипеда, а не куба).
Получим, что если раньше 1*1*1*rho = 1 = масса одного тела в углу. Теперь должно получатся 1*1*w*rho = 1.
То есть, rho должно быть равно в точности 1/w. И тогда сила от слоя уточнённая будет:
предел при w->0 от 1/4 1/w G 2 pi w = 1/2 G pi.
Ну вот, суммарная сила от слоя сетки из тел должна стремится к чему-то, что больше 1/2 G pi.
При условии, что масса одного тела = 1 кг, и шаг между телами 1 метр.
depths писал(а):По поводу графика, который показывает, якобы, неограниченный рост суммы. Этот участок графика, вполне может быть начальным участком кривой, которая сначала растет, затем рост замедляется, а затем рост замедляется настолько что не отличим от горизонтальной прямой.
А ещё на орбите Земли летает бутылка Клейна, просто её никто не может найти пока.
depths писал(а):И, кстати, я уже писал о критерии, который можно применить для исследования сходимости: найдётся такое слагаемое, начиная с которого будет добавляться следующий младший разряд в запись числа суммы, а не увеличиваться старший разряд.
В младший разряд можно добавить всего 10 раз, значит после каждых 10 элементов, значение элемента должно падать в 10 раз.
Кстати вот и программа для одного слоя... правда опять одной четверти его...
http://rgho.st/8bXqDtByHПросто введите k != 0 - расстояние до слоя.
Например k = 500
У меня уже 81067 1.564071. Почти pi/2, чуть чуть осталось подождать. Когда будет - обновлю.
ну вот: 384699 1.570955