Програмна реалізація алгоритму LU-розкладання для знаходження власних значень несиметричної матриці

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

Ліва частина форми містить область вхідних даних, яка складається з однієї кнопки типу TButton (кнопка "Знайти власні значення матриці" — реалізує алгоритм LU-розкладання для знаходження власних значень вхідної матриці), одного поля вибору типу TSpinEdit (поле вибору "Виберіть розмірність матриці" відповідає за число рядків та стовпців вхідної матриці), одного поля вводу типу TEdit (поле "Точність обчислень" відповідає за точність з якою необхідно знайти власні значення вхідної матриці) та таблиці TStringGrid у комірки якої, способом введення з клавіатури, записуються значення елементів вхідної матриці. Праву частину форми займає компонент типу TMemo, основним призначенням якого є вивід результату роботи програми.

Читати повністю

Знаходження власних значень матриці використовуючи алгоритм LU-розкладання

Частіше, принаймні, в несиметричному випадку, алгоритми наближеного рішення повних проблем власних значень грунтуються на приведенні заданої матриці до подібної їй матриці не діагонального, а трикутного вигляду. Найпоширенішим серед таких є алгоритм, що спирається на LU-розкладанні матриці. Розглянемо його більш детально. Для цього розглянемо квадратну матрицю  розмірності , записану у вигляді добутку , де  і  — відповідно нижня і верхня трикутні матриці, елементи яких обчислюються за наступними формулами :

Зауваження: більш детальну інформацію про обчислення елементів матриць  і  можна знайти за посиланням Розв'язок СЛАР методом LU-факторизації.

Далі, позначимо , після чого, роз'вяжемо дану рівність відносно . В результаті отримаємо . Підставами останній вираз у формулу LU-розкладання матриці , отримаємо перетворення подібності , яке говорить про подібність матриць  та  і відповідно про рівність їх власних значень. Далі, представимо матрицю  у вигляді , після чого, поклавши , отримаємо нову матрицю, подібну до матриць  і  відповідно. Продовжуючи даний процес далі, можна зробити висновок, що алгоритм знаходження власних значень згідно алгоритму LU-розкладання визначається фактично двома формулами:

Читати повністю