Ускорение расчета функции, заданной разложением по сферическим гармоникам

peregoudov
Сообщений: 523
Зарегистрирован: 29 дек 2015, 13:17

Ускорение расчета функции, заданной разложением по сферическим гармоникам

Сообщение peregoudov » 12 фев 2021, 15:04

Начальник подбросил забавную статью. В ней некие болгарские ученые утверждают, что разработали способ быстро рассчитать значение функции

$$ V({\bf r})=\sum_{n=0}^N\sum_{m=-n}^n c_{nm}r^{-n-1}Y_{nm}({\bf n}), $$

заданной своими коэффициентами разложения $c_{nm}$ по сферическим гармоникам. Причем для N=750 авторы декларируют ускорение счета в 500 раз.

Внимательное изучение статьи показало, что от прямого вычисления приведенной выше суммы авторы не избавились. Просто они предлагают делать это на пространственной сетке с 30х1498х2977=135 000 000 узлами, после чего интерполировать, используя 6х18х18=1944 ближайших узла. Ускорение же в 500 раз относится именно к интерполяции, а не к первоначальному вычислению 135 000 000 значений.

Что мне нравится и что не нравится в такой схеме? Не нравится то, что в сетке гораздо больше точек, чем коэффициентов $c_{nm}$ (последних 750х740=560 000). Нравится идея, что далекие узлы сетки не дают существенного вклада в интерполяцию. Авторы обосновывают этот момент с помощью изобретенных ими нидлетов (needlets, видимо, по аналогии с вэйвлетами) --- функций вида

$$ L_N(x)=1+2\sum_{n=1}^\infty f(n/N)\cos nx, $$

где $f(x)=1$ на отрезке [0,1], а затем гладко спадает до нуля. Утверждается, что любой "тригонометрический полином" (линейная комбинация $\sin nx$ и $\cos nx$) степени не выше N является собственным вектором интегрального оператора с ядром $L_N(x-y)$ с собственным значением 1 (элементарно проверяется), и что для гладких $f(x)$ ядро $L_N(x-y)$ экспоненциально быстро спадает при раздвижке аргументов (вот это хотелось бы понять подробнее).

Так вот, нельзя ли придумать какой-то способ расчета представленной выше суммы, основанный на задании не коэффициентов $c_{nm}$, а каких-то других параметров (предположительно --- значений V на какой-то сетке), так чтобы для восстановления значений V можно было ограничиться меньшим числом слагаемых в сумме?

Аватар пользователя
Ian
Сообщений: 686
Зарегистрирован: 18 янв 2016, 19:42

Ускорение расчета функции, заданной разложением по сферическим гармоникам

Сообщение Ian » 12 фев 2021, 22:25

peregoudov писал(а):
$$ L_N(x)=1+2\sum_{n=1}^\infty f(n/N)\cos nx, $$

где $f(x)=1$ на отрезке [0,1], а затем гладко спадает до нуля. Утверждается, что любой "тригонометрический полином" (линейная комбинация $\sin nx$ и $\cos nx$) степени не выше N является собственным вектором интегрального оператора с ядром $L_N(x-y)$ с собственным значением 1 (элементарно проверяется), и что для гладких $f(x)$ ядро $L_N(x-y)$ экспоненциально быстро спадает при раздвижке аргументов (вот это хотелось бы понять подробнее).
Это близко к ядру Дирихле https://ru.wikipedia.org/wiki/Ядро_Дирихле
и оно сворачивается
[math]
[math]
а вот по чему экспоненциально это я не понял

peregoudov
Сообщений: 523
Зарегистрирован: 29 дек 2015, 13:17

Ускорение расчета функции, заданной разложением по сферическим гармоникам

Сообщение peregoudov » 15 фев 2021, 15:35

Но тут бесконечная сумма и функция f определена не только на отрезке [0,1]. Хотя получается, что их нидлет равен сумме ядра Дирихле и функции, ортогональной ко всем тригонометрическим полиномам степени не более N. И тогда в представлении через нидлет остается только функция Дирихле, то есть они даже ничего нового не придумали.

Но, в принципе, если мы хотим вычислять тригонометрический полином на сфере, то есть смысл перейти от коэффициентов разложения по сферическим гармоникам к значениям на сетке: ведь ядро Дирихле вычислить проще, чем сферические функции.


Вернуться в «Математика»

Кто сейчас на форуме

Количество пользователей, которые сейчас просматривают этот форум: нет зарегистрированных пользователей и 13 гостей