Федоренко Р.П. Введение в вычислительную физику (1185915), страница 40
Текст из файла (страница 40)
Очевидно, это достига- ется при т = 1/В. В самом деле, р» > 1 — ~ ЗЛ» ~ > 1 — »,//. = О, шах ! р ! = шах р = шах (1 + ЗХ ) = 1 + т шах Л = 1 + ЕХН Спектр В устроен так: ~, может быть больше илн меньше единицы в зависимости от знака Х„ ~» е [О, р,). Теперь можно применить степенной метод к оператору В: и'+' = Ви~, и'+' = и'+'Ци'+'~~, ру+П = (и~Ф', и'), Как было выЯснено, и'- С~РН Р1Й- Дг Можно оЦенить н скоРость сходимостн: погрешность убывает, как р ~+,~ ~1 т("ч»з) ! так как обычно ~ Х, ~ «2„~ Х ~ « /..
Для того чтобы составить себе представление о скорости сходи- мости, обратимся опять-таки к разносгному оператору Лапласа на сетке М х л/. В атом,случае, как показывают простые вычисления, (Х, — Хз)// - пз/2Ф. Скорость сходямости невысока. Легко понять, что ее можно повысить примерно вдвое, взяв т 2//.. Метод обратной итерации.
Запишем уравнение (1) в форме Ви = ри (где В = А ', р = » .') н применим степенной метод к оператору В, определяя его максимальное по модулю собственное зна- з 161 ГЛАВНАЯ СПЕКТРАЛЬНАЯ ЗАДАЧА ДЛЯ КРАЕВЫХ ЗАДАЧ 197 чепце. Пусть, как это часто бывает, [А,[ =ппп [)ь [, тогда В1ие выделяет именно то, что нас интересует. Используя для иллюстрации оператор Лапласа, находим, что спектр В = /ь ' расположен на интервале [1/Д„01, А1 < О, а скорость сходимости степенного метода для В определяется величиной р /~г Для лапласиана это дает (в терминах 5 14) Д1,/А, ЕЛО.4, т.е. скорость сходимости практически на зависит от числа узлов сетки /Ь/. Итак, метод обратной итерации очень эффективен (погрешность убывает, как (0.4) '), но сама стандартная итерация весьма громоздка. Поскольку явною выражения для оператора В мы не имеем, метод реализуется в форме Аи' Ь ' = и' и каждая итерация требует приближенного решения системы линейных уравнений с матрицей А.
Если ппп [ 1ьь[ ~ [ 1ь1 [, то предварительно следует сдвинуть спектр, т.е. перейти к оператору А' = А — аЕ, подобрав соответствующее значение а. Легко понять, что итерации будут тем эффективнее, чем ближе а к Хг Однако при этом заметно осложняется решение уравнения (А — аЕ)и'+' = и', так как оператор А — аЕ приближается к вырожденному оператору А — 1ь1Е. Вычисление второй собственной функции. В некоторых задачах представляет интерес вторая собственная функция (соответствующая точке спектра 1ь ), а иногда и последующие. Степенной метод позволяет вычислить ее, правда, после того, как уже вычислена первая собственная функция.
Используется тот же алгоритм, но в подпространстве, ортогональном найденной собственной функции рг В выражении и'=В'из ~х' с„ф )' р слагаемое с (р )'1р будет играть главную роль в случае, если начальное приближение ие выбрано так, что с, = О. Другими словами, начальное приближенис должно быть ортогонально первой собственной функции 1р, (счнтаем, что она уже найдена), так как с, = (ие, 1р,).
П.ооцесс итераций организуется так. Возьмем какую-то функцию из. Сгроецнруем ее на надпространство, ортогональное функции р,: ие:= и~ — (ие, ~р,)~р1. Выполняем стандартные итерации степенного метода: и'+' = Ви'. В результате погрешностей округления (н неточности определения зр,) функция и' содЕржит пусть маленькую, но все же ненулевую компоненту с, ~р,, поэтому нужно проводить систематическую ортогоналнзацию и нормировку: и' 1=и1 — (и, зр~)зр1, и~~~ = и~ ~/[[и1+'[[. огизлижзнные методы вычислительной ьизики (ч, и )9з (Иногда ортогонализацию и нормировку проводят не на каждой итерации, а периодически, например через пять-десять итераций.) Собственное значение Луэ (г'-е приближение) вычисляется по той же формуле: Л~п = (Аи', и')/(и', и').
Ускорение степенного метода. Один из наиболее часто употребляемых приемов ускорения степенного метода состоит в варьировании итерационного параметра т. Вычисления ведутся практически по той же самой схеме, но с переменным т: и'+' = (Е+ .с,. „,А)и'. Разлагая ио в ряд Фурье по собственным векторам, получаем для и' формулу ! и' =" с П (1+ т,.Л )1р„. 9 =! Здесь, конечно, тоже следует использовать идею чебышевского метода, но с некоторой модификацией. Мы заинтересованы в том, чтобы полином П (1+ т,.Ль) был как можно меньше на всем спектре, за исключением точки Л,, Для реализации этой идеи необходимо располагать некоторой информацией. Прежде всего нужно иметь оценку (сверху) для максимального (по модулю) собственного числа Ь и оценку для второго собственного числа.
Достаточно знать число 1, разделяющее Л, и Л, т.е. должно быть Ль Е ~ — Е,!1 (й = 2, 3, 4...,), Л, > Е Дара- метры т. следует брать обратными к корням полинома Чебышева (некоторой назначенной степени 1) на интервале [ — Ь, 1). Эффект ускорения тем выше, чем ближе 1 к Ли Есть еще один простой прием, позволяющий ускорить сходимостзк сдвиг спектра. Пусть имеется некоторая оценка первого собственного числа Л'.
Она может быть получена на первом этапе решения задачи, т.е. является не очень точной. Уточнение осуществляется теми же итерациями, но с небольшим изменением: используется оператор со сдвинутым спектром А — Л" Е, т.е. и'+~ = и'+ т,,(А — Л'Е)и'. Оператор А — Л'Е имеет те же собственные векторы, что и А, а спектр его получается из спектра А сдвигом на Л'. В идеальном случае (Л' = Л, и для Л известна достаточно хорошая оценка) чебышевское ускорение действует только на компоненты с ~рь при й= 2, 3, 4, ...; компонента с,~р, не меняется. Случай 9 |Ы ГлАВнАя спвктРАльнАя зАЛАчА для КРАЯВЪ|Х 3АдАч |99 Х' < йп когда первое сдвинутое число Х, — Х' > О, тоже достаточно благоприятен при условии, конечно, что А — Х' < б. В этом случае значение чебышевского полинома в точке Х = А, велико и это способствует более быстрому выделению в функции и' главной компоненты.
(Палиномы Чебышева обладают многими экстремальными свойствами, в том числе и самым быстрым среди полиномов той же степени ростом за пределами яитервала, на котором расположены корни.) Применяется и часто дает хорошие результаты метод, иногда называемый методом регуляризации. В этом случае итерации проводятся по формуле гм В =Аи', 1 где  — «легко-обратимый» оператор (не в том смысле, что легко найти В ', а в том, что легко решить уравнение Ве = г). Очевидно, такие итерации можно изучать в форме и|+' = (Е + тВ 'А) и'.
Таким образом, можно говорить о методе простой итерации для оператора В 'А, Эффект ускорения достигается в том случае, если число обусловленности (или, другими словами, отношение минимального собственного значения к максимальному) у матрицы В 'А близко к единице, т.е. В 'А Е. Однако применение этого метода связано с двумя неприятностями.
Первая состоит в том, что если матрицы В и А не перестановочны (а это типичный в приложениях случай), то собственные векторы В 'А (именно один из таких векторов выделяется рассматриваемым итерационным процессом), вообще говоря, не совпадают с собственными векторами А. Для борьбы с этим недосФатком используется метод сдвига спектра. Имея и', можно вычислить оценку для |ь, (считая, что в и' искомая компонента |р, является уже доминирующей): Х' (Аи', и')/(и', и'). Следующая итерация проводится по формуле В(и'+' — и|)/т = (А — й'Е) и'.
Смысл этого приема в том, что' прн Л' Х, собственный вектор р, матрицы А, соответствующий точке спектра йп является и собственным вектором матрицы В '(А — А'Е) при любом В. Укажем и на вторую опасность, которую тоже надо иметь в виду. Пусть для простоты А и В перестановочны, а собственный вектор |р, соответствует точкам спектра А, и р, операторов А и В соответственно. При этом для А точка А, являегся крайней правой в спектре, и именно поэтому она нас интересует. Однако собственное число Х,Гр,оператора В 'А может оказаться не крайней, а внутренней ПРИБЛИЖЕННЫЕ МЕТОДЫ ВЫЧИСЛИТЕЛЬНОЙ ФИЗИКИ ~ч.
и точкой спектра, и степенной метод с таким регуляризатором выде- лит не зр„а какой-то другой собственный вектор, соответствующий крайней точке множества ХВ/рь (к = 1, 2, 3, ...). Оператор Шредингера с периодическим потенциалом. Рассмотрим характерную спектральную задачу квантовой теории твердого тела. Ниже описан опыт ее решения в ИПМ им. М. В.
Келдыша. Физическая задача связана с исследованиями возможности существования так называемого «металлического водорода». Для иас наиболее интересными будут вопросы вычислительной технологии; они характерны для задач квантовой механики. Итак, рассматривается задача определения собственных чисел и функций оператора шредингера — й + У, где У(х, у) — потенциач, являющийся периодической функцией переменных х, у: У(х, у) = ~~, ~~; Р(х+ йа„у+ /а ), Ь-- (5) Р"(х, у) = е т/»т«Р /1/хт+ уз. (б) Такой потенциал возникает в периодической прямоугольной решетке (аы аз — периоды по х, у соответственно).
В центре каждой ячейки находится полюс потенциала. По теореме Блоха, используя замену и(х, у) = ец" "+Вя» р(х, у), можно свести проблему к спектральной задаче Нр = Х р, где Н = — Л+ гз й, — ' + й, — ' + (йз+ й3) + К (7) Функция 'р(х, у), определенная в ячейке ~х~ и а /2, ~у~ и ат/2, является периодической по х, у. Зкдачу надо решать многократно для значений х„ /Бз из некотоРой сетки, покРывающей так называемУю зону Бриллюэиа. Задача решается методом конечных разностей.
Ячейка покрывается сеткой Д/хФ, оператор (7) аппроксимируется стандартным конечно-разностным. Первая неприятность состоит в том, что функция //(х, у) может обратиться в бесконечность в каком-то узле сетки. Ее легко избежать, немного сдвигая ячейку, что допустимо в периодической задаче, Но это плохой выход: опыт показывает, что при тех небольших значениях Ф, которыми приходилось ограничиваться в практической работе, результат сильно зависит от сдвига и от числа узлов сетки Ф. Вторая проблема связана с вычислением потенциала У по формуле (5).
Вычисление таких сумм осложняется очень медленной сходимостью, необходима разработка методов ее ускорения. Один из часто й !ь! ГЛАВНАЯ СПЕКТРАЛЬНАЯ ЗАДАЧА ДЛЯ КРАЕВЫХ ЗАЯА4 20! применяемых приемов состоит в том, что члены медленно сходящего- ся ряда ~ч' а„разбивают на две части; ~~; ад = ~', а„'+ '«~ ад', ад = ад + а„", А д Е таким образом, чтобы ряд ~х' ад суммировался аналитически, а остаток ~х, 'ада был быстро сходящимся.
Подобрать такое разбиение— это уже искусство. Поэтому в данном случае говорят не о методе, а о приеме. В следующем ниже алгоритме потенциал У(х, у) нужно вычислять в каждом узле сетки, что вынуждает использовать относительно грубые сетки. В расчетах с успехом был использован характерный для задач с особенностями прием регуляризации, или выделения особенности.