Знаходження максимального по абсолютній величині власного значення матриці степеневий методом в середовищі програмування delphi
Програма знаходить максимальне по модулю власне число для матриці довільної розмірності з заданою точністю використовуючи степеневий методом та дві його модифікації (теоретична частина по данх методах міститься за посиланням знаходження власного значення матриці степеневий метод). Інтерфей розглядуваного delphi-проекту аналогічний проектам, які ми розглядали для розв'язку повної проблеми власних значень (метод Федеєва на delphi, метод Левер'є на delphi та інші), лише з одною відмінністю. В ньому передбачено можливість задати точність обчислень та вибрати модифікацію степеневого методу.

Інтерфейс delphi-проекту "Знаходження максимального по абсолютній величині власного значення матриці степеневий методом"
Для того, щоб знайти максимальне власне значення матриці, необхідно вказати відповідні значення та параметри в панелі задач (розмірність матриці, точність обчислень, модифікація методу), заповнити таблицю значеннями її елементів і натиснути кнопку «Знайти максимальне власне значення матриці».
Часткова проблема власних значень матриці. Степеневий метод
Нехай маємо деяку матрицю і нехай її власні значення впорядковані по абсолютній величині наступним чином:
. Тоді, вибравши деякий вектор
, наприклад, вектор, компоненти якого дорівнюють одиниці
, для визначення
можна побудувати наступний ітераційний процес:
де і
— відповідні компоненти векторів
та
. При цьому в якості номера
може використовуватися будь-яке число з діапазону
.
Програмна реалізація методу Крилова на Delphi для знаходження власних значень матриці
Процес відшукання власних значень матриці при використанні методу Крилова, як і у методі Данилевського, зводиться до визначення коефіцієнтів характеристичного многочлена і в подальшому визначення його коренів. Для цього, згідно алгоритму, необхідно знайти розв'язок системи лінійних рівнянь, який і міститиме шукані значення коефіцієнтів. Після того, як коефіцієнти відомі, необхідно знайти корені нелінійного рівняння (характеристичного многочлена) і таким чином визначити шукані власні значення матриці.

Інтерфейс програми, яка використовуючи алгоритм методу Крилова знаходить власні значення матриці
Відмітимо, що програма для знаходження розв'язоку системи лінійних рівнянь використовує метод Гаусса, а для розв'язку нелінійного рівняння — метод хорд.
Знаходження власних значень матриці за методом Крилова
Розглянемо метод призначений для знаходження власних значень матриці, алгоритм якого дещо відрізняється від методу Данилевського. Нехай характеристичний многочлен матриці
. Виходячи з того, що всяка матриця перетворює в нуль свій характеристичний многочлен, будемо мати
.
Візьмемо тепер довільний ненульовий вектор , розмірність якого співпадає з розмірністю матриці
і помножимо обидві частини рівності (1) з правої сторони на даний вектор, отримаємо:
.
Поклавши рівність (2) можна переписати в наступному вигляді:
, або
Знаходження власних значень матриці за методом Данилевського в середовищі програмування Delphi
Використання методу Данилевського, при знаходженні власних значень, зводиться до приведення матриці, з допомогою певних перетворень подібності, до такзваної форми Фробеніуса. Результатом даного перетворення буде матриця, перший рядок якої містить коефіцієнти характеристичного многочлена вхідної матриці. Знайшовши корені даного многочлена, отримуємо шукані власні значення.
Розглянемо delphi-програму, яка на вході приймає матрицю та її розмірність і використовуючи вище розглянутий підхід, знаходить для даної матриці власні значення. Відмітимо, що корені характеристичного многочлена відшукуються за методом хорд.

Інтерфейс програми, яка використовуючи алгоритм методу Данилевського знаходить власні значення матриці
Знаходження власних значень матриці за методом Данилевського
Суть методу Данилевського полягає у приведенні характеристичного визначника матриці до такзваної нормальної форми Фробеніуса:
і розклад його, в подальшому, по елементах першого рядка. В результаті отримаємо характеристичний многочлен степені , коефіцієнтами при невідомих якого є елементи першого рядка матриці Фробеніуса:
Очевидно, що рівняння (2) має коренів
, які можна знайти використовуючи будь-який з методів призначених для знаходження розв'язку нелінійного рівняння (метод хорд, метод дотичних, метод простої ітерації та інші).
Знаходження власних значень матриць малої розмірності на Delphi
Програма призначена для відшукання власних чисел матриць малих розмірностей () і використовує для цього метод розкриття характеристичного визначника. Даний метод базується на відшуканні коренів характеристичного многочлена, коефіцієнтами при невідомих якого є суми діагональних мінорів 1-го, 2-го,... порядків. Тобто, в основу даного методу покладено процес знаходження коефіцієнтів многочлена, після чого відшукання його розв'язку одним з відомих методів призначених для розв'язку нелінійного рівняння (метод хорд, метод дотичних, метод простої ітерації та інші), які і являтимуться власними значеннями вхідної матриці. В нашому випадку, для відшукання коренів многочлена, програма використовує метод хорд.

Інтерфейс програми, яка знаходить власні значення матриці за методом розкриття характеристичного визначника