|
|
За пълната версия
Пълната версия на английски език
се отличава от съкратената версия на български език както следва:
- Пълната версия включва
възможността за намиране на обратните матрици
на матрици не само от трети ред, но на матрици от втори
до пети ред.
- Пълната версия използва разширен алгоритъм на Гаус-Жордан,
даващ решението във вида, който се ползва при учебния
процес в университетите у нас и в чужбина.
- Пълната версия включва примери от основни учебници
и сборници със задачи (английски и руски), с които
сравняваме решенията, давани от програмата с решенията
на решените примери от тези учебни пособия.
- Пълната версия включва примери за намирането на
обратните матрици на специални матрици (матрици на Wandermonde,
Hilbert, Hankel, Fibonacci, Pascal). Тези примери имат за цел да
демонстрират функционирането на програмата,
а също така могат да служат за справочни цели.
- Пълната версия включва възможност за генериране на
случайни матрици за ползване от потребителя.
- Пълната версия включва конвертор на
десетични дроби в обикновени дроби.
По-долу е дадено описание на разширения алгоритъм на
Гаус-Жордан, използван от пълната версия.
Безплатната версия използва само стъпки 3,13,14 и 15
от описания по-долу алгоритъм.
С aij бележим елемента на матрицата, разположен в
i-тия ред и j-ия стълб.
Първо съкращаваме въведените обикновени дроби
до несъкратими обикновени дроби.
Например, 3/3 съкращаваме до 1 и
3/6 съкращаваме до 1/2.
След това записваме разширената матрица на
дадената матрица и я преобразуваме с елементарни
преобразования на редовете до редуцирана стъпаловидна
матрица. Ако в процеса на преобразуване достигнем до
нулев ред или стълб (т.е. ред или стълб
всички елементи на който са нули)
в лявата част на разширната матрица,
правим заключение, че лявата част на разширената матрица
не може да бъде преобразувана до единичната матрица.
Оттук правим заключението, че дадената матрица
няма обратна матрица. (За повече сведения посетете
уеб сайта www.dekovsoft.com).
Преобразуването на разширената матрица на дадената матрица
извършваме както следва: Първо канонизираме
първия стълб, като използваме елемента a11,
след това канонизираме втория стълб като използваме
елемента a22 и така нататък.
За да канонизира първия стълб,
програмата извършва следните операции:
- Ако a11 = 0, за да направим елемента a11 различен от 0,
опитваме да намерим единица
(в първия стълб) и след това разменяме местата на
редовете. Пример. Нека разширената
матрица има следния вид:
Тъй като a11 = 0,
разменяме местата на първия и третия ред.
- Ако a11 = 0, за да направим a11 различен от 0, опитваме
да намерим -1
(в първия стълб) и след това разменяме местата на
редовете. Пример. Нека разширената
матрица има следния вид:
Тъй като a11 = 0,
разменяме местата на първия и третия ред.
- Ако a11 = 0, за да направим a11 различен от 0,
намираме първия елемент под a11, различен от 0
и след това разменяме местата на редовете.
Пример. Нека разширената
матрица има следния вид:
Тъй като a11 = 0,
разменяме местата на първия и втория ред.
Бележка. След стъпка 3, a11 не е равен на 0.
- Ако a11 = a21 или a11 = a31,
считаме за подходящо да направим a21 = 0 (или a31 = 0)
при тази стъпка.
Пример. Нека разширената
матрица има следния вид:
За да направим a31 = 0,
умножаваме първия ред по -1 и го прибавяме към третия ред.
Друг пример. Нека разширената матрица има следния вид:
За да направим a21 = 0,
умножаваме първия ред по -1 и го прибавяме към втория ред.
След това, за да направим a31 = 0,
умножаваме първия ред по -1 и го прибавяме към третия ред.
След това, за да направим a11 = 1, разделяме първия ред на 3.
- Ако a11 = -a21 или a11 = -a31,
считаме за подходящо да направим a21 = 0 (или a31 = 0)
при тази стъпка.
Пример. Нека разширената
матрица има следния вид:
За да направим a31 = 0,
прибавяме първия ред към третия ред.
Друг пример. Нека разширената матрица има следния вид:
За да направим a21 = 0,
прибавяме първия ред към втория ред.
След това, за да направим a31 = 0,
прибавяме първия ред към третия ред.
След това, за да направим a11 = 1, разделяме първия ред на 3.
- Ако е подходящо,
предпочитаме да направим a21 = 0 (или a31 = 0)
при тази стъпка.
Пример. Нека разширената
матрица има следния вид:
За да направим a21 = 0,
умножаваме първия ред по -2 и го прибавяме към втория ред.
След това, за да направим a31 = 0,
умножаваме първия ред по 3 и го прибавяме към третия ред.
След това, за да направим a11 = 1, разделяме първия ред на 3.
- Ако a11 не е равен на 1, за да направим a11 = 1,
опитваме да намерим 1
(в първия стълб) и след това разменяме редовете.
Пример. Нека разширената
матрица има следния вид:
За да направим a11 = 1,
разменяме местата на първия и третия ред.
- Ако a11 не е равен на 1, опитваме да направим
a11 = 1 чрез събиране на редове.
Пример. Нека разширената
матрица има следния вид:
За да направим a11 = 1,
прибавяме втория ред към първия ред.
Друг пример. Нека разширената матрица има следния вид:
За да направим a11 = 1,
прибавяме третия ред към първия ред.
- Ако a11 не е равен на 1,
опитваме да направим
a11 = 1 с подходящи операции.
Пример. Нека разширената
матрица има следния вид:
За да направим a11 = 1,
умножаваме третия ред по -2 и го прибавяме към първия ред.
Друг пример. Нека разширената матрица има следния вид:
За да направим a11 = 1,
умножаваме третия ред по -7 и го прибавяме към първия ред.
- Ако a11 не равен на -1, за да направим a11 = -1,
опитваме да намерим -1
(в първия стълб) и след това разменяме редовете.
Пример. Нека разширената
матрица има следния вид:
За да направим a11 = -1,
разменяме местата на първия и третия ред.
- Ако a11 не е равен на -1, опитваме да направим
a11 = -1 чрез събиране на редове.
Пример. Нека разширената
матрица има следния вид:
За да направим a11 = -1,
прибавяме третия ред към първия ред.
- Ако a11 не е равен на -1,
опитваме да направим
a11 = -1 с подходящи операции.
Пример. Нека разширената
матрица има следния вид:
За да направим a11 = -1,
умножаваме третия ред по 2 и го прибавяме към първия ред.
- Ако a11 не е равен на 1, за да направим a11 = 1,
разделяме първия ред на 1/a11.
Пример. Нека разширената
матрица има следния вид:
За да направим a11 = 1,
умножаваме първия ред по 1/a11 = 1/7.
Бележка. След стъпка 13, a11 е равен на 1.
- Ако a21 не е равен на 0,
за да направим a21 = 0,
умножаваме първия ред по -a21 и го прибавяме към втория ред.
Пример. Нека разширената
матрица има следния вид:
За да направим a21 = 0,
умножаваме първия ред по -a21 = -2 и го прибавяме към втория ред.
- Ако a31 не е равен на 0,
за да направим a31 = 0,
умножаваме първия ред по -a31 и го прибавяме към третия ред.
Пример. Нека разширената
матрица има следния вид:
За да направим a31 = 0,
умножаваме първия ред по -a31 = -2 и го прибавяме към третия ред.
Обратни Матрици Free 1.01
|
|