Численное решение алгебраических проблем собственных значений: степенной метод.
Екатеринбург 2006
Введение
Выбор наиболее эффективного метода определения собственных значений и собственных векторов для конкретной инженерной задачи зависит от ряда факторов, таких, как тип уравнений, число искомых собственных значений и их характер. Различают полную (алгебраическую) проблему собственных значений, предполагающую нахождение всех собственных пар {λ, v} матрицы А, и частичную проблему собственных значений, состоящую как правило, в нахождении одного или нескольких собственных чисел λ и, соответствующих им собственных векторов v. Достаточно часто возникают задачи поиска наибольшего и наименьшего по модулю собственных значений квадратной матрицы – знание таких характеристик матрицы позволяют, например, делать заключения о сходимости итерационных процессов, оптимизировать параметры итерационных методов, учитывать влияние на результаты решения алгебраических задач погрешностей исходных данных. Другой пример: имеется матрица размера 5000*5000, в каждой строке которой содержится порядка десяти отличных от нуля элементов (разреженная матрица), и требуется найти только несколько, может быть, четыре или пять, собственных значений. Нахождение всех собственных пар разреженной матрицы представляет собой достаточно сложную вычислительную проблему.
Итерационные методы позволяют находить собственные значения и векторы, минуя процедуру построения характеристического полинома. Отличительной чертой этих методов является то, что собственные значения находятся лишь после определения собственных векторов. Рассмотрим метод, который позволяет найти наибольшее по модулю собственное значение матрицы и соответствующий собственный вектор - степенной метод.
Классическим методом, который иногда оказывается полезным для больших разреженных систем, хотя и страдает серьезными недостатками, является степенной метод. Предположим, что собственные значения
При заданном векторе
Предположим, что матрица
Пусть
Разделим обе части равенства на λ1k ≠ 0.
В силу (1) все множители
Если
Формульно-словесное описание метода:
1. Выбираем
2. k = k+1
3. Вычисляем
4. Ищем координату
5. Образуем вектор
6. Если
Существует модификация степенного метода, которая отличается от предыдущего алгоритма критерием остановки итерационного процесса.
Формульно-словесное описание метода:
1. Выбираем
2. k = k+1;
3. Вычисляем
4. Ищем координату
5. Образуем вектор
6. Вычисляем
7. Если
Основным достоинством степенного метода является то, что векторы
Степенной метод имеет и другие недостатки. Если имеется несколько собственных значений с максимальным модулем, например
Задание на лабораторную работу
Цель работы: изучение степенных методов расчета максимального по модулю собственного значения и соответствующего собственного вектора квадратной матрицы.
1. Ознакомиться со степенным методом вычисления максимального по модулю собственного значения матрицы A и его модификациями.
2. Составить и отладить программы, рассчитывающие максимальное по модулю собственное значение и соответствующий ему собственный вектор матрицы А произвольной.
3. Элементы матрицы А должны считываться из файла, точность расчета ε вводится с клавиатуры.
4. При проверке работоспособности программ для n=2 и n=3 выполнить ручной расчет собственных значений и собственных векторов матрицы А.
5. Нахождение собственных векторов и собственных значений следует провести, используя самостоятельно составленные и предложенные ниже тестовые примеры:
6. При заданной точности расчета ε фиксировать выполненное число итераций k.
7. Составить отчет, который должен содержать следующие разделы: