численное интегрирование по многим переменным

12

Пусть и быть функцией этих переменных.f(x ):[0,1]nCx=(x1,x2,,xn)[0,1]nf(x):[0,1]nC

Существует ли рекурсивная схема для этого повторного интеграла?

[0,1]ndxif(x)

Если и я разбиваю на 100 сегментов, у нас есть точек для суммирования. Там должно быть умнее.[ 0 , 1 ] 10 20n=10[0,1]1020


Фактически, функция, которую я хочу интегрировать, является мерой Хаара унитарной группы.

U(n)f(A) dA=1n![0,2π]nj<k|eiθjeiθk|2f(θ1,,θn) dθ12π  dθn2π
Джон Мангуаль
источник
2
Если ваше измерение не слишком велико, вы можете также рассмотреть разреженные квадратурные методы для вашего интеграла.
Павел
@ Павел, ты можешь объяснить эту тему больше в ответе? Я, вероятно, буду голосовать
Джон Мангуаль

Ответы:

15

Для интеграций со многими переменными метод Монте-Карло обычно подходит. Его ошибка уменьшается как где N - количество выбранных равнораспределенных точек. Конечно, это не хорошо для пространств низкой размерности (1D и 2D), где существуют методы высокого порядка. Большинство этих детерминированных методов, однако, занимают большое количество точек в более высоких измерениях. Например, одномерная схема 1-го порядка - это в 2D и в 3D. Сила метода Монте-Карло состоит в том, что сходимость ошибок не зависит от размерности пространства. Неважно, является ли ваше пространство 1D или 100D, это . O(O(N)O(N 1O(N)O(O(N14)O(N)

Однако, поскольку он вероятностный, вам необходимо интегрировать его несколько раз, используя заданное количество точек, чтобы найти стандартное отклонение и оценку вашей ошибки.

Годрик Провидец
источник
1
Для интеграции использование квази-Монте-Карло, например, с использованием последовательностей Собеля, немного лучше.
Лутц Леманн
Ах, да, я установил равноправно распределенные точки (над псевдослучайными), но не сделал явного различия между ними.
Годрик Провидец
1
@GodricSeer Похоже, последовательности Соболя создадут хорошую равномерно распределенную сетку, даже в больших измерениях. Кажется, он решает тот же вопрос: очень быстро. Серый код и несоответствие, кажется, проблемы.
1nf(xi)[0,1]nf dx
Джон Мангуаль
Да, последовательность Соболя создаст хорошее распределение очков. Квази-Монте-Карло, вероятно, один из лучших методов для вашей проблемы.
Годрик Провидец
8

Разреженная квадратура сетки является альтернативным подходом для интеграции в более высокие измерения.

Квадратура опирается на оценку взвешенной суммы значений функции в определенных «оптимальных» точках. Традиционная квадратура использует тензорную конструкцию сетки продуктов в более высоких измерениях, что означает, что вам придется оценивать функцию по экспоненциально растущему числу точек по мере увеличения размера.

Хитрость для разреженной квадратурной сетки состоит в том, что вы можете получить одинаковую точность порядка (в асимптотическом смысле), используя небольшое подмножество тензорного сеточного произведения. Разреженные точки, которые вы выбираете, в конечном итоге представляют собой те, которые точно объединяют мономы до желаемой общей степени . Экономия вычислений (по сравнению с тензорной сеткой продуктов) значительно увеличивается при увеличении размера.

Однако у этого метода есть недостатки, о которых вам следует знать.

  1. Этот метод не работает хорошо, если ваша функция не является гладкой (или иным образом не очень хорошо аппроксимируется полиномиальными функциями).
  2. Хотя порядок точности разреженной квадратурной сетки может быть эквивалентен тензорной сетке произведений, относительная точность может быть намного хуже. Это потому, что постоянная перед порядком точности разреженной сетки может быть очень большой.
  3. Разреженные сетки хорошо работают при относительно небольших размерах. Но наступает измерение, после которого вам, вероятно, будет лучше использовать другой метод (например, «Монте-Карло» или его варианты).

Для получения дополнительной информации о разреженных сетках я рекомендую Разреженные сетки Буркардта в больших измерениях . Если вы заинтересованы в коде для создания разреженных сеток, вы можете рассмотреть эти файлы Matlab .

Пол
источник