By | 23/09/2016

При розгляді чисельних методів призначених для розв’язку систем рівнянь, завжди вважалось, що матриця коефіцієнтів при невідомих системи є квадратною, тобто з однаковою кількістю рядків і стовпців. Якщо, наприклад, кількість рядків (кількість рівнянь в системі) буде меншою, ніж кількість стовпців (фактично, кількості невідомих), то система буде невизначеною і всі точні та ітераційні методи рішення лінійних систем, являтимуться неефктивними. Тобто ми не зможемо однозначно визначити всі невідомі.

Але це не єдине обмеження. З векторної алгебри відомо, що система лінійних рівнянь має однозначне рішення тоді і тільки тоді, коли її головний визначник не дорівнює нулю. Що ж робити, коли він (визначник) все-таки дорівнює нулю?

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

Отже, під узагальненим розв’язком системи рівнянь:

де – матриця розмірності , – вектор вільних членів, – шуканий вектор, розуміють вектор , що задовольняє наступній умові:

де – евклідова норма.

Зауважимо, що якщо система (1) має класичний розв’язок, то він збігається з псевдорозв’язком, і при цьому . Однак, це не завжди так. Тому процедура знаходження векторів, що мінімізують функціонал нев’язки має сенс.

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

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

Розв’язок системи рівнянь з прямокутною або виродженою матрицею – приклад:

Знайти нормальний псевдорозв’язок системи лінійних алгебраїчних рівнянь наступного вигялду:

Виходячи з того, що псевдообернена матриця для заданої систмеми було знайдено при розгляді теоретичної частини процесу обертання прямокутних та вироджених матриць (міститься за вказаним вище посиланням), то узагальнений нормальний розв’язок знаходиться наступним чином:

Блок-схема алгоритму знаходження розв’язку системи рівнянь з прямокутною або виродженою матрицею

нормальний псевдорозв'язок блок-схема

2 Replies to “Знаходження нормального псевдорозв’язку для систем з прямокутною або виродженою матрицею”

  1. admin Автор

    Доброго вечора Ilya. Ми звернули увагу на Ваш коментар і внесли відповідні поправки у розміщеній вище блок-схемі. Приносимо свої вибачення за те, що дана помилка не була виявлена і усунута нами на стадії написання даного матеріалу.

  2. Ilya

    Добрий день.В процедурі get_eignvalues_and_vectors в передостанньому циклі (k: = 1, n)
    в сумі S: = S + U [i] [k] * L [k] [j], чому у U [i] [k] індекс i, адже для нього немає циклу?

    І в наступній сходинці блок-схеми v: = solve_system (A2, b, n), чому в змінну v присвоюватися двовимірний массів.А в наступному циклі (i: = 1, n) в рядку vectors [i] [j] = v [i], зчитується як одновимірний?

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

*