Спектральный метод

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Спектральные методы — это класс используемых в прикладной математике методик для численного решения некоторых дифференциальных уравнений, иногда использующих быстрое преобразование Фурье. Идея заключается в представлении решения дифференциальных уравнений как суммы некоторых «базисных функций» (например, как ряды Фурье являются суммой синусоид) с последующим выбором коэффициентов в сумме, наиболее удовлетворяющих заданным уравнениям.

Спектральные методы и методы конечных элементов тесно связаны и построены на одних и тех же идеях. Основное отличие заключается в том, что спектральные методы используют базисные функции, ненулевые во всей области определения, в то время как методы конечных элементов используют базисные функции, которые не равны нулю только в малых подобластях. Другими словами, спектральные методы предпринимают глобальный подход, в то время как методы конечных элементов используют локальный подход. Отчасти по этой причине спектральные методы имеют превосходные свойства так называемой «экспоненциальной сходимости», которая наиболее быстрая из возможных, если решение является гладким. Однако не известно трёхмерного однообластного спектрального метода сквозного счёта[англ.] (ударная волна не гладкая)[1]. Метод конечных элементов, в котором степень элементов очень высока или возрастает при уменьшении параметра решётки h, иногда называется методом спектрального элемента.

Спектральные методы могут быть использованы для решения обыкновенных дифференциальных уравнений (ОДУ), дифференциальных уравнений в частных производных и задач нахождения собственных значений, вовлекающих дифференциальные уравнения. Когда спектральные методы применяются к зависимым от времени дифференциальным уравнениям в частных производных, решение обычно записывается как сумма базисных функций с зависящими от времени коэффициентами. Подстановка такой суммы в дифференциальное уравнение в частных производных даёт систему обыкновенных дифференциальных уравнений от коэффициентов, которая может быть решена с помощью любого.численного метода обыкновенных дифференциальных уравнений[англ.]. Задача нахождения собственных значений для обыкновенных дифференциальных уравнений аналогичным образом сводится к задаче нахождения собственных значений матрицы.

Спектральные методы были разработаны в серии статей Стивеном Орсага. Начиная с 1969 года они были разработаны для методов Фурье для периодических геометрических задач, полиномиальных спектральных методов для конечных и неограниченных геометрических задач, псевдоспектральных методов для сильно нелинейных задач, спектральных итерационных методов для решения задач стационарного состояния и других задач. Реализация спектрального метода обычно завершается коллокацией[англ.]или методом Галёркина, или Тау-подходом[прояснить].

Спектральные методы вычислительно менее затратны, чем методы конечных элементов, но становятся менее точными для задач со сложными геометриями и прерывистыми коэффициентами. Это увеличение ошибки является следствием.явления Гиббса[англ.]

Примеры спектральных методов[править | править код]

Линейный пример[править | править код]

Здесь мы предполагаем понимание базового многомерного математического анализа и рядов Фурье. Если g(x,y) является известной комплексной функцией от двух вещественных переменных и g является периодической по x и по y ( g(x,y)=g(x+2π,y)=g(x,y+2π)), то мы заинтересованы в нахождении функции f(x,y), такой, что

для всех x,y

где выражение слева означает вторую частную производную функции f по x и по y, соответственно. Это уравнение Пуассона и оно может быть физически проинтерпретировано как некоторый вид задачи передачи тепла или задачи в теории потенциалов среди прочих других возможностей.

Если мы запишем f и g в виде рядов Фурье

И подставим в дифференциальное уравнение, мы получим уравнение:

Мы поменяли местами частичное дифференцирование с суммированием, что законно, если мы предположим, например, что f имеет непрерывную вторую производную. Согласно теореме единственности разложения Фурье, мы должны тогда приравнять коэффициенты Фурье элемент за элементом, что даёт

(*)

что является явной формулой для коэффициентов Фурье aj,k.

С периодическими краевыми условиями уравнение Пуассона обладает решением, только если b0,0 = 0. Таким образом, мы можем свободно выбрать a0,0. Это соответствует выбору константы интегрирования.

Чтобы преобразовать это в алгоритм, вычисляется только конечное число частот. Это даёт ошибку, которая, как можно показать, пропорциональна , где и является наибольшей обрабатываемой частотой.

Алгоритм[править | править код]

  1. Вычисляем преобразование Фурье (bj,k) функции g.
  2. Вычисляем преобразование Фурье (aj,k) функции f через формулу (*).
  3. Вычисляем f путём взятия обратного преобразования Фурье для (aj,k).

Поскольку мы заинтересованы в конечном окне частот (скажем, размера n), это может быть сделано с помощью алгоритма быстрого преобразования Фурье. Поэтому, глобально, алгоритм работает за время O(n log n).

Нелинейный пример[править | править код]

Мы желаем решить нелинейное уравнение Бюргерса переходного процесса с помощью специального подхода.

Если дана на периодической области , находим , такой, что

где ρ является коэффициентом вязкости. Это превращается в

где соответствует скалярному произведению. Интегрирование по частям и использование периодичности даёт

Для применения метода Фурье-Галёркина выберем

и

где . Это сводит задачу к поиску , такого, что

Используя отношение ортогональности , где является дельтой Кронекера, мы упрощаем три элемента выше для каждого

Собираем три члена для каждого и получаем

Делим на и, наконец, получаем

С начальными условиями преобразования Фурье и определяя , эта пара обыкновенных дифференциальных уравнений может быть проинтегрирована по времени (с помощью, например, техники Рунге — Кутта) для нахождения решения. Нелинейный член является свёрткой и существует несколько техник, основанных на преобразованиях, для вычисления эффективного её вычисления.

Связь с методом спектрального элемента[править | править код]

Можно показать, что если бесконечно дифференцируема, то численный алгоритм, использующий быстрое преобразование Фурье, сходится быстрее, чем любой многочлен на решётке размера h. То есть для любого n>0 существует , такое, что ошибка меньше для всех достаточно малых значений . Мы говорим, что спектральный метод имеет порядок для любого n>0.

Поскольку метод спектрального элемента является методом конечных элементов очень высокого порядка, имеется похожесть в свойствах сходимости. Однако спектральный метод основан на разложении по собственным значениям конкретной краевой задачи, а метод конечных элементов не использует эту информацию и работает для произвольных эллиптических краевых задач[англ.].

См. также[править | править код]

Примечания[править | править код]

Литература[править | править код]

  • Claudio Canuto, M. Yousuff Hussaini, Alfio Quarteroni, Thomas A. Zang. Spectral Methods: evolution to complex geometries and applications to fluid dynamics. — Springer, 2007. — (Scientific Computation). — ISBN 978-3-540-30727-3.
  • Bengt Fornberg. A Practical Guide to Pseudospectral Methods. — Cambridge, UK: Cambridge University Press, 1996. — (Cambridge monographs on applied and computational mathematics). — ISBN 0-521-49582-2.
  • John P. Boyd. Chebyshev and Fourier Spectral Methods. — Mineola, New York: Dover Publications, Inc., 2000.
  • Canuto C., Hussaini M. Y., Quarteroni A., Zang T.A. Spectral Methods. Fundamentals in Single Domains. — Berlin Heidelberg: Springer-Verlag, 2006. — (Scientific Computation). — ISBN 3-540-30725-7.
  • Javier de Frutos, Julia Novo. A Spectral Element Method for the Navier-Stokes Equations with Improved Accuracy // Applied Numerical Mathematics. — 2000. — Т. 33, вып. 1. — С. 217-223. — doi:10.1016/S0168-9274(99)00086-0.
  • Daniele Funaro. Polynomial Approximation of Differential Equations. — Heidelberg: Springer-Verlag, 1992. — Т. 8. — (Lecture Notes in Physics). — ISBN 3-540-55230-8.
  • D. Gottlieb, S. Orzag. Numerical Analysis of Spectral Methods: Theory and Applications. — Philadelphia, PA: SIAM, 1977.
  • J. Hesthaven, S. Gottlieb, D. Gottlieb. Spectral methods for time-dependent problems. — Cambridge, UK: Cambridge University Press, 2007. — (Cambridge monographs on applied and computational mathematics). — ISBN 0-521-79211-8.
  • Steven A. Orszag. Numerical Methods for the Simulation of Turbulence // Phys. Fluids Supp. II. — 1969. — Вып. 12. — С. 250-257.
  • Press W.H., Teukolsky S.A., Vetterling W.T., Flannery B.P. Section 20.7. Spectral Methods // Numerical Recipes: The Art of Scientific Computing. — 3rd. — New York: Cambridge University Press, 2007. — ISBN 978-0-521-88068-8.
  • Lloyd N. Trefethen. Spectral Methods in MATLAB. — Philadelphia, PA: SIAM, 2000.