Метод обратных степенных итераций

Метод обратных степенных итераций для вычисления собственных значений и собственных векторов матрицы

Метод обратных степенных итераций – это численный алгоритм, используемый для вычисления выбранного собственного значения и соответствующего ему собственного вектора квадратной матрицы. Этот метод основан на применении степенного метода к обратной матрице и позволяет найти собственные значения с наибольшим модулем, что особенно полезно, когда требуется найти собственные значения, близкие к нулю или собственные значения с наименьшим модулем. В этой статье мы рассмотрим алгоритм метода обратных степенных итераций для вычисления собственных значений и собственных векторов матрицы.

Алгоритм метода обратных степенных итераций

1. Начально задать симметричную матрицу A, точность epsilon, и произвольный начальный вектор x₀ (ненулевой и нормализованный).

2. Вычислить обратную матрицу B = (A – σI)⁻¹, где σ – предполагаемое собственное значение.

3. Для k = 1, 2, 3, … до сходимости:

  • a. Вычислить новый вектор xₖ = B * xₖ₋₁.
  • b. Нормализовать xₖ, делением на его максимальный элемент.
  • c. Проверить на сходимость: если |xₖ – xₖ₋₁| < epsilon, то закончить итерацию и принять xₖ как приближенный собственный вектор.

4. Найденный собственный вектор xₖ будет соответствовать приближенному собственному значению λ ≈ 1/σ.

Пример вычисления собственных значений и собственных векторов

Давайте рассмотрим пример вычисления собственного значения и собственного вектора для следующей симметричной матрицы A:

        A = | 6 -2  1 |
            | -2 4  1 |
            | 1  1  4 |

Предположим, что мы хотим найти собственное значение, близкое к 2. Перед выполнением алгоритма, мы должны вычислить обратную матрицу B = (A – 2I)⁻¹:

        B = | 0.4286  0.1429  -0.0714 |
            | 0.1429  0.5714  -0.0714 |
            | -0.0714 -0.0714   0.2857 |

Предположим, что начальный вектор x₀ = [1, 1, 1].

Шаги метода обратных степенных итераций:

1. Начальный вектор x₀ = [1, 1, 1] (нормализован: x₀ = [0.5774, 0.5774, 0.5774]).

2. k = 1:

  • a. Вычисляем новый вектор x₁ = B * x₀ = [0.4286, 0.4286, 0.1429].
  • b. Нормализуем x₁: x₁ = [0.5774, 0.5774, 0.1925].
  • c. Проверяем на сходимость: |x₁ – x₀| = 0.0498 > epsilon, продолжаем итерацию.

3. k = 2:

  • a. Вычисляем новый вектор x₂ = B * x₁ = [0.4286, 0.4286, 0.1905].
  • b. Нормализуем x₂: x₂ = [0.5774, 0.5774, 0.2567].
  • c. Проверяем на сходимость: |x₂ – x₁| = 0.0642 > epsilon, продолжаем итерацию.

4. k = 3:

  • a. Вычисляем новый вектор x₃ = B * x₂ = [0.4286, 0.4286, 0.2534].
  • b. Нормализуем x₃: x₃ = [0.5774, 0.5774, 0.3403].
  • c. Проверяем на сходимость: |x₃ – x₂| = 0.0841 > epsilon, продолжаем итерацию.

5. Продолжаем итерации до сходимости (например, epsilon = 0.001).

После сходимости, собственное значение λ ≈ 1/σ ≈ 2.3438 и найденный собственный вектор xₖ = [0.5774, 0.5774, 0.5774] будет соответствовать приближенному собственному вектору матрицы A.

Заключение

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

Полезен ли материал?

1 / 0