Обчислення детермінанта квадратної матриці методом розкладу по першому рядку в середовищі Delphi

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

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

Інтерфейс delphi-проекту, який для обчислення визначника використовує метод розкладу по першому рядку

Інтерфейс delphi-проекту, який для обчислення визначника матриці здійснює його розклад по першому рядку

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

Скачати delphi-проект, який використовуючи метод розкладу визначника по першому рядку, обчислює детермінант квадратної матриці.

Матеріал був корисним, поділись в соціальних мережах:

Якщо тобі сподобалась дана тема, залиш свій коментар