Знаходження власних значень симетричної тридіагональної матриці в середовищі програмування delphi

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

Інтерфейс delphi-проекту "Знаходження власних значень матриці методом половинного ділення"

Інтерфейс delphi-проекту "Знаходження власних значень матриці методом половинного ділення"

Результатом роботи програми є вивід в правій частині форми наближеного значення для шуканого власного значення.

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

Знаходження власних значень тридіагонольної симетричної матриці методом половинного ділення

Перш ніж приступити до розгляду методу половинного ділення, та застосування його для знаходження власних значень тридіагонольної симетричної матриці, попередньо розглянемо означення послідовності Штурма, та основну її властивість, на якій грунтується даний метод.

Отже, нехай маємо деяку тридіагональну матрицю виду:

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

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

Відшукання власних значень матриці використовуючи метод Федєєва в середовищі програмування Delphi

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

На вході програма приймає квадратну матрицю розмірності N×N. Після чого, використовуючи алгоритм методу Федєєва, відшукує коефіцієнти характеристичного многочлена і в подальшому, з допомогою методу хорд, знаходить корені характеристичного рівняння. Отриманий розв'язок і являтиметься шуканими власними значеннями заданої матриці.

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

Програмна реалізація алгоритму методу Левер'є для знаходження власних значень матриці

Створений delphi-проект, в залежності від величин N (кількість рядків та стовпців), створює матрицю розміром N×N і призначена для знаходження власних значень для даної матриці (діапазон розмірності матриці змінюється від 2 до 5). В якості методу програма викристовує метод Левер'є. Алгоритм розкриття вікового визначника з допомогою даного методу доволі простий: в першу чергу здійснюється відшукання матриць Ak — степені матриці А і в подальшому знаходженні суми їх діагональних елементів (більш детальна інформація про даний методу містиься за посиланням Знаходження власних значень матриці за методом Левер'є).

Запустивши розглядуваний проект на виконання бачимо, що головне вікно програми ділиться на дві частини: робочої області (складається з поля «Розмірність матриці», таблиці StringGrid в комірках якої відображаються елементи матриці і кнопки «Знайти власні значення матриці») та поля виводу результатів (компонент Memo).

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

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

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

Основна ідея методу Фадєєва полягає в тому, що замість послідовності Метод Федєєва, яку ми відшукували використовуючи алгоритм методу Левер'є, обчислюють послідовність Метод Федєєва, побудовану за наступними формулами:

Метод Фадєєва

де Метод Фадєєва — одинична матриця того ж самого порядку, що і матриця Метод Фадєєва; Метод Фадєєва сліди матриць Метод Федєєва відповідно.

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

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

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

metod_laverre14

де Метод Леверр'є корені даного многочлена. Розкладемо многочлен (1) на лінійні множники. В результаті отримаємо:

metod_laverre15

Перемноживши вирази, які містяться в правій частині (2) та звівши подібні члени, після чого прирівнявши їх з відповідними коефіцієнтами з (1), отримаємо формули, які виражають коефіцієнти характеристичного мнгочлена через його корені:

metod_laverre31

де metod_laverre17 - елементарні симетричні функції коренів характеристичного многочлена.

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