Все большое спасибо! Да, задача физическая, я свел её к взятию такого интеграла.
А Вы предварительно переходили в сферические координаты? Если да, то Монте-Карло, конечно, можно, только переходить в сферические координаты незачем, если описание области будет проще - прога будет работать быстрее. Кроме того, будет необходимо избавиться от бесконечных пределов какой-нибудь специальной заменой (дробно-рациональной).
Интеграл конечно можно записать и в декартовых координатах, но дело в том, что я написал здесь его немного в упрощенном виде для примера, подынтегральное выражение ещё нужно будет дополнительно умножить на функцию, зависящую от всех трех переменных, в декартовых переменных будет неудобно. Да, бесконечный предел надо убрать, спасибо, что подсказали!
TheEnt, интересно записать Ваш интеграл в декартовых координатах. У меня тоже такое чувство, что Вы с них и начинали.
Что мне понятно: . (Но далее везде в смысле декартовой координаты). Пределы по выбраны так, чтобы выполнялось условие . Верхний предел дает условие .
А вот нижний предел по не очень понятен -- он означает, что . Получается странное пересечение внешности единичного цилиндра и полупространства (ну, и ).
В математике, конечно, могут быть любые области, но у Вас ведь, скорее всего, физика...
Но вот если допустить, что Вы при наборе нечаянно написали вместо , тогда это давало бы гораздо более приятное условие .
Область именно такая, я записал все верно. Она определяется условием
(вроде знак не перепутал). Можно интерпретировать так - проекция единичного вектора на ось
должна быть меньше, чем
, и в крайних положениях по
получается интегрирование либо по всей сфере, либо по полусфере.
Вообще конкретный вид интеграла сейчас не важен, скорее всего он будет усложнен. Тут происходит интегрирование по координатам импульсного пространства, я собираюсь ввести ещё зависимость от обычных пространственных координат. Поэтому я хочу делать все методом Монте-Карло, делать сетку для 5-6 кратного интеграла не хочется, да и сходимость будет хуже (если я не ошибаюсь...)
Если можно делать методом Монте-Карло, как я должен выбрасывать случайные точки? Должен ли я заключить свою область в n-мерный параллелепипед, распространить подынтегральную функцию на новую область с помощью функции Хевисайда и выбрасывать точки в нем, или я должен выбрасывать точки только в области интегрирования?
Я сегодня попробовать сделать элементарную задачу, я взял интеграл
методом Монте-Карло, сведя его к
, и с увеличением числа точек точность увеличивалась. Когда я брал этот интеграл по кубатурной формуле Симпсона, при увеличении количества точек точность не увеличивалась.