Метод обертань – поширений ітераційний метод розв’язування повної алгебраїчної проблеми власних значень і дозволяє, для симетричних матриць (нагадаємо, що матриця називається симетричною тоді і тільки тоді, коли ), вирішити задачу знаходження всіх власних значень та відповідних їм власних векторів без використання характеристичних рівнянь.
Основна ідея методу обертань полягає в перетворенні початкової матриці так, щоб зберігаючи спектр власних значень отримати діагональну матрицю
або близьку до неї. Перетворення з такими властивостями відоме як перетворення подібності
, де
– невироджена матриця. Якщо додатково вимагатимемо ортогональності матриці
, то, крім бажаного збереження спектра власних значень при перетворенні подібності необхідною умовою є ще й симетрія матриці перетворення. Знайти безпосередньо таку матрицю
, як правило, невдається, тому один із шляхів побудови перетворення подібності – ітераційний. Тобто, на кожному
-му кроці методу обертань здійснюється перетворенням подібності, де використовується ортогональна матриця обертань
. Ця матриця залежить від трьох параметрів
і відрізняється від одиничної лише чотирма елементами
із координатами
відповідно.
Таким чином, на кожному -му кроці ітерації методу обертань, маємо перетворення:
де . Оскільки матриці
– ортогональні, їх обернені матриці збігаються із транспонованими, що надзвичайно полегшує здійснення перетворень обертань, а саме:
Після того, як основна ідея методу обертань відома, розглянемо, яким чином на кожній ітерації здійснюється пбудова матриці обертань, та з допомогою яких правил визначається кут обертання, тобто визначимося з вільними параметрами . Перш за все, як уже зазначалося, необхідно будувати процес (3) таким чином, щоб в кінцевому результаті матриця
набула діагонального вигляду. Один із можливих варіантів досягнення цього полягає у обнуленні на кожному
-му кроці ітерацій найбільшого за модулем недіагонального елемента матриці
. Такий підхід визначає вільні координати
, як координати найбільшого за модулем недіагонального елемента матриці
. Крім того, з умови обнулення
також можна знайти третій, і останній, вільний параметр
. Для цього, спочатку, виведемо формули методу обертань для одного
-го кроку перетворень. Даний крок складається із двох послідовних процедур:
Очевидно, усі елементи матриці збігатимуться з відповідними елементами матриці
, крім елементів
-го та
-го стовпців, для яких легко отримаємо розрахункові формули:
Аналогічно всі елементи матриці збігатимуться з відповідними елементами матриці
, крім елементів
-го та
-го рядків, для яких отримаємо розрахункові формули:
Після цього, переходимо до обнулення елемента з координатими . Для цього, скориставшись формулами (4), (5) та умовою симетричності матриць, запишемо наступни вираз:
Далі, прирівнявши вираз (6) до нуля, та розв’язавши отримане таким чином тригонометричне рівняння, визначимо формули для визначення параметра матриці обертань.
Ітераційного процесу методу обертань слід продовжувати до тих пір, поки сума квадратів недіагональних елементів матриці не стане меншою або рівною заданій точності
, тобто:
Пісял того, як умова (8) виконується, в якості шуканих власних значень матриці беруться значення діагональних елементів матриці :
.
Зауваження: для визначення координатів власних векторів матриці , необхідно здійснити добуток послідовності матриць обертань, отриманих на кожному кроці ітерації методу обертань.
Знаходження власних значень матриці методом обертань – приклад:
Для заданої симетричної матриці знайти власні значення використовуючи метод обертань. В якості точності обчислювального процесу взяти число
.
На першому кроці позначимо і виберемо найбільший по модулю недіагональний елемент:
. Після цього, скориставшись формулою (7) визначемо кут обертання:
Далі, знаходимо відповідну цьому елементу матрицю обертання та скориставшись формулою (3) визначимо елементи матриці
:
На останньому кроці першої ітерації, обчислемо суму квадратів недіагональних елементів матриці :
Отримана сума являється бульшою за число , тому переходимо до наступної ітерації. Для цього, аналогічним чином знайдемо найбільший по моділю позадіагональний елемент матриці
, визначимо кут обертання, побудуємо матрицю обертання та знайдемо наступне наближення:
Після виконання даного кроку ітерації ми також не досягнули заданої точності обчислень, тому продовжуємо ітераційний процес далі:
Таким чином, отримане на четвертій ітерації наближення задовільняє заданій точності і тому в якості шуканих власних значень можуть бути прийняті діагональні елементи матриці , тобто
.