Реферат: Определитель произведения прямоугольных матриц. Теорема Коши-Бине

--PAGE_BREAK--Глава III


§1 Обратимые матрицы


<img width=«119» height=«21» src=«ref-1_748535591-302.coolpic» v:shapes="_x0000_i1271"> поле скаляров, множество <img width=«75» height=«25» src=«ref-1_748590407-289.coolpic» v:shapes="_x0000_i1272">матриц порядка <img width=«37» height=«15» src=«ref-1_748521874-216.coolpic» v:shapes="_x0000_i1273">

Определение. Квадратная матрица <img width=«15» height=«16» src=«ref-1_748590912-192.coolpic» v:shapes="_x0000_i1274"> порядка <img width=«37» height=«15» src=«ref-1_748521874-216.coolpic» v:shapes="_x0000_i1275"> называется единичной матрицей <img width=«97» height=«25» src=«ref-1_748591320-315.coolpic» v:shapes="_x0000_i1276">, <img width=«107» height=«75» src=«ref-1_748591635-310.coolpic» v:shapes="_x0000_i1277">

Пусть <img width=«101» height=«25» src=«ref-1_748581777-319.coolpic» v:shapes="_x0000_i1278">, <img width=«132» height=«99» src=«ref-1_748592264-417.coolpic» v:shapes="_x0000_i1279">

Теорема 1

<img width=«97» height=«25» src=«ref-1_748591320-315.coolpic» v:shapes="_x0000_i1280">, то для <img width=«109» height=«25» src=«ref-1_748592996-332.coolpic» v:shapes="_x0000_i1281"> выполняется <img width=«108» height=«17» src=«ref-1_748593328-283.coolpic» v:shapes="_x0000_i1282"> 

Доказательство:

<img width=«15» height=«17» src=«ref-1_748570214-187.coolpic» v:shapes="_x0000_i1283"> 

<img width=«368» height=«77» src=«ref-1_748593798-739.coolpic» v:shapes="_x0000_i1284">

<img width=«368» height=«77» src=«ref-1_748594537-756.coolpic» v:shapes="_x0000_i1285">

Из этого следует <img width=«108» height=«17» src=«ref-1_748593328-283.coolpic» v:shapes="_x0000_i1286">. Матрица <img width=«15» height=«16» src=«ref-1_748590912-192.coolpic» v:shapes="_x0000_i1287"> является единичной матрицей. Она выполняет роль единицы при умножении матриц.

Определение. Квадратная матрица <img width=«100» height=«25» src=«ref-1_748595768-320.coolpic» v:shapes="_x0000_i1288">называется обратимой если существует <img width=«97» height=«25» src=«ref-1_748596088-319.coolpic» v:shapes="_x0000_i1289"> так, что выполняются условия <img width=«107» height=«17» src=«ref-1_748596407-277.coolpic» v:shapes="_x0000_i1290">

Матрица <img width=«16» height=«17» src=«ref-1_748579674-195.coolpic» v:shapes="_x0000_i1291"> называется обратной к <img width=«16» height=«17» src=«ref-1_748596879-195.coolpic» v:shapes="_x0000_i1292">и обозначается <img width=«52» height=«20» src=«ref-1_748597074-236.coolpic» v:shapes="_x0000_i1293">, тогда если <img width=«16» height=«17» src=«ref-1_748579674-195.coolpic» v:shapes="_x0000_i1294">-это обратная к <img width=«16» height=«17» src=«ref-1_748596879-195.coolpic» v:shapes="_x0000_i1295">, то <img width=«16» height=«17» src=«ref-1_748596879-195.coolpic» v:shapes="_x0000_i1296"> обратная к <img width=«16» height=«17» src=«ref-1_748579674-195.coolpic» v:shapes="_x0000_i1297"><img width=«51» height=«21» src=«ref-1_748598090-237.coolpic» v:shapes="_x0000_i1298">-это взаимообратные матрицы т.е. <img width=«107» height=«17» src=«ref-1_748596407-277.coolpic» v:shapes="_x0000_i1299">

Теорема 2

Если <img width=«16» height=«17» src=«ref-1_748596879-195.coolpic» v:shapes="_x0000_i1300">-обратима, то существует только одна матрица обратная к <img width=«16» height=«17» src=«ref-1_748596879-195.coolpic» v:shapes="_x0000_i1301">

Доказательство:

<img width=«15» height=«17» src=«ref-1_748570214-187.coolpic» v:shapes="_x0000_i1302"> Пусть дана матрица <img width=«16» height=«17» src=«ref-1_748596879-195.coolpic» v:shapes="_x0000_i1303">, которая обратима и пусть существуют матрицы <img width=«39» height=«21» src=«ref-1_748599376-219.coolpic» v:shapes="_x0000_i1304">обратные к <img width=«16» height=«17» src=«ref-1_748596879-195.coolpic» v:shapes="_x0000_i1305"> т.е. <img width=«181» height=«21» src=«ref-1_748599790-375.coolpic» v:shapes="_x0000_i1306">. Имеем <img width=«248» height=«32» src=«ref-1_748600165-484.coolpic» v:shapes="_x0000_i1307">

<img width=«16» height=«19» src=«ref-1_748573514-194.coolpic» v:shapes="_x0000_i1308">

Обозначение: Множество всех обратимых матриц порядка <img width=«13» height=«15» src=«ref-1_748538280-192.coolpic» v:shapes="_x0000_i1309"> над полем <img width=«16» height=«17» src=«ref-1_748539085-195.coolpic» v:shapes="_x0000_i1310"> обозначается <img width=«61» height=«21» src=«ref-1_748601230-270.coolpic» v:shapes="_x0000_i1311">

Теорема 3

Справедливы утверждения:

1) <img width=«119» height=«29» src=«ref-1_748601500-347.coolpic» v:shapes="_x0000_i1312"> алгебра

2) <img width=«119» height=«29» src=«ref-1_748601500-347.coolpic» v:shapes="_x0000_i1313"> группа

Доказательство:

<img width=«19» height=«21» src=«ref-1_748602194-187.coolpic» v:shapes="_x0000_i1314">1) <img width=«9» height=«12» src=«ref-1_748602381-177.coolpic» v:shapes="_x0000_i1315">-это бинарная операция

а) Пусть <img width=«104» height=«21» src=«ref-1_748602558-314.coolpic» v:shapes="_x0000_i1316">, так как <img width=«32» height=«21» src=«ref-1_748602872-220.coolpic» v:shapes="_x0000_i1317">-обратимые матрицы, проверим, что <img width=«9» height=«12» src=«ref-1_748602381-177.coolpic» v:shapes="_x0000_i1318">-это бинарная операция:

<img width=«381» height=«24» src=«ref-1_748603269-608.coolpic» v:shapes="_x0000_i1319"> обратные к <img width=«27» height=«17» src=«ref-1_748570005-209.coolpic» v:shapes="_x0000_i1320">

Аналогично: <img width=«108» height=«24» src=«ref-1_748604086-317.coolpic» v:shapes="_x0000_i1321">, <img width=«27» height=«17» src=«ref-1_748570005-209.coolpic» v:shapes="_x0000_i1322"> обратимая матрица т.е <img width=«9» height=«12» src=«ref-1_748602381-177.coolpic» v:shapes="_x0000_i1323">-это бинарная операция

б) <img width=«151» height=«21» src=«ref-1_748604789-344.coolpic» v:shapes="_x0000_i1324">, матрица <img width=«25» height=«20» src=«ref-1_748605133-206.coolpic» v:shapes="_x0000_i1325">обратима, поэтому <img width=«15» height=«20» src=«ref-1_748605339-182.coolpic» v:shapes="_x0000_i1326">-это унарная операция

в) <img width=«87» height=«19» src=«ref-1_748605521-267.coolpic» v:shapes="_x0000_i1327"> обратима т.е <img width=«88» height=«21» src=«ref-1_748605788-292.coolpic» v:shapes="_x0000_i1328">

<img width=«16» height=«19» src=«ref-1_748573514-194.coolpic» v:shapes="_x0000_i1329">

2) Докажем второе утверждение, что <img width=«119» height=«29» src=«ref-1_748601500-347.coolpic» v:shapes="_x0000_i1330"> группа. Для этого проверим аксиомы групп:

1) <img width=«256» height=«21» src=«ref-1_748606621-478.coolpic» v:shapes="_x0000_i1331">

2) <img width=«89» height=«17» src=«ref-1_748607099-281.coolpic» v:shapes="_x0000_i1332">

3) <img width=«64» height=«20» src=«ref-1_748607380-248.coolpic» v:shapes="_x0000_i1333">

<img width=«135» height=«29» src=«ref-1_748607628-364.coolpic» v:shapes="_x0000_i1334"> группа

<img width=«16» height=«19» src=«ref-1_748573514-194.coolpic» v:shapes="_x0000_i1335">

Следствие:

Произведение обратимых матриц есть обратимая матрица

Если <img width=«16» height=«17» src=«ref-1_748596879-195.coolpic» v:shapes="_x0000_i1336"> обратима, то <img width=«25» height=«20» src=«ref-1_748605133-206.coolpic» v:shapes="_x0000_i1337">обратима

<img width=«77» height=«32» src=«ref-1_748608587-287.coolpic» v:shapes="_x0000_i1338">

<img width=«67» height=«29» src=«ref-1_748608874-273.coolpic» v:shapes="_x0000_i1339">

§2 Элементарные матрицы

Пусть <img width=«119» height=«21» src=«ref-1_748535591-302.coolpic» v:shapes="_x0000_i1341"> поле скаляров

Определение.Элементарной матрицей называется матрица, полученная из единичной матрицы <img width=«16» height=«17» src=«ref-1_748609449-196.coolpic» v:shapes="_x0000_i1342"> в результате одного из следующих элементарных преобразований:

Умножение строки (столбца) <img width=«16» height=«17» src=«ref-1_748609449-196.coolpic» v:shapes="_x0000_i1343"> на скаляр <img width=«39» height=«19» src=«ref-1_748609841-222.coolpic» v:shapes="_x0000_i1344">

Прибавление к какой либо строке (столбцу) <img width=«16» height=«17» src=«ref-1_748609449-196.coolpic» v:shapes="_x0000_i1345"> другой строки (столбца), умноженный на скаляр <img width=«15» height=«19» src=«ref-1_748533068-198.coolpic» v:shapes="_x0000_i1346">

Обозначение: <img width=«32» height=«25» src=«ref-1_748610457-220.coolpic» v:shapes="_x0000_i1347">-элементарная матрица, полученная умножением на <img width=«15» height=«19» src=«ref-1_748533068-198.coolpic» v:shapes="_x0000_i1348"> <img width=«5» height=«17» src=«ref-1_748610875-183.coolpic» v:shapes="_x0000_i1349">-строки (столбца) матрицы <img width=«16» height=«17» src=«ref-1_748609449-196.coolpic» v:shapes="_x0000_i1350">

<img width=«148» height=«120» src=«ref-1_748611254-383.coolpic» v:shapes="_x0000_i1351"><img width=«9» height=«17» src=«ref-1_748536762-185.coolpic» v:shapes="_x0000_i1352">-строка

<img width=«51» height=«25» src=«ref-1_748611822-242.coolpic» v:shapes="_x0000_i1353">-элементарная матрица, полученная прибавлением к <img width=«5» height=«17» src=«ref-1_748610875-183.coolpic» v:shapes="_x0000_i1354">-строке (столбцу) матрицы <img width=«16» height=«17» src=«ref-1_748609449-196.coolpic» v:shapes="_x0000_i1355"> <img width=«13» height=«20» src=«ref-1_748537204-189.coolpic» v:shapes="_x0000_i1356">-строки (столбца), умноженной на <img width=«15» height=«19» src=«ref-1_748533068-198.coolpic» v:shapes="_x0000_i1357">

<img width=«195» height=«168» src=«ref-1_748612830-429.coolpic» v:shapes="_x0000_i1358"><img width=«9» height=«17» src=«ref-1_748536762-185.coolpic» v:shapes="_x0000_i1359">-строка

Пример: Элементарные матрицы порядка 2

<img width=«79» height=«48» src=«ref-1_748613444-298.coolpic» v:shapes="_x0000_i1360">, <img width=«53» height=«48» src=«ref-1_748613742-277.coolpic» v:shapes="_x0000_i1361">, <img width=«53» height=«48» src=«ref-1_748614019-275.coolpic» v:shapes="_x0000_i1362">, <img width=«53» height=«48» src=«ref-1_748614294-274.coolpic» v:shapes="_x0000_i1363">, <img width=«53» height=«48» src=«ref-1_748614568-274.coolpic» v:shapes="_x0000_i1364">

Обозначение: <img width=«21» height=«25» src=«ref-1_748614842-217.coolpic» v:shapes="_x0000_i1365">-элементарная матрица, полученная из единичной матрицы <img width=«16» height=«17» src=«ref-1_748609449-196.coolpic» v:shapes="_x0000_i1366">с помощью элементарного преобразования <img width=«15» height=«17» src=«ref-1_748615255-199.coolpic» v:shapes="_x0000_i1367">

Глава IV


§1 Определители


Определитель матрицы <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1368">обозначается <img width=«251» height=«39» src=«ref-1_748615650-514.coolpic» v:shapes="_x0000_i1369">. Другими словами определитель матрицы <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1370">-это сумма произведений из множества <img width=«44» height=«21» src=«ref-1_748616360-246.coolpic» v:shapes="_x0000_i1371"> умноженная на знак, соответствующей подстановки.

Пример

<img width=«37» height=«19» src=«ref-1_748616606-220.coolpic» v:shapes="_x0000_i1372">

<img width=«509» height=«51» src=«ref-1_748616826-916.coolpic» v:shapes="_x0000_i1373">

Определитель второго порядка равен произведению элементов главной диагонали вычесть произведение элементов на побоичной.

Для <img width=«36» height=«19» src=«ref-1_748617742-215.coolpic» v:shapes="_x0000_i1374">

<img width=«695» height=«149» src=«ref-1_748617957-2542.coolpic» v:shapes="_x0000_i1375">

Получили правило треугольника:

<img width=«284» height=«98» src=«ref-1_748620499-3922.coolpic» v:shapes="_x0000_s1026 _x0000_s1027 _x0000_s1028 _x0000_s1029 _x0000_s1030 _x0000_s1031 _x0000_s1032 _x0000_s1033 _x0000_s1034 _x0000_s1035 _x0000_s1036 _x0000_s1037 _x0000_s1038 _x0000_s1039 _x0000_s1040 _x0000_s1041 _x0000_s1042 _x0000_s1043 _x0000_s1044 _x0000_s1045 _x0000_s1046">

§2 Простейшие свойства определителей

Определитель матрицы с нулевой строкой (столбцом) равен нулю

Определитель треугольной матрицы равен произведению элементов, расположенных на главной диагонали

<img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1376">-это треугольная матрица если элементы под главной диагональю равны нулю.

Определитель диагональной матрицы равен произведению элементов, расположенных на главной диагонали. Матрица <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1377"> диагональная если все элементы, расположенные вне главной диагонали равны нулю.

§3 Основные свойства определителей

<img width=«119» height=«21» src=«ref-1_748535591-302.coolpic» v:shapes="_x0000_i1378"> поле скаляров, <img width=«148» height=«31» src=«ref-1_748625115-365.coolpic» v:shapes="_x0000_i1379">

1) <img width=«60» height=«29» src=«ref-1_748625480-251.coolpic» v:shapes="_x0000_i1380">

Доказательство:

<img width=«712» height=«67» src=«ref-1_748625731-1260.coolpic» v:shapes="_x0000_i1381">, обозначим <img width=«48» height=«21» src=«ref-1_748626991-229.coolpic» v:shapes="_x0000_i1382">. Если <img width=«12» height=«13» src=«ref-1_748627220-186.coolpic» v:shapes="_x0000_i1383"> «пробегает» все множество <img width=«19» height=«24» src=«ref-1_748627406-210.coolpic» v:shapes="_x0000_i1384">, то <img width=«13» height=«19» src=«ref-1_748627616-198.coolpic» v:shapes="_x0000_i1385">тоже «пробегает» все <img width=«19» height=«24» src=«ref-1_748627406-210.coolpic» v:shapes="_x0000_i1386">т.е.

<img width=«576» height=«96» src=«ref-1_748628024-1370.coolpic» v:shapes="_x0000_i1387">

При перестановке двух столбцов (строк) матрицы <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1388">ее определитель изменит знак.

Доказательство:

I) Перестановка столбцов:

Пусть <img width=«16» height=«16» src=«ref-1_748521677-197.coolpic» v:shapes="_x0000_i1389">- это матрица, полученная из <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1390"> перестановкой двух столбцов с номерами <img width=«24» height=«21» src=«ref-1_748629983-213.coolpic» v:shapes="_x0000_i1391">, где <img width=«35» height=«19» src=«ref-1_748630196-225.coolpic» v:shapes="_x0000_i1392">. Рассмотрим транспозицию:

<img width=«201» height=«48» src=«ref-1_748630421-440.coolpic» v:shapes="_x0000_i1393">, транспозиция является нечетной подстановкой <img width=«71» height=«31» src=«ref-1_748630861-267.coolpic» v:shapes="_x0000_i1394">, <img width=«63» height=«25» src=«ref-1_748631128-261.coolpic» v:shapes="_x0000_i1395">, <img width=«75» height=«31» src=«ref-1_748631389-266.coolpic» v:shapes="_x0000_i1396">

В доказательстве будем использовать равенство: <img width=«163» height=«25» src=«ref-1_748631655-395.coolpic» v:shapes="_x0000_i1397">

<img width=«862» height=«39» src=«ref-1_748632050-1355.coolpic» v:shapes="_x0000_i1398"> <img width=«119» height=«19» src=«ref-1_748633405-296.coolpic» v:shapes="_x0000_i1399">

Если <img width=«12» height=«13» src=«ref-1_748627220-186.coolpic» v:shapes="_x0000_i1400"> пробегает все множество значений <img width=«19» height=«24» src=«ref-1_748627406-210.coolpic» v:shapes="_x0000_i1401">, то <img width=«27» height=«21» src=«ref-1_748634097-210.coolpic» v:shapes="_x0000_i1402">тоже пробегает все значения и <img width=«45» height=«21» src=«ref-1_748634307-235.coolpic» v:shapes="_x0000_i1403">

II) Перестановка строк

Пусть <img width=«16» height=«16» src=«ref-1_748521677-197.coolpic» v:shapes="_x0000_i1404"> получена из <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1405">перестановкой двух строк, тогда <img width=«19» height=«20» src=«ref-1_748588686-206.coolpic» v:shapes="_x0000_i1406"> получена из <img width=«20» height=«20» src=«ref-1_748526220-207.coolpic» v:shapes="_x0000_i1407"> перестановкой двух столбцов, тогда <img width=«219» height=«33» src=«ref-1_748635348-440.coolpic» v:shapes="_x0000_i1408">

III) Определитель матрицы, имеющий две одинаковые строки (столбца) равных нулю

Доказательство:

Проведем для такого поля <img width=«16» height=«17» src=«ref-1_748539085-195.coolpic» v:shapes="_x0000_i1409">, где <img width=«77» height=«19» src=«ref-1_748635983-250.coolpic» v:shapes="_x0000_i1410">

Замечание

Доказательство для случая <img width=«53» height=«19» src=«ref-1_748636233-213.coolpic» v:shapes="_x0000_i1411">найди в учебнике Куликовой Алгебра и теория чисел

Пусть в <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1412"> есть две одинаковые строки с номерами <img width=«13» height=«19» src=«ref-1_748627616-198.coolpic» v:shapes="_x0000_i1413">и <img width=«9» height=«19» src=«ref-1_748636840-188.coolpic» v:shapes="_x0000_i1414">, где <img width=«35» height=«19» src=«ref-1_748630196-225.coolpic» v:shapes="_x0000_i1415">, поменяем местами строки <img width=«13» height=«19» src=«ref-1_748627616-198.coolpic» v:shapes="_x0000_i1416">и <img width=«9» height=«19» src=«ref-1_748636840-188.coolpic» v:shapes="_x0000_i1417">, получим матрицу <img width=«16» height=«16» src=«ref-1_748521677-197.coolpic» v:shapes="_x0000_i1418">

<img width=«44» height=«17» src=«ref-1_748637836-221.coolpic» v:shapes="_x0000_i1419">(по св.2)

<img width=«65» height=«27» src=«ref-1_748638057-241.coolpic» v:shapes="_x0000_i1420"> и <img width=«53» height=«27» src=«ref-1_748638298-234.coolpic» v:shapes="_x0000_i1421">, тогда <img width=«203» height=«27» src=«ref-1_748638532-349.coolpic» v:shapes="_x0000_i1422">

Если у <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1423"> два одинаковых столбца, то у транспонированной матрицы <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1424"> две одинаковые строки <img width=«87» height=«36» src=«ref-1_748639273-296.coolpic» v:shapes="_x0000_i1425">

IV) Если все элементы какой-либо строки (столбца) матрицы <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1426"> умножить на <img width=«15» height=«19» src=«ref-1_748533068-198.coolpic» v:shapes="_x0000_i1427">, то определитель умножиться на <img width=«15» height=«19» src=«ref-1_748533068-198.coolpic» v:shapes="_x0000_i1428">

Доказательство:

Пусть <img width=«16» height=«16» src=«ref-1_748521677-197.coolpic» v:shapes="_x0000_i1429"> получена из <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1430"> умножением на <img width=«15» height=«19» src=«ref-1_748533068-198.coolpic» v:shapes="_x0000_i1431"> <img width=«13» height=«19» src=«ref-1_748627616-198.coolpic» v:shapes="_x0000_i1432">строки

<img width=«133» height=«51» src=«ref-1_748640950-484.coolpic» v:shapes="_x0000_i1433">

<img width=«217» height=«39» src=«ref-1_748641434-510.coolpic» v:shapes="_x0000_i1434"> так как <img width=«87» height=«25» src=«ref-1_748641944-287.coolpic» v:shapes="_x0000_i1435">, то <img width=«528» height=«39» src=«ref-1_748642231-871.coolpic» v:shapes="_x0000_i1436">

Аналогичное доказательство для столбцов

V) Определитель матрицы у которой две строки (столбца) пропорциональны равны нулю

Доказательство:

Пусть в матрице <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1437">, <img width=«35» height=«19» src=«ref-1_748630196-225.coolpic» v:shapes="_x0000_i1438"> строки <img width=«24» height=«21» src=«ref-1_748629983-213.coolpic» v:shapes="_x0000_i1439"> пропорциональны т.е <img width=«9» height=«19» src=«ref-1_748636840-188.coolpic» v:shapes="_x0000_i1440">-строка равна произведению <img width=«15» height=«19» src=«ref-1_748533068-198.coolpic» v:shapes="_x0000_i1441"> на <img width=«13» height=«19» src=«ref-1_748627616-198.coolpic» v:shapes="_x0000_i1442">-строку. Пусть <img width=«39» height=«19» src=«ref-1_748609841-222.coolpic» v:shapes="_x0000_i1443">

<img width=«248» height=«171» src=«ref-1_748644542-804.coolpic» v:shapes="_x0000_i1444">

Для столбцов:

Пусть <img width=«16» height=«16» src=«ref-1_748521677-197.coolpic» v:shapes="_x0000_i1445"> получена из <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1446">, <img width=«35» height=«19» src=«ref-1_748630196-225.coolpic» v:shapes="_x0000_i1447">. Столбцы <img width=«13» height=«19» src=«ref-1_748627616-198.coolpic» v:shapes="_x0000_i1448"> и <img width=«9» height=«19» src=«ref-1_748636840-188.coolpic» v:shapes="_x0000_i1449"> пропорциональны и <img width=«39» height=«19» src=«ref-1_748609841-222.coolpic» v:shapes="_x0000_i1450">

<img width=«472» height=«75» src=«ref-1_748646572-847.coolpic» v:shapes="_x0000_i1451">

VI) Если каждый элемент <img width=«13» height=«19» src=«ref-1_748627616-198.coolpic» v:shapes="_x0000_i1452">-строки(столбца) квадратной матрицы <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1453"> есть сумма двух элементов, то определитель <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1454"> равен сумме двух определителей. В матрице первого определителя в <img width=«13» height=«19» src=«ref-1_748627616-198.coolpic» v:shapes="_x0000_i1455">- строке (столбце), записаны первые слагаемые, а в матрице второго определителя вторые слагаемые. Остальные элементы матриц этих определителей такие же как у матрицы <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1456">

Доказательство:

<img width=«348» height=«123» src=«ref-1_748648403-938.coolpic» v:shapes="_x0000_i1457">

<img width=«499» height=«80» src=«ref-1_748649341-1190.coolpic» v:shapes="_x0000_i1458">

VII) Ели к какой либо строке (столбцу) матрице определителя прибавить другую строку (столбец), умноженный на <img width=«15» height=«19» src=«ref-1_748533068-198.coolpic» v:shapes="_x0000_i1459">, то определитель неизменится.

Доказательство:

<img width=«419» height=«171» src=«ref-1_748650729-1232.coolpic» v:shapes="_x0000_i1460">

Для столбцов анологично.

VIII) Если какая либо строка (столбец) матрицы <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1461"> является линейной комбинацией других строк (столбцов) <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1462">, то определитель <img width=«45» height=«27» src=«ref-1_748652353-219.coolpic» v:shapes="_x0000_i1463">

Доказательство:

Если какая то строка линейная комбинация других строк, то к ней можно прибавить другие строки, умноженные на скаляры так, чтобы получилась нулевая строка. Определитель такой матрицы равен нулю.

Пример:

<img width=«275» height=«75» src=«ref-1_748652572-681.coolpic» v:shapes="_x0000_i1464"> (сначала умножаем первую строку на -2 и складываем со второй, затем на -3 и складываем с третей). Такое правило приведения к треугольному виду используется для определителей <img width=«13» height=«15» src=«ref-1_748538280-192.coolpic» v:shapes="_x0000_i1465">- порядка:

<img width=«327» height=«120» src=«ref-1_748653445-547.coolpic» v:shapes="_x0000_i1466"> так как определитель треугольной матрицы равен произведению элементов расположенных на главной диагонали.

Если квадратная матрица является произведением некоторых матриц (которые могут быть прямоугольными), то часто бывает важно иметь возможность выразить определитель произведения в терминах свойств множителей. Следующая теорема –мощный показатель этого.

§4 Миноры и алгебраические дополнения.

Теоремы об определителях.

<img width=«119» height=«21» src=«ref-1_748535591-302.coolpic» v:shapes="_x0000_i1467"> поле скаляров, <img width=«73» height=«31» src=«ref-1_748654294-263.coolpic» v:shapes="_x0000_i1468">

Опр. Минор <img width=«25» height=«25» src=«ref-1_748654557-223.coolpic» v:shapes="_x0000_i1469"> элемента <img width=«19» height=«25» src=«ref-1_748531711-205.coolpic» v:shapes="_x0000_i1470"> определителя <img width=«15» height=«17» src=«ref-1_748570214-187.coolpic» v:shapes="_x0000_i1471"> порядка <img width=«13» height=«15» src=«ref-1_748538280-192.coolpic» v:shapes="_x0000_i1472">- определитель порядка <img width=«32» height=«19» src=«ref-1_748655364-203.coolpic» v:shapes="_x0000_i1473">, полученный из <img width=«15» height=«17» src=«ref-1_748570214-187.coolpic» v:shapes="_x0000_i1474"> вычеркиванием <img width=«9» height=«17» src=«ref-1_748536762-185.coolpic» v:shapes="_x0000_i1475">-строки и <img width=«13» height=«20» src=«ref-1_748537204-189.coolpic» v:shapes="_x0000_i1476">-столбца.

Главные миноры определителя

Для <img width=«253» height=«123» src=«ref-1_748656128-849.coolpic» v:shapes="_x0000_i1477"> главные миноры есть определители

<img width=«91» height=«27» src=«ref-1_748656977-272.coolpic» v:shapes="_x0000_i1478">, <img width=«96» height=«51» src=«ref-1_748657249-356.coolpic» v:shapes="_x0000_i1479">, …, <img width=«203» height=«99» src=«ref-1_748657605-604.coolpic» v:shapes="_x0000_i1480">, <img width=«71» height=«24» src=«ref-1_748658209-256.coolpic» v:shapes="_x0000_i1481">

Пример:

Рассмотрим матрицу <img width=«133» height=«75» src=«ref-1_748658465-522.coolpic» v:shapes="_x0000_i1482"> и вычислим ее миноры <img width=«87» height=«25» src=«ref-1_748658987-305.coolpic» v:shapes="_x0000_i1483">: <img width=«104» height=«51» src=«ref-1_748659292-347.coolpic» v:shapes="_x0000_i1484">, <img width=«104» height=«51» src=«ref-1_748659639-368.coolpic» v:shapes="_x0000_i1485">, <img width=«104» height=«51» src=«ref-1_748660007-367.coolpic» v:shapes="_x0000_i1486">

Определение. Алгебраическим дополнением элемента <img width=«19» height=«25» src=«ref-1_748531711-205.coolpic» v:shapes="_x0000_i1487"> обозначается <img width=«23» height=«25» src=«ref-1_748660579-208.coolpic» v:shapes="_x0000_i1488"> называется число <img width=«68» height=«27» src=«ref-1_748660787-284.coolpic» v:shapes="_x0000_i1489">

Пример: Вычислим <img width=«183» height=«51» src=«ref-1_748661071-471.coolpic» v:shapes="_x0000_i1490">, <img width=«188» height=«51» src=«ref-1_748661542-489.coolpic» v:shapes="_x0000_i1491">, <img width=«184» height=«51» src=«ref-1_748662031-477.coolpic» v:shapes="_x0000_i1492">

Лемма 1

<img width=«255» height=«123» src=«ref-1_748662508-838.coolpic» v:shapes="_x0000_i1493">и<img width=«91» height=«27» src=«ref-1_748663346-295.coolpic» v:shapes="_x0000_i1494">.

Доказательство:

<img width=«449» height=«39» src=«ref-1_748663641-780.coolpic» v:shapes="_x0000_i1495"> (в сумме только те слагаемые ненулевые, где <img width=«56» height=«21» src=«ref-1_748664421-245.coolpic» v:shapes="_x0000_i1496">)

Тогда подстановка имеет вид: <img width=«168» height=«51» src=«ref-1_748664666-433.coolpic» v:shapes="_x0000_i1497">, где <img width=«127» height=«24» src=«ref-1_748665099-288.coolpic» v:shapes="_x0000_i1498">. К подстановке <img width=«12» height=«13» src=«ref-1_748627220-186.coolpic» v:shapes="_x0000_i1499"> поставим в соответствие <img width=«15» height=«20» src=«ref-1_748665573-190.coolpic» v:shapes="_x0000_i1500"> т.е <img width=«44» height=«21» src=«ref-1_748665763-216.coolpic» v:shapes="_x0000_i1501"> 

<img width=«148» height=«51» src=«ref-1_748665979-396.coolpic» v:shapes="_x0000_i1502">, такое соответствие называется взаимооднозначным отображением множества подстановок <img width=«103» height=«24» src=«ref-1_748666375-307.coolpic» v:shapes="_x0000_i1503"> на множество подстановок <img width=«55» height=«24» src=«ref-1_748666682-241.coolpic» v:shapes="_x0000_i1504">, <img width=«243» height=«27» src=«ref-1_748666923-457.coolpic» v:shapes="_x0000_i1505">. Очевидно, что <img width=«12» height=«13» src=«ref-1_748627220-186.coolpic» v:shapes="_x0000_i1506">и <img width=«15» height=«20» src=«ref-1_748665573-190.coolpic» v:shapes="_x0000_i1507"> имеют одинаковые инверсии, значит <img width=«37» height=«17» src=«ref-1_748667756-212.coolpic» v:shapes="_x0000_i1508"> имеют одинаковую четность и знаки <img width=«89» height=«21» src=«ref-1_748667968-247.coolpic» v:shapes="_x0000_i1509">

<img width=«296» height=«40» src=«ref-1_748668215-594.coolpic» v:shapes="_x0000_i1510">

Лемма 2

Если равны нулю все элементы какой-либо строки (столбца) матрицы <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1511"> за исключением быть может одного элемента, то определитель матрицы <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1512"> равен произведению этого элемента на его алгебраическое дополнение

Доказательство:

Пусть все элементы <img width=«9» height=«17» src=«ref-1_748536762-185.coolpic» v:shapes="_x0000_i1513">-строки матрицы <img width=«41» height=«19» src=«ref-1_748669386-211.coolpic» v:shapes="_x0000_i1514"> за исключением элемента <img width=«44» height=«25» src=«ref-1_748669597-234.coolpic» v:shapes="_x0000_i1515">, <img width=«184» height=«123» src=«ref-1_748669831-576.coolpic» v:shapes="_x0000_i1516"> перестановкой строк и столбцов <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1517"> переместили элемент <img width=«19» height=«25» src=«ref-1_748531711-205.coolpic» v:shapes="_x0000_i1518"> в правый нижний угол <img width=«87» height=«96» src=«ref-1_748670808-414.coolpic» v:shapes="_x0000_i1519">, значит <img width=«32» height=«17» src=«ref-1_748671222-207.coolpic» v:shapes="_x0000_i1520"> строк и <img width=«36» height=«20» src=«ref-1_748671429-214.coolpic» v:shapes="_x0000_i1521">-столбцов. Знак будет меняться <img width=«63» height=«21» src=«ref-1_748671643-239.coolpic» v:shapes="_x0000_i1522">раз, после этого получиться матрица у которой все элементы последней строки кроме может быть <img width=«19» height=«25» src=«ref-1_748531711-205.coolpic» v:shapes="_x0000_i1523"> равны нулю. По Лемме 1 <img width=«181» height=«29» src=«ref-1_748672087-428.coolpic» v:shapes="_x0000_i1524">, т к <img width=«312» height=«29» src=«ref-1_748672515-498.coolpic» v:shapes="_x0000_i1525">

    продолжение
--PAGE_BREAK--Теорема Лагранжа

<img width=«23» height=«27» src=«ref-1_748673013-201.coolpic» v:shapes="_x0000_i1526"> равна сумме произведений элементов какого-либо столбца (строки) матрицы <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1527"> на их алгебраическое дополнение. Другими словами: разложение по <img width=«13» height=«20» src=«ref-1_748537204-189.coolpic» v:shapes="_x0000_i1528">-столбцу матрицы <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1529"> имеет вид: <img width=«271» height=«27» src=«ref-1_748673795-500.coolpic» v:shapes="_x0000_i1530">, а разложение по <img width=«9» height=«17» src=«ref-1_748536762-185.coolpic» v:shapes="_x0000_i1531">-строке матрицы <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1532">: <img width=«271» height=«27» src=«ref-1_748674676-484.coolpic» v:shapes="_x0000_i1533">

Доказательство:

рассмотрим <img width=«13» height=«20» src=«ref-1_748537204-189.coolpic» v:shapes="_x0000_i1534">-столбец матрицы <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1535"> и запишем в виде: <img width=«144» height=«99» src=«ref-1_748675545-523.coolpic» v:shapes="_x0000_i1536">, по 6 свойству определителей:

<img width=«673» height=«99» src=«ref-1_748676068-1418.coolpic» v:shapes="_x0000_i1537">, аналогично доказывается формула разложение по <img width=«9» height=«17» src=«ref-1_748536762-185.coolpic» v:shapes="_x0000_i1538">-строке матрицы <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1539">.

Теорема 2

Справедливы равенства:

<img width=«288» height=«51» src=«ref-1_748677867-803.coolpic» v:shapes="_x0000_i1540">

Рассмотрим матрицу <img width=«16» height=«16» src=«ref-1_748521677-197.coolpic» v:shapes="_x0000_i1541">, которая получена из матрицы <img width=«16» height=«17» src=«ref-1_748596879-195.coolpic» v:shapes="_x0000_i1542"> следующим образом: все столбцы матрицы <img width=«16» height=«16» src=«ref-1_748521677-197.coolpic» v:shapes="_x0000_i1543">, кроме <img width=«12» height=«15» src=«ref-1_748679259-187.coolpic» v:shapes="_x0000_i1544">-го такие же как и у матрицы <img width=«16» height=«17» src=«ref-1_748596879-195.coolpic» v:shapes="_x0000_i1545">. <img width=«12» height=«15» src=«ref-1_748679259-187.coolpic» v:shapes="_x0000_i1546">-тый столбец матрицы <img width=«16» height=«16» src=«ref-1_748521677-197.coolpic» v:shapes="_x0000_i1547"> совпадает с <img width=«13» height=«20» src=«ref-1_748537204-189.coolpic» v:shapes="_x0000_i1548">-столбцом <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1549">, тогда у <img width=«16» height=«16» src=«ref-1_748521677-197.coolpic» v:shapes="_x0000_i1550"> два одинаковых столбца, поэтому определитель матрицы <img width=«16» height=«16» src=«ref-1_748521677-197.coolpic» v:shapes="_x0000_i1551"> равен нулю, разложим определитель матрицы <img width=«16» height=«16» src=«ref-1_748521677-197.coolpic» v:shapes="_x0000_i1552"> по <img width=«12» height=«15» src=«ref-1_748679259-187.coolpic» v:shapes="_x0000_i1553">-тому столбцу.

<img width=«44» height=«27» src=«ref-1_748681188-223.coolpic» v:shapes="_x0000_i1554">, <img width=«76» height=«21» src=«ref-1_748681411-272.coolpic» v:shapes="_x0000_i1555">, тогда <img width=«196» height=«25» src=«ref-1_748681683-427.coolpic» v:shapes="_x0000_i1556">. Формула (2) показывается аналогично.

Следствие:

<img width=«271» height=«72» src=«ref-1_748682110-724.coolpic» v:shapes="_x0000_i1557">

§5 Определитель произведение матриц

<img width=«119» height=«21» src=«ref-1_748535591-302.coolpic» v:shapes="_x0000_i1558"> поле скаляров, <img width=«73» height=«31» src=«ref-1_748654294-263.coolpic» v:shapes="_x0000_i1559">, <img width=«71» height=«31» src=«ref-1_748630861-267.coolpic» v:shapes="_x0000_i1560">

Лемма 1

Пусть <img width=«21» height=«25» src=«ref-1_748683666-210.coolpic» v:shapes="_x0000_i1561"> элементарная матрица порядка <img width=«33» height=«15» src=«ref-1_748683876-216.coolpic» v:shapes="_x0000_i1562">, тогда справедливо равенство: <img width=«169» height=«29» src=«ref-1_748684092-395.coolpic» v:shapes="_x0000_i1563">

1) <img width=«68» height=«25» src=«ref-1_748684487-260.coolpic» v:shapes="_x0000_i1564">., т.е <img width=«21» height=«25» src=«ref-1_748683666-210.coolpic» v:shapes="_x0000_i1565"> получена из матрицы <img width=«15» height=«16» src=«ref-1_748590912-192.coolpic» v:shapes="_x0000_i1566">, умножением <img width=«9» height=«17» src=«ref-1_748536762-185.coolpic» v:shapes="_x0000_i1567">-строки на скаляр <img width=«39» height=«19» src=«ref-1_748609841-222.coolpic» v:shapes="_x0000_i1568">. Определитель матрицы <img width=«53» height=«29» src=«ref-1_748685556-246.coolpic» v:shapes="_x0000_i1569">.

Матрица <img width=«53» height=«29» src=«ref-1_748685802-258.coolpic» v:shapes="_x0000_i1570"> получена из <img width=«16» height=«16» src=«ref-1_748521677-197.coolpic» v:shapes="_x0000_i1571"> умножением <img width=«9» height=«17» src=«ref-1_748536762-185.coolpic» v:shapes="_x0000_i1572">-строки на скаляр <img width=«15» height=«19» src=«ref-1_748533068-198.coolpic» v:shapes="_x0000_i1573">, поэтому определитель <img width=«163» height=«29» src=«ref-1_748686640-386.coolpic» v:shapes="_x0000_i1574">

2) <img width=«104» height=«25» src=«ref-1_748687026-309.coolpic» v:shapes="_x0000_i1575">

Матрица, полученная из <img width=«15» height=«16» src=«ref-1_748590912-192.coolpic» v:shapes="_x0000_i1576"> прибавлением к <img width=«9» height=«17» src=«ref-1_748536762-185.coolpic» v:shapes="_x0000_i1577">-строке <img width=«31» height=«21» src=«ref-1_748687712-216.coolpic» v:shapes="_x0000_i1578">

<img width=«140» height=«29» src=«ref-1_748687928-345.coolpic» v:shapes="_x0000_i1579">

Лемма 2

<img width=«69» height=«25» src=«ref-1_748688273-264.coolpic» v:shapes="_x0000_i1580">-элементарные матрицы

1) <img width=«215» height=«29» src=«ref-1_748688537-432.coolpic» v:shapes="_x0000_i1581">, доказательство следует из Леммы 1

2) <img width=«197» height=«29» src=«ref-1_748688969-400.coolpic» v:shapes="_x0000_i1582">, доказательство из утверждения (1) при условии <img width=«41» height=«16» src=«ref-1_748689369-217.coolpic» v:shapes="_x0000_i1583">

Теорема 1

Определитель произведения двух матриц равен произведению их определителей т.е. <img width=«97» height=«27» src=«ref-1_748689586-287.coolpic» v:shapes="_x0000_i1584">

Доказательство:

Пусть строки матрицы <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1585"> линейно независимы, тогда существует цепочка элементарных преобразований <img width=«424» height=«243» src=«ref-1_748690069-2363.coolpic» v:shapes="_x0000_i1586">, тогда по Лемме 2 следует, что <img width=«224» height=«29» src=«ref-1_748692432-423.coolpic» v:shapes="_x0000_i1587">. Из того, что (<img width=«119» height=«25» src=«ref-1_748692855-307.coolpic» v:shapes="_x0000_i1588">) имеем: <img width=«137» height=«25» src=«ref-1_748693162-327.coolpic» v:shapes="_x0000_i1589">, тогда <img width=«344» height=«36» src=«ref-1_748693489-585.coolpic» v:shapes="_x0000_i1590">

2) Строки <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1591"> линейно зависимы, тогда существует цепочка элементарных преобразований, которая переводит <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1592"> в ступенчатую матрицу <img width=«16» height=«19» src=«ref-1_748523820-193.coolpic» v:shapes="_x0000_i1593">, у которой есть нулевая строка т.е. <img width=«192» height=«25» src=«ref-1_748694659-390.coolpic» v:shapes="_x0000_i1594">, <img width=«45» height=«27» src=«ref-1_748695049-222.coolpic» v:shapes="_x0000_i1595">. Тогда <img width=«359» height=«36» src=«ref-1_748695271-555.coolpic» v:shapes="_x0000_i1596">

Из того, что <img width=«140» height=«25» src=«ref-1_748695826-324.coolpic» v:shapes="_x0000_i1597"><img width=«157» height=«25» src=«ref-1_748696150-351.coolpic» v:shapes="_x0000_i1598">, в произведении <img width=«35» height=«19» src=«ref-1_748696501-218.coolpic» v:shapes="_x0000_i1599">, тоже есть нулевая строка, потому <img width=«64» height=«27» src=«ref-1_748696719-245.coolpic» v:shapes="_x0000_i1600">

<img width=«424» height=«36» src=«ref-1_748696964-653.coolpic» v:shapes="_x0000_i1601">

<img width=«257» height=«27» src=«ref-1_748697617-432.coolpic» v:shapes="_x0000_i1602">

Необходимые и достаточные условия равенства определителя нулю

<img width=«477» height=«413» src=«ref-1_748698049-2044.coolpic» v:shapes="_x0000_i1603"> поле скаляров, <img width=«73» height=«31» src=«ref-1_748654294-263.coolpic» v:shapes="_x0000_i1604">,-матрица над полем <img width=«13» height=«16» src=«ref-1_748700356-191.coolpic» v:shapes="_x0000_i1605">

Теорема 1

<img width=«67» height=«27» src=«ref-1_748700547-249.coolpic» v:shapes="_x0000_i1606">строки (столбцы) матрицы <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1607">линейно зависимы

Достаточность:

Если строки (столбцы) матрицы <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1608">линейно зависимы, то какая-то строка является линейной комбинацией других строк (по 8 свойсву определителей) <img width=«65» height=«27» src=«ref-1_748701188-237.coolpic» v:shapes="_x0000_i1609">

Необходимость:

Пусть <img width=«45» height=«27» src=«ref-1_748652353-219.coolpic» v:shapes="_x0000_i1610">. Докажем, что строки <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1611">линейно зависимы. Предположим, что строки <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1612"> линейно независимы, тогда существует цепочка элементарных преобразований переводящее <img width=«49» height=«19» src=«ref-1_748702036-233.coolpic» v:shapes="_x0000_i1613">. Из доказанного в пункте II следует, что <img width=«477» height=«36» src=«ref-1_748702269-703.coolpic» v:shapes="_x0000_i1614">. Получили противоречье <img width=«33» height=«19» src=«ref-1_748702972-196.coolpic» v:shapes="_x0000_i1615">. Докажем, что если <img width=«9» height=«17» src=«ref-1_748536762-185.coolpic» v:shapes="_x0000_i1616">-строка матрицы <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1617"> линейно зависима,<img width=«123» height=«24» src=«ref-1_748703549-336.coolpic» v:shapes="_x0000_i1618">, но <img width=«223» height=«25» src=«ref-1_748703885-472.coolpic» v:shapes="_x0000_i1619"><img width=«149» height=«25» src=«ref-1_748704357-376.coolpic» v:shapes="_x0000_i1620">(числа векторов столбца) <img width=«32» height=«20» src=«ref-1_748704733-213.coolpic» v:shapes="_x0000_i1621"> линейно зависима.

Теорема 2

<img width=«28» height=«17» src=«ref-1_748704946-208.coolpic» v:shapes="_x0000_i1622"> следующие условия равносильны:

1) <img width=«47» height=«27» src=«ref-1_748705154-233.coolpic» v:shapes="_x0000_i1623">

2) <img width=«43» height=«21» src=«ref-1_748705387-235.coolpic» v:shapes="_x0000_i1624">-линейно зависимы

3) <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1625">-обратима

4) <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1626"> представима в виде произведения элементарных матриц

Доказательство:

<img width=«40» height=«19» src=«ref-1_748706014-217.coolpic» v:shapes="_x0000_i1627"> доказано в Теореме 1

§6 Разбиение матриц

Если <img width=«37» height=«15» src=«ref-1_748521874-216.coolpic» v:shapes="_x0000_i1628"> матрицу <img width=«16» height=«17» src=«ref-1_748539085-195.coolpic» v:shapes="_x0000_i1629">, <img width=«35» height=«19» src=«ref-1_748706642-215.coolpic» v:shapes="_x0000_i1630"> матрицу <img width=«16» height=«21» src=«ref-1_748706857-206.coolpic» v:shapes="_x0000_i1631">, <img width=«35» height=«19» src=«ref-1_748707063-223.coolpic» v:shapes="_x0000_i1632"> матрицу <img width=«16» height=«17» src=«ref-1_748707286-198.coolpic» v:shapes="_x0000_i1633"> и <img width=«31» height=«19» src=«ref-1_748707484-223.coolpic» v:shapes="_x0000_i1634"> матрицу <img width=«15» height=«19» src=«ref-1_748707707-198.coolpic» v:shapes="_x0000_i1635"> записать в виде

<img width=«65» height=«72» src=«ref-1_748707905-374.coolpic» v:shapes="_x0000_i1636"><img width=«337» height=«49» src=«ref-1_748708279-810.coolpic» v:shapes="_x0000_i1637"> (1)

То они, образуют некоторую <img width=«101» height=«21» src=«ref-1_748709089-312.coolpic» v:shapes="_x0000_i1638"> матрицу <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1639">. В таком случае <img width=«65» height=«21» src=«ref-1_748709597-273.coolpic» v:shapes="_x0000_i1640"> могут быть названы блоками матрицы <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1641">. И обозначены <img width=«111» height=«24» src=«ref-1_748710066-307.coolpic» v:shapes="_x0000_i1642"> соответственно. Представление (1) называется разбиением матрицы <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1643">.

Если матричное произведение<img width=«27» height=«17» src=«ref-1_748710569-211.coolpic» v:shapes="_x0000_i1644"> существует и <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1645">, <img width=«16» height=«16» src=«ref-1_748521677-197.coolpic» v:shapes="_x0000_i1646">разбиты на блоки <img width=«27» height=«25» src=«ref-1_748711173-214.coolpic» v:shapes="_x0000_i1647">, <img width=«27» height=«25» src=«ref-1_748711387-214.coolpic» v:shapes="_x0000_i1648">, а разбиение по столбцам матрицы <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1649"> соответствует разбиению по строкам матрицы <img width=«16» height=«16» src=«ref-1_748521677-197.coolpic» v:shapes="_x0000_i1650">, то можно ожидать, что <img width=«27» height=«17» src=«ref-1_748710569-211.coolpic» v:shapes="_x0000_i1651"> имеет блоки <img width=«48» height=«25» src=«ref-1_748712205-251.coolpic» v:shapes="_x0000_i1652">, задаваемые формулой

<img width=«129» height=«37» src=«ref-1_748712456-386.coolpic» v:shapes="_x0000_i1653">

Таким образом, мы предполагаем, что произведение матриц в терминах блоков, полученных при соответствующих разбиениях сомножителей, формально совпадает с произведением этих матриц в терминах скалярных элементов. Покажем это на примере:

Упражнение1. Пусть

<img width=«109» height=«48» src=«ref-1_748712842-334.coolpic» v:shapes="_x0000_i1654">, <img width=«60» height=«48» src=«ref-1_748713176-264.coolpic» v:shapes="_x0000_i1655">, <img width=«92» height=«48» src=«ref-1_748713440-307.coolpic» v:shapes="_x0000_i1656">

<img width=«135» height=«96» src=«ref-1_748713747-424.coolpic» v:shapes="_x0000_i1657">, <img width=«145» height=«27» src=«ref-1_748714171-300.coolpic» v:shapes="_x0000_i1658">, <img width=«137» height=«48» src=«ref-1_748714471-363.coolpic» v:shapes="_x0000_i1659">

<img width=«569» height=«101» src=«ref-1_748714834-1343.coolpic» v:shapes="_x0000_i1660">

Это проверяется прямым вычислением <img width=«27» height=«17» src=«ref-1_748710569-211.coolpic» v:shapes="_x0000_i1661">

Теорема (1)

Пусть матрица <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1662"> из <img width=«31» height=«24» src=«ref-1_748716584-220.coolpic» v:shapes="_x0000_i1663"> имеет блоки <img width=«27» height=«25» src=«ref-1_748711173-214.coolpic» v:shapes="_x0000_i1664">, где <img width=«27» height=«25» src=«ref-1_748711173-214.coolpic» v:shapes="_x0000_i1665"><img width=«45» height=«25» src=«ref-1_748717232-254.coolpic» v:shapes="_x0000_i1666">матрица, <img width=«63» height=«21» src=«ref-1_748717486-260.coolpic» v:shapes="_x0000_i1667">, и <img width=«16» height=«16» src=«ref-1_748521677-197.coolpic» v:shapes="_x0000_i1668"> матрица из <img width=«29» height=«24» src=«ref-1_748717943-219.coolpic» v:shapes="_x0000_i1669"> с блоками <img width=«27» height=«25» src=«ref-1_748711387-214.coolpic» v:shapes="_x0000_i1670">размера <img width=«41» height=«25» src=«ref-1_748718376-240.coolpic» v:shapes="_x0000_i1671">. Тогда <img width=«27» height=«17» src=«ref-1_748710569-211.coolpic» v:shapes="_x0000_i1672"> имеет блоки <img width=«129» height=«47» src=«ref-1_748718827-430.coolpic» v:shapes="_x0000_i1673">

Доказательство. Отметим, что каждое произведение <img width=«49» height=«25» src=«ref-1_748719257-254.coolpic» v:shapes="_x0000_i1674">существует и является <img width=«48» height=«25» src=«ref-1_748719511-250.coolpic» v:shapes="_x0000_i1675"> матрицей. Следовательно, <img width=«108» height=«47» src=«ref-1_748719761-388.coolpic» v:shapes="_x0000_i1676"> существует и будет <img width=«48» height=«25» src=«ref-1_748719511-250.coolpic» v:shapes="_x0000_i1677"> матрицей. Для фиксированного <img width=«13» height=«17» src=«ref-1_748720399-200.coolpic» v:shapes="_x0000_i1678">каждое <img width=«24» height=«25» src=«ref-1_748720599-214.coolpic» v:shapes="_x0000_i1679"> имеет <img width=«17» height=«24» src=«ref-1_748720813-200.coolpic» v:shapes="_x0000_i1680"> столбцов и для фиксированного <img width=«12» height=«13» src=«ref-1_748627220-186.coolpic» v:shapes="_x0000_i1681"> каждое <img width=«24» height=«25» src=«ref-1_748720599-214.coolpic» v:shapes="_x0000_i1682"> имеет <img width=«21» height=«25» src=«ref-1_748721413-212.coolpic» v:shapes="_x0000_i1683">строк, откуда следует, что <img width=«24» height=«25» src=«ref-1_748720599-214.coolpic» v:shapes="_x0000_i1684">блоки некоторой <img width=«37» height=«15» src=«ref-1_748521874-216.coolpic» v:shapes="_x0000_i1685"> матрицы <img width=«16» height=«19» src=«ref-1_748523820-193.coolpic» v:shapes="_x0000_i1686">.

Пусть <img width=«17» height=«25» src=«ref-1_748552903-201.coolpic» v:shapes="_x0000_i1687">некоторый элемент матрицы <img width=«16» height=«19» src=«ref-1_748523820-193.coolpic» v:shapes="_x0000_i1688">, расположенный в клетке <img width=«37» height=«21» src=«ref-1_748722642-240.coolpic» v:shapes="_x0000_i1689"> блока <img width=«24» height=«25» src=«ref-1_748720599-214.coolpic» v:shapes="_x0000_i1690">. Так как <img width=«108» height=«47» src=«ref-1_748719761-388.coolpic» v:shapes="_x0000_i1691">, <img width=«17» height=«25» src=«ref-1_748552903-201.coolpic» v:shapes="_x0000_i1692">есть сумма элементов в клетках <img width=«37» height=«21» src=«ref-1_748722642-240.coolpic» v:shapes="_x0000_i1693">и матриц <img width=«49» height=«25» src=«ref-1_748719257-254.coolpic» v:shapes="_x0000_i1694">, <img width=«84» height=«21» src=«ref-1_748724179-269.coolpic» v:shapes="_x0000_i1695">. Но элемент матрицы <img width=«49» height=«25» src=«ref-1_748719257-254.coolpic» v:shapes="_x0000_i1696">в клетке <img width=«37» height=«21» src=«ref-1_748722642-240.coolpic» v:shapes="_x0000_i1697"> является суммой произведений <img width=«15» height=«25» src=«ref-1_748724942-206.coolpic» v:shapes="_x0000_i1698">элементов в строке <img width=«13» height=«15» src=«ref-1_748725148-192.coolpic» v:shapes="_x0000_i1699">матрицы <img width=«27» height=«25» src=«ref-1_748711173-214.coolpic» v:shapes="_x0000_i1700"> на элементы столбца <img width=«13» height=«19» src=«ref-1_748725554-196.coolpic» v:shapes="_x0000_i1701">матрицы <img width=«27» height=«25» src=«ref-1_748711387-214.coolpic» v:shapes="_x0000_i1702">. Далее, элементы строки <img width=«13» height=«15» src=«ref-1_748725148-192.coolpic» v:shapes="_x0000_i1703">матрицы <img width=«27» height=«25» src=«ref-1_748711173-214.coolpic» v:shapes="_x0000_i1704"> совпадают с некоторыми элементами <img width=«32» height=«17» src=«ref-1_748726370-213.coolpic» v:shapes="_x0000_i1705"> строки в <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1706">, а именно, с <img width=«20» height=«24» src=«ref-1_748726779-206.coolpic» v:shapes="_x0000_i1707">, где индекс <img width=«13» height=«19» src=«ref-1_748627616-198.coolpic» v:shapes="_x0000_i1708"> определяется неравенствами

<img width=«36» height=«24» src=«ref-1_748727183-231.coolpic» v:shapes="_x0000_i1709">, если <img width=«36» height=«21» src=«ref-1_748727414-213.coolpic» v:shapes="_x0000_i1710">

<img width=«103» height=«45» src=«ref-1_748727627-406.coolpic» v:shapes="_x0000_i1711">, если <img width=«36» height=«21» src=«ref-1_748728033-217.coolpic» v:shapes="_x0000_i1712">

Элементы столбца <img width=«13» height=«19» src=«ref-1_748725554-196.coolpic» v:shapes="_x0000_i1713">матрицы <img width=«27» height=«25» src=«ref-1_748711387-214.coolpic» v:shapes="_x0000_i1714">будут элементами <img width=«19» height=«24» src=«ref-1_748728660-206.coolpic» v:shapes="_x0000_i1715"> в <img width=«16» height=«16» src=«ref-1_748521677-197.coolpic» v:shapes="_x0000_i1716">. Следовательно, <img width=«337» height=«49» src=«ref-1_748708279-810.coolpic» v:shapes="_x0000_i1717">

Мы определили миноры порядка <img width=«32» height=«19» src=«ref-1_748655364-203.coolpic» v:shapes="_x0000_i1718"> для <img width=«33» height=«15» src=«ref-1_748683876-216.coolpic» v:shapes="_x0000_i1719"> определителя. В общем случае, если из <img width=«37» height=«15» src=«ref-1_748521874-216.coolpic» v:shapes="_x0000_i1720">-матрицы <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1721">выбросить все строки, кроме строк <img width=«61» height=«25» src=«ref-1_748730704-256.coolpic» v:shapes="_x0000_i1722">, и все столбцы, кроме столбцов <img width=«71» height=«25» src=«ref-1_748730960-288.coolpic» v:shapes="_x0000_i1723">, то определитель полученной в результате матрицы называется минором матрицы <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1724"> порядка <img width=«16» height=«17» src=«ref-1_748731444-199.coolpic» v:shapes="_x0000_i1725">, то <img width=«269» height=«131» src=«ref-1_748731643-714.coolpic» v:shapes="_x0000_i1726">

Миноры, для которых <img width=«152» height=«25» src=«ref-1_748732357-361.coolpic» v:shapes="_x0000_i1727">, называются главными для матрицы <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1728">. Если <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1729">  — <img width=«33» height=«15» src=«ref-1_748683876-216.coolpic» v:shapes="_x0000_i1730"> матрица, то <img width=«161» height=«48» src=«ref-1_748733326-393.coolpic» v:shapes="_x0000_i1731"> и алгебраическое дополнение <img width=«27» height=«24» src=«ref-1_748733719-209.coolpic» v:shapes="_x0000_i1732">, например, есть <img width=«217» height=«48» src=«ref-1_748733928-496.coolpic» v:shapes="_x0000_i1733">

Если квадратная матрица является произведением некоторых матриц (которые могут быть прямоугольными), то иногда важно выразить определитель произведения в терминах свойств сомножителей. Следующая теорема — мощный результат этого рода.

§7 Теорема (формула Бине-Коши)


    продолжение
--PAGE_BREAK--Теорема (формула Бине-Коши)

Пусть <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1734">,<img width=«16» height=«16» src=«ref-1_748521677-197.coolpic» v:shapes="_x0000_i1735"> — <img width=«37» height=«15» src=«ref-1_748521874-216.coolpic» v:shapes="_x0000_i1736"> и <img width=«37» height=«15» src=«ref-1_748522090-218.coolpic» v:shapes="_x0000_i1737">-матрицы соответственно, <img width=«41» height=«17» src=«ref-1_748522308-228.coolpic» v:shapes="_x0000_i1738">и <img width=«55» height=«19» src=«ref-1_748522536-238.coolpic» v:shapes="_x0000_i1739">

Тогда <img width=«380» height=«51» src=«ref-1_748522774-818.coolpic» v:shapes="_x0000_i1740">

Другими словами, при <img width=«41» height=«17» src=«ref-1_748522308-228.coolpic» v:shapes="_x0000_i1741"> определитель матрицы <img width=«16» height=«19» src=«ref-1_748523820-193.coolpic» v:shapes="_x0000_i1742"> является суммой произведений всевозможных миноров порядка <img width=«17» height=«15» src=«ref-1_748524013-197.coolpic» v:shapes="_x0000_i1743"> в <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1744"> на соответствующие миноры матрицы <img width=«16» height=«16» src=«ref-1_748521677-197.coolpic» v:shapes="_x0000_i1745"> того же самого порядка.

Упражнение1. Покажем на примере

Пусть <img width=«104» height=«48» src=«ref-1_748737546-288.coolpic» v:shapes="_x0000_i1746">, <img width=«88» height=«75» src=«ref-1_748737834-295.coolpic» v:shapes="_x0000_i1747">, <img width=«72» height=«48» src=«ref-1_748738129-271.coolpic» v:shapes="_x0000_i1748"> и <img width=«63» height=«19» src=«ref-1_748738400-252.coolpic» v:shapes="_x0000_i1749">, тогда по формуле Коши-Бине:

<img width=«517» height=«151» src=«ref-1_748738652-2093.coolpic» v:shapes="_x0000_i1750">

Доказательство теоремы:

Так как <img width=«85» height=«45» src=«ref-1_748740745-349.coolpic» v:shapes="_x0000_i1751">, то можно записать<img width=«232» height=«171» src=«ref-1_748741094-856.coolpic» v:shapes="_x0000_i1752">

Определитель-это аддитивная и однородная функция каждого из своих столбцов. Используя этот факт для каждого из <img width=«17» height=«15» src=«ref-1_748524013-197.coolpic» v:shapes="_x0000_i1753"> столбцов в <img width=«39» height=«19» src=«ref-1_748742147-216.coolpic» v:shapes="_x0000_i1754">, выражаем <img width=«39» height=«19» src=«ref-1_748742147-216.coolpic» v:shapes="_x0000_i1755"> в виде суммы <img width=«21» height=«21» src=«ref-1_748742579-202.coolpic» v:shapes="_x0000_i1756"> определителей:

<img width=«565» height=«128» src=«ref-1_748742781-1265.coolpic» v:shapes="_x0000_i1757">

Те члены в суммировании, которые имеют совпадающие два или более индексов <img width=«81» height=«24» src=«ref-1_748744046-277.coolpic» v:shapes="_x0000_i1758">, равны нулю, так как в этих случаях миноры будут иметь по крайней мере два совпадающих столбца. Таким образом, нужно рассматривать лишь те <img width=«72» height=«21» src=«ref-1_748744323-270.coolpic» v:shapes="_x0000_i1759"> членов суммирования, в которых индексы <img width=«16» height=«15» src=«ref-1_748744593-194.coolpic» v:shapes="_x0000_i1760"> различны. Мы распределяем эти остающиеся члены на <img width=«31» height=«45» src=«ref-1_748744787-237.coolpic» v:shapes="_x0000_i1761"> групп по <img width=«21» height=«19» src=«ref-1_748745024-201.coolpic» v:shapes="_x0000_i1762"> членов в каждой таким образом, чтобы в каждой группе члены отличаются лишь порядком индексов <img width=«81» height=«24» src=«ref-1_748744046-277.coolpic» v:shapes="_x0000_i1763">. Отметим также, что можно написать

<img width=«331» height=«51» src=«ref-1_748745502-679.coolpic» v:shapes="_x0000_i1764">, где <img width=«107» height=«24» src=«ref-1_748746181-308.coolpic» v:shapes="_x0000_i1765">. Следовательно, сумма по <img width=«21» height=«19» src=«ref-1_748745024-201.coolpic» v:shapes="_x0000_i1766"> членам, в которых <img width=«81» height=«24» src=«ref-1_748744046-277.coolpic» v:shapes="_x0000_i1767">-перестановка чисел <img width=«107» height=«24» src=«ref-1_748746181-308.coolpic» v:shapes="_x0000_i1768">, задается выражением: <img width=«277» height=«51» src=«ref-1_748747275-668.coolpic» v:shapes="_x0000_i1769">

Переставляя элементы <img width=«13» height=«19» src=«ref-1_748725554-196.coolpic» v:shapes="_x0000_i1770"> так, чтобы первые индексы в возрастающем порядке, приводим это выражение к виду:

<img width=«283» height=«51» src=«ref-1_748748139-676.coolpic» v:shapes="_x0000_i1771">

где <img width=«13» height=«17» src=«ref-1_748720399-200.coolpic» v:shapes="_x0000_i1772">-перестановка <img width=«55» height=«24» src=«ref-1_748749015-241.coolpic» v:shapes="_x0000_i1773"> чисел <img width=«59» height=«21» src=«ref-1_748749256-240.coolpic» v:shapes="_x0000_i1774">, как очевидно <img width=«72» height=«21» src=«ref-1_748749496-286.coolpic» v:shapes="_x0000_i1775">. Из определителя функции определителя теперь следует, что это выражение есть просто:

<img width=«260» height=«51» src=«ref-1_748749782-598.coolpic» v:shapes="_x0000_i1776">

Следствие. Определитель произведения двух кратных матриц равен произведению определителй множителей.

Это следует из Теоремы при <img width=«41» height=«15» src=«ref-1_748537865-219.coolpic» v:shapes="_x0000_i1777">

Заключение


В данной работе рассмотрена основная теория матриц и доказательство теоремы Коши-Бине. Также представлено применение данной теоремы при нахождении определителя произведения двух прямоугольных матриц в программе написанной на языке программирования Дельфи с возможностью ввода матриц вручную и подгрузкой из файла.

Данная теорема Коши-Бине:

Пусть <img width=«17» height=«17» src=«ref-1_748521481-196.coolpic» v:shapes="_x0000_i1778">,<img width=«16» height=«16» src=«ref-1_748521677-197.coolpic» v:shapes="_x0000_i1779"> — <img width=«37» height=«15» src=«ref-1_748521874-216.coolpic» v:shapes="_x0000_i1780"> и <img width=«37» height=«15» src=«ref-1_748522090-218.coolpic» v:shapes="_x0000_i1781">-матрицы соответственно, <img width=«41» height=«17» src=«ref-1_748522308-228.coolpic» v:shapes="_x0000_i1782">и <img width=«55» height=«19» src=«ref-1_748522536-238.coolpic» v:shapes="_x0000_i1783">

Тогда <img width=«380» height=«51» src=«ref-1_748522774-818.coolpic» v:shapes="_x0000_i1784">

На примере можно рассмотреть работу программы реализующей алгоритм нахождения определителя прямоугольных матриц на основе формулы Коши-Бине.

Будем искать миноры 2 порядка:

1)

Пусть A m = 2 n = 3

1 0 2

-1 1 1

B m = 3 n = 2

-1 -1

-2 0

1 1

получаем матрицу C m = 2 n = 2

1 1

0 2

Итого: Det C = 2

2)

Переборы:

1A) 1 2

1 0

-1 1

DetA = 1

1B) 1 2

-1 -1

-2 0

DetB = -2

2A) 1 3

1 2

-1 1

DetA = 3

2B) 1 3

-1 -1

1 1

DetB = 0

3A) 2 3

0 2

1 1

DetA = -2

3B) 2 3

-2 0

1 1

DetB = -2

C = (1)*(-2) + (3)*(0) + (-2)*(-2)

Итого по формуле Коши — Бине: 2

Данная программа наглядно показывает нахождение миноров порядка m, где m-это количество строк в матрице <img width=«16» height=«17» src=«ref-1_748596879-195.coolpic» v:shapes="_x0000_i1785">.

Список литературы

1. Гантмахер Ф.Р. Теория матриц. – 4-е изд. – М.: Наука. Гл.ред. физ. – мат. мет., 1988. с. 13-32.

2. Фаддеев Д.К. Лекции по алгебре.- М.: Наука. Гл.ред. физ. – мат. мет., 1984.-с.216.

3. Курош А.Г. Курс высшей алгебры. – 14 — е изд. — Спб.: Лань, 2005. -с.322

4. Ланкастер П. Теория матриц– М.: Наука. Гл.ред. физ. – мат. мет., 1973, с.17-44

5. Маркус М., Минк Х. Обзор по теории матриц и матричных неравенств. – М.: Наука. Гл.ред. физ. – мат. мет., 1972, с.232

6. Большакова И.В. Высшая математика — Учебное издание, 2003, с.5-10

Приложение

Внешний вид программы:

<img width=«312» height=«245» src=«ref-1_748752905-5716.coolpic» v:shapes="_x0000_i1786">

Исходныйкод:

unit MainUnit;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Menus, Math, cdet;

Const

MaxN = 10; //Максимальное число столбцов в массиве

MaxM = 10; //Максимальное число строк в массиве

DefValueMas = 3; //Значение по умолчанию (размерность)

type

TVS_MAssPerebor = Array of Real; //Массивпереборов

TVS_Mass = array of array of Real; //Описали 2х мерный динамический массив

TVS_MassData = Record //Создаем запись — массив, в котором:

Mass: TVS_Mass; //Массив

M, //Строки массива

N: Integer; //Столцы массива

Name: Char; //Название матрицы для вывода информации (A, B, C)

end; {TVS_MassData = Record}

TMainForm = class(TForm)

MainMenu1: TMainMenu;

N1: TMenuItem;

NMultiplication: TMenuItem;

N2: TMenuItem;

InputMassB: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

nDetA: TMenuItem;

NDetB: TMenuItem;

ResultMemo: TMemo;

N5: TMenuItem;

DetC: TMenuItem;

nmbn1: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

N8: TMenuItem;

N9: TMenuItem;

N10: TMenuItem;

OpenDialog: TOpenDialog;

procedure InputMassAClick(Sender: TObject);

procedure NMultiplicationClick(Sender: TObject);

procedure VS_MultiplicMass (Var inMassA, InMassB, MassOut: TVS_MassData);

procedure InputMassBClick(Sender: TObject);

procedure VS_InputMass(Var InMass: TVS_MassData);

procedure VS_ShowMass (inCaption: String; inMass: TVS_MassData);

procedure FormShow(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure nDetAClick(Sender: TObject);

function VS_Det(InMass: TVS_MassData): Real;

procedure NDetBClick(Sender: TObject);

procedure VS_ShowMassToMemo(Caption: String; InMass: TVS_MassData; ShowRazm: Boolean = True);

procedure N5Click(Sender: TObject);

procedure DetCClick(Sender: TObject);

Procedure AssignMass(InMAss: TVS_MassData; Var OutMass: TVS_MassData);

Procedure VS_VerMass(Var Massin1, MAssIn2: TVS_MassData);

Procedure VS_LoadData(Var InMAss: TVS_MassData);

Procedure VS_GetRazmOnFile(FileName: String; Var Col, Row: Integer);

Function VS_GetColOnFile(InStr: String): Integer;

//Миноры

function VS_Minor(II, Jj: Integer; InMass: TVS_MassData): REal;

Procedure VS_InitMassInStr(InStr: String; CurRow: Integer; Var InMass: TVS_MassData);

Procedure VS_InitMassPErebor;

Procedure VS_Init2xMassPerebot;

Procedure VS_SortMassPerebor;

Procedure VS_GetMAssForDet;

Function VS_IfMassEq(Massin1, MAssIn2: TVS_MassData): Boolean;

Function VS_GetKoshi_Bine: Real;

procedure VS_GenerateColMinorData(CurCol, Col: Integer; Var inMass: TVS_MassData);

procedure VS_GenerateRowMinorData(CurCol, Col: Integer; Var InMass: TVS_MassData);

Procedure VS_MinorMass(InMass: TVS_MassData; Var OutMass: TVS_MassData);

procedure N6Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure N8Click(Sender: TObject);

procedure lll1Click(Sender: TObject);

procedure N9Click(Sender: TObject);

procedure N10Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

MainForm: TMainForm;

MassP: TVS_MAssPerebor;

MassPer,

MassA,

MassB, MassC: TVS_MassData;

DetB,

DetA: TVS_MAssPerebor; //МассивдетерминантА

implementation

uses InRazmUnit, InMassUnit;

{$R *.dfm}

function TMainForm.VS_Det(InMass: TVS_MassData): Real;

var

Temp, A: TVS_MassData;

Cols, Rows, Count: Word;

i, j, k: Integer;

begin

Result := 1; //Результат функции по умолчанию

If InMass.N <> InMass.M Then Exit; //если матрица не квадратная — уходим, так как решение методом диагонали

Count := InMass.M; // Получили размерность исходного массива

SetLength(A.Mass, Count, Count);//Установили размер матрицы

SetLength(Temp.Mass, 1, Count); //Установили размер мартицы

AssignMass(InMass, A); //Во временный массив заносим данные из исходного, чтобы не портить исходный массив

//Поиск и решение

for i := 0 to Count — 2 do {Начало преобразования к верхнему треугольному виду}

begin

for j := i to Count — 1 do {* Поиск}

begin {* нулевых}

Rows := 0; {* строк}

Cols := 0; {* и}

for k := i to Count — 1 do {* столбцов}

begin {* в}

Rows := Rows + Ord(A.Mass[j, k] = 0); {* матрице}

Cols := Cols + Ord(A.Mass[k, j] = 0); {* }

end;{for k := i to Count — 1 do} {* }

if Rows + Cols = 0 then {* }

Break; {* }

if (Cols = Count — i) or (Rows = Count — i) then {* }

begin {* }

Result := 0; {* }

Exit {* }

end {if (Cols = Count — i) or (Rows = Count — i) then }

end; {for j := i to Count — 1 do } {* }

if A.Mass[i, i] = 0 then

for j := i + 1 to Count — 1 do

if A.Mass[j, i] <> 0 then

begin

Result := -Result; {* меняемстроку}

Temp.Mass[0] := A.Mass[i]; {* настрокус}

A.Mass[i] := A.Mass[j]; {* первым}

A.Mass[j] := Temp.Mass[0]; {* ненулевым}

Break {* элементом}

end;

for j := i + 1 to Count — 1 do

if A.Mass[j, i] <> 0 then

begin

for k := i + 1 to Count — 1 do

A.Mass[j, k] := A.Mass[j, k] — A.Mass[i, k] * A.Mass[j, i] / A.Mass[i, i];

A.Mass[j, i] := 0

end

end; {Конецпреобразования}

for i := 0 to Count — 1 do { Определитель как произведение }

Result := Result * A.Mass[i, i]; { элементов на главной диагонали}

end;

procedure TMainForm.InputMassAClick(Sender: TObject);

begin

If InRazmForm = Nil Then Application.CreateForm(TInRazmForm, InRazmForm);

With InRazmForm do

Begin

Caption := 'ВводразмерностирядаА';

Hint := Caption; //

ShowHint := True; //Разрешаембыстрыеподсказки

lbPrompt1.Caption := 'РазмерностьN ';

//Настройка эелемента ввода для размерности массива по строкам — М

sedtRazmA.MinValue := 1; //Установили минимальное знаечение для ввода-переключателя

sedtRazmA.MaxValue := MaxN; //Установили максимальное значение для ввода — переключателя

sedtRazmA.Value := MassA.N; //Установили значение, выводимое на экран

//Настройка эелемента ввода для размерности массива по столбцам — N

sedtRazmB.MinValue := 1; //Установили минимальное знаечение для ввода-переключателя

sedtRazmB.MaxValue := MaxM; //Установили максимальное значение для ввода — переключателя

sedtRazmB.Value := MassA.M; //Установили значение, выводимое на экран

lbPrompt2.Caption := 'Размерность M ';

btnNext.Caption := 'Далее';

btnCancel.Caption := 'Отмена';

If InRazmForm.ShowModal = Mrok Then //если пользователь нажал кнопку «Далее»

Begin

MassA.N := sedtRazmA.Value; //Сохраняем размерность массива

MassA.M := sedtRazmB.Value; //Сохраняем размерность массива

VS_InputMass(MassA); //Выводим сетку для ввода масива

end; {If ShowModal = Mrok Then}

end; {With InRazmForm do}

end; {procedure TMainForm.InputMassAClick(Sender: TObject);}

procedure TMainForm.NMultiplicationClick(Sender: TObject);

//Умножениематриц

begin

VS_MultiplicMass(MassA, MassB, MassC); //Умножаемматрицы

VS_ShowMassToMemo('Результат произведения A*B получился ', MassC); //Результат выводим в Мемо

VS_ShowMass('Итоговый результат ', MassC); //Выводим результаты расчета

end;

procedure TMainForm.VS_MultiplicMass(var inMassA, InMassB, MassOut: TVS_MassData);

//Умножаем матрицы

//N, M — размерность матрицы, где

//N — стоблец

//M — строка

//inMassA — массив А

//inMassB — массив Б

//MassOut — массив С / выходной массив

Var P, i, j: Integer;

S: Real;

begin

For I := 0 to inMassA.M — 1 do // i = 1… m

For J := 0 to inMassB.N — 1 do // j = 1… k

begin

S := 0; //Сбнуляемсчетчик

For P := 0 to inMassA.N -1 do // p = 1..n

S := S + inMassA.Mass[i, p] * InMassB.Mass[p, j]; //Вычисляемпоформуле(Cij = Ep (Aip *Bpj)? гдеi=1..m, j = 1..k)

MassOut.Mass[I, J] := s; //Сохраняем результат в массив С

end;

MassOut.N := inMassB.N; //Сохраняем получившиюся размерность массива С

MassOut.M := inMassA.M; //Сохраняем получившиюся размерность массива С

end;

procedure TMainForm.InputMassBClick(Sender: TObject);

begin

If InRazmForm = Nil Then Application.CreateForm(TInRazmForm, InRazmForm);

With InRazmForm do

Begin

Caption := 'ВводразмерностирядаБ';

Hint := Caption;

ShowHint := True; //Разрешаем быстрые подсказки на форме

lbPrompt1.Caption := 'Размерность N ';

sedtRazmA.MinValue := 1; //Установили минимальное знаечение для ввода-переключателя

sedtRazmA.MaxValue := MaxN; //Установили максимальное значение для ввода — переключателя

sedtRazmA.Value := MassB.N; //Установили значение, выводимое на экран

sedtRazmB.MinValue := 1; //Установили минимальное знаечение для ввода-переключателя

sedtRazmB.MaxValue := MaxM; //Установили максимальное значение для ввода — переключателя    продолжение
--PAGE_BREAK--

sedtRazmB.Value := MassB.M; //Установили значение, выводимое на экран

lbPrompt2.Caption := 'Размерность M ';

btnNext.Caption := 'Далее';

btnCancel.Caption := 'Отмена';

If ShowModal = Mrok Then //если пользователь нажал «Далее»

Begin

MassB.N := sedtRazmA.Value; //Сохраняем размерность массива

MassB.M := sedtRazmB.Value; //Сохраняем размерность массива

VS_InputMass(MassB); //Выводи окно с сеткой для ввода массива

end{If ShowModal = Mrok Then}

end; {With InRazmForm do}

end;

procedure TMainForm.VS_ShowMass(inCaption: String; inMass: TVS_MassData);

//Выводим массив

//N, M — размерность матрицы, где

//N — стоблец

//M — строка

//inMass — массив, который выводим

Var

I, K: Integer;

begin

If InMassForm = Nil Then Application.CreateForm(TInMassForm, InMassForm);

with InMassForm do

Begin

Caption := 'Выводмассива';

strGrid.RowCount := InMass.M+1;

strGrid.ColCount := inMAss.N+1;

For I := 0 To inMAss.N -1 do //Выводимшапкудлястолбцов

strGrid.Cells[I + 1, 0] := 'N = ' + IntToStr( I + 1);

For I := 0 To inMAss.M -1 do //Выводимшапкудлястрок

strGrid.Cells[0, I + 1] := 'M = ' + IntToStr( I + 1);

btnNext.Caption := 'Ok';

btnCancel.Visible := False; //Выключаемкнопку"Отмена". Она нам не нужна

For I := 0 To inMAss.N -1 do //Пробегаемся по строкам

For K := 0 To inMAss.M -1 do //Пробегаемся по столбцам

InMassForm.strGrid.Cells[I +1,K +1] := FloatToStr(inMass.Mass[K, I]); //Выводим в сетку ранее сохраненный массив

ShowModal; //Выводим окно, ждем реакции пользователя

btnCancel.Visible := True; //Не забываем включить кнопку «Отмена», иначе ее не увидят в других нужных нам метсах

end; {with InMassForm do}

End;

procedure TMainForm.FormShow(Sender: TObject);

//Обрабатываемся прри вызове формы

Var I, J: Integer;

begin

//Обнуляем массивы, во избежание шаманских действий программы

SetLength(MassA.Mass, MaxM, MaxN ); //Установили размер массива в памяти

SetLength(MassB.Mass, MaxM, MaxN ); //Установили размер массива в памяти

SetLength(MassC.Mass, MaxM, MaxN ); //Установили размер массива в памяти

For I := 0 to MaxM — 1 Do //Пробегаемся по строкам

For J := 0 to MaxN — 1 do //Пробегаемся по столбцам

Begin

MassA.Mass[I, J] := 0;

MassB.Mass[I, J] := 0;

MassC.Mass[I, J] := 0;

end; {For J := 1 to MaxN do}

//Обнуляем переменные размерностей массивов

MassA.N := DefValueMas; //Устанавливаем размерность матрицы по умолчанию

MassA.M := MassA.N;

MassB.N := MassA.N;

MassB.M := MassA.N;

MassC.N := MassA.N;

MassC.M := MassA.N;

MassA.Name := 'A';

MassB.Name := 'B';

MassC.Name := 'C';

ResultMemo.Clear; //ОчищаемМемо-поле.

end;

procedure TMainForm.VS_InputMass(var InMass: TVS_MassData);

//Вводим Элементы массива

Var

I, K: Integer;

begin

If InMassForm = Nil Then Application.CreateForm(TInMassForm, InMassForm);

with InMassForm do

Begin

Caption := 'Вводмассива';

strGrid.RowCount := InMass.M+1; //указали количество строк рамным М

strGrid.ColCount := InMass.N+1; //Указали количество столбцов, равным N

For I := 0 To InMass.N -1 do //Делаемшапкудлястолбцов

strGrid.Cells[I +1, 0] := 'N = ' + IntToStr( I +1);

For I := 0 To InMass.M -1 do //Делаемшапкудлястрок

strGrid.Cells[0, I +1] := 'M = ' + IntToStr( I +1);

//Заносим результаты массива в сетку, если вводили ранее

For I := 0 to InMass.M -1 do //Пробегаемся по строкам массива

For K := 0 to InMass.N -1 do //Пробегаемся по столбцам массива

Try

strGrid.Cells[I+1, K+1] := FloatToStr (InMass.Mass[K, I]); //Выводиммассиввсетку

except

strGrid.Cells[I+1, K+1] := '0';

end;

btnNext.Caption := 'Далее';

btnCancel.Caption := 'Отмена';

If ShowModal = Mrok Then //Выводим форму, ждем реакции пользователя

Begin

SetLength(MassA.Mass, InMass.M +1, InMass.N +1); //Установили размер массива в памяти

For I := 0 To InMass.N -1 do //Пробегаемся по строкам массива

For K := 0 To InMass.M -1 do //Пробегаемся по столбцам массива

Try //Включаем обработку ошибок

InMass.Mass[K, I] := StrToInt(InMassForm.strGrid.Cells[I +1,K +1]); // Заносим элемент из сетки в массив

except //Если произошла ошибка, например с переводом строки в число

InMass.Mass[I, K] := 0; //Если ошибка — заносим в массив 0

end; {except}

VS_ShowMassToMemo('Успешно введена матрица ',InMass); //Выводим матрицу в Мемо

end;{If ShowModal = Mrok Then}

end;

end;

procedure TMainForm.N3Click(Sender: TObject);

//Выводим результат. Просто выводим массив

begin

VS_ShowMass('', MassC)

end;

procedure TMainForm.nDetAClick(Sender: TObject);

//Определяем определитель матрицы А

Var Det: Real;

begin

Det := VS_Det(MassA); //ВЫчисляем определитель

ResultMemo.Lines.Add('Определитель матрицы А равен ' + FloattoStr(Det)); //Выводим результат в Мемо

ShowMessage(FloatToStr(Det)); //Выводим результат в диалоговое окно

end;

procedure TMainForm.NDetBClick(Sender: TObject);

//Определяем определитель матрицы B

Var Det: Real;

begin

Det:= VS_Det(MassB); //Вычисляем определитель

ResultMemo.Lines.Add('Определитель матрицы B равен ' + FloattoStr(Det)); //Результат вычислений выводим в МЕмо

ShowMessage(FloatToStr(Det)); //Результат выводим в диалоговое окно

end;

procedure TMainForm.VS_ShowMassToMemo(Caption: String; InMass: TVS_MassData; ShowRazm: Boolean = True);

//Выводим массив в МЕмо

Var S: String;

I, J: Integer;

begin

If ShowRazm Then ResultMemo.Lines.Add(Caption + InMass.Name + ' m = ' + IntToStr(InMass.M) + ' n = ' + IntToStr(InMass.n))

Else ResultMemo.Lines.Add(Caption );

For I := 0 to InMass.M — 1 do //Пробегаемсяпострокам

Begin

S := ''; //Готовимся к формированию строки

For J := 0 To InMass.N -1 Do //Пробегаемся по столбцам

S := S + FloatToStr(InMass.Mass[i,j]) + ' '; //Формируем строку элементов

ResultMemo.Lines.Add(S); //Выводим строку в Мемо

end;{For I := 0 to InMass.M — 1 do //Пробегаемсяпострокам}

end;

procedure TMainForm.N5Click(Sender: TObject);

Var DetA, DetB, Det: Real;

begin

ResultMemo.Clear;

//Решаемdet C обычнымспособом

VS_VerMass(MAssA, MAssB); //Проверяеммассивы. Если в первом массиве число столбцов меньше, чем во втором, меняем матрицы местами

ResultMemo.Lines.Add('1)');

VS_ShowMassToMemo('Пусть ', MassA); //Выводим матрицу А

VS_ShowMassToMemo('', MassB); //Выводим матрицу Б

VS_MultiplicMass(MassA, MassB, MassC); //Умножаемматрицы

VS_ShowMassToMemo('получаем матрицу ', MassC); //Выводим матрицу С

Det := VS_Det(MassC);

ResultMemo.Lines.Add('Итого: Det C = ' + FloatToStr(Det));

ResultMemo.Lines.Add('2)');

//Решаем по Бине-Коши

If (MassA.M > MassA.N) Then

Begin //попали под условие, когда М>n, значит определитель равен 0

ResultMemo.Lines.Add('m > n массива А, исходя из т. Бине — Коши, DetC = 0');

Exit //Завершаемпроцедуру

end;

//If (MassB.M > MassB.N) Then

// Begin //попали под условие, когда М>n, значит определитель равен 0

// ResultMemo.Lines.Add('m > n массива B, исходя из т. Бине — Коши, DetC = 0');

// Exit//Завершаемпроцедуру

// end;

If (MassA.M = MassA.N) And (MassA.M = MassA.N)

Then //попали под условие, когда обе матрицы кувадратные

Begin

ResultMemo.Lines.Add('m = n массивов B и А, исходя из т. Бине — Коши, ');

DetA := VS_Det(MassA);

DetB := VS_Det(MassB);

Det := DetA * DetB;

ResultMemo.Lines.Add('DetC = detA * Det B = ' + FloatToStr(DetA) + ' * ' + FloatToStr(DetB) + ' = ' + FloatToStr(Det));

end;

If (MassA.M < MassA.N) And (MassB.M > MassB.N) Then

Begin

IF VS_IfMassEq(MAssA, MAssB)

Then

BEgin

VS_VerMass(MAssA, MAssB);

VS_InitMassPErebor;

VS_Init2xMassPerebot ;

VS_SortMassPerebor;

VS_GetMAssForDet;

ResultMemo.Lines.Add('ИтогопоформулеКоши— Бине: ' + FloattoStr(VS_GetKoshi_Bine))

end{IF VS_IfMassEq(MAssA, MAssB)}

Else ResultMemo.Lines.Add('Матрицынеравны')

end;{If (MassA.M < MassA.N) And (MassB.M > MassB.N) Then}

end;

procedure TMainForm.DetCClick(Sender: TObject);

Var Det: Real;

begin

Det := VS_Det(MassC); //ВЫчисляемопределитель

ResultMemo.Lines.Add('Определитель матрицы C равен ' + FloattoStr(Det)); //Выводим результат в Мемо

ShowMessage(FloatToStr(Det)); //Выводим результат в диалоговое окно

end;

function TMainForm.VS_Minor(II, Jj: Integer; InMass: TVS_MassData): REal;

//Вычислаем минор

Var

Col, //Текущий столбец новой матрицы

Row, //Текущая строка новой матрицы

I, J: Integer;

TempMass: TVS_MassData;

begin

If InMass.M <> InMass.N Then Exit; // Матрица не квадратная — убегаем

SetLength(TempMass.Mass, InMass.M -1, InMass.N -1);//Установили размер матрицы

Row := 0;

For I := 0 To InMass.M -1 Do

begin

Col := 0; //Начали новый массив с первого элемента

If I <> II -1 Then

Begin //ОтбрасываемI строку

For J := 0 To InMass.N -1 do

If J <> JJ -1 Then

Begin //Перебираем все столюцы, кроме J

TempMass.Mass[Row,Col] := InMass.Mass[I,J];

Inc(Col);

end;{If J <> JJ Then}

Inc(Row); //Перешли на сл. строку для нового массива

end;{If I <> II Then}

end; {For I := 0 To InMass.M Do}

TempMass.M := InMass.M — 1;

TempMass.N := InMass.N — 1;

Result := VS_Det(TempMass);

end;

procedure TMainForm.AssignMass(InMAss: TVS_MassData;

var OutMass: TVS_MassData);

//ПередаемданныеизInMass вOutMass;

Var

I,

J: Integer;

begin

for i := 0 to InMAss.M — 1 do //Пробегаемсяпострокам

for j := 0 to InMAss.N — 1 do //Пробегаемся по столбцам

OutMass.Mass[i, j] := InMass.Mass[i, j]; //Переносим значения из InMAss в OutMas

OutMass.M := InMAss.M; //Переносим число, определяющее количество строк

OutMass.N := InMAss.N; //Переносим число, определяющее количество столбцов

OutMass.Name := InMAss.Name; //Переносим название массива

end;

procedure TMainForm.VS_MinorMass(InMass: TVS_MassData; var OutMass: TVS_MassData);

//Находим все миноры входящей матрицы

//InMass — массив, в котором будем искать миноры

//OutMass — массивминор

Var

i,

j: Integer;

begin

If InMass.M <> InMass.N Then Exit; //Вышли, таккакмартицанеквадратная

For I := 0 to InMass.M — 1 Do //пробегаемсяпострокам

For J := 0 To InMass.N — 1 do //Пробегаемсяпостолбцам

OutMass.Mass[I,J] := VS_Minor(I +1, J +1, InMass); //ПолучилиI, J миноризанесливмассивOutMass

OutMass.M := InMass.M;

OutMass.N := InMass.N;

end;

procedure TMainForm.N6Click(Sender: TObject);

begin

VS_MinorMass(MassA, MassC);

VS_ShowMass('Минор', MassC);

VS_ShowMassToMemo('Минор', MassC);

end;

procedure TMainForm.N7Click(Sender: TObject);

begin

VS_MinorMass(MassB, MassC);

VS_ShowMass('Минор', MassC);

VS_ShowMassToMemo('Минор', MassC);

end;

procedure TMainForm.N8Click(Sender: TObject);

begin

VS_MinorMass(MassC, MassC);

VS_ShowMass('Минор', MassC);

VS_ShowMassToMemo('Минор', MassC);

end;

procedure TMainForm.lll1Click(Sender: TObject);

begin

IF VS_IfMassEq(MAssA, MAssB)

Then

BEgin

VS_VerMass(MAssA, MAssB);

VS_InitMassPErebor;

VS_Init2xMassPerebot ;

VS_SortMassPerebor;

VS_GetMAssForDet;

ResultMemo.Lines.Add('ИтогопофорумеКоши— Бине: ' + FloattoStr(VS_GetKoshi_Bine))

end

Else ResultMemo.Lines.Add('Матрицынеравны')

end;

procedure TMainForm.VS_InitMassPErebor;

//Создаем массив переборов для вычесления Детерминант формулы Коши-Бине

// Все действия делаются над массивом MAssP

Var

I, J, Curr: Integer;

begin

Curr := 0; //Текущийэлементмассива

SetLength(MassP, MassA.N * MassA.M); //Установилиразмерность

For I := 0 to MassA.M -1 do //Пробегаемсяпострокам

For J := 0 to MassA.N -1 do //Пробегаемсяпостолбцам

Begin

MassP[Curr] := J +1; //Заполняем массив строками-перестановками/столбцами-перестановками

Inc(Curr); //Перешли к след. элеенту массива

end;

//VS_SortMassPerebor

end;

procedure TMainForm.VS_GetMAssForDet;

//Формуриуем массив для вычисления Дет.

//Данные перестановки уже должны хранится в массиве MassP

//т. е уже нужно иметь Массив А и уже должна быть выполнена VS_InitMassPErebor;

Var I, J: Integer;

Det: Real;

SA, SB: String;

TempB,

TempA: TVS_MassData; //Н*Ммерныймассивминоров

begin

ResultMemo.Lines.Add('Переборы: ');

SetLength(TempA.Mass, MAssA.M, MAssA.M);

SetLength(TempB.Mass, MAssB.N, MAssB.N);

SetLength(DetA, MassA.N);

SetLength(DetB, MassB.M);

TEmpA.M := MAssA.M;

TEmpA.N := MAssA.M;

TEmpB.M := MAssB.N;

TEmpB.N := MAssB.N;

For I := 0 to MassPer.M — 1 do //пробегаемсяпострокам

Begin

SA:= IntToStr(I +1) + 'A) ';

SB:= IntToStr(I +1) + 'B) ';

For J := 0 to MassPer.N — 1 do //Пробегаемся по всем столбцам -1

begin

SA:= SA + FloatToStr(MassPer.Mass[I, J]) + ' ';

SB:= SB + FloatToStr(MassPer.Mass[I, J]) + ' ';

VS_GenerateColMinorData(J, Trunc(MassPer.Mass[I, J]), TempA);

VS_GenerateRowMinorData(J, Trunc(MassPer.Mass[I, J]), TempB);

end;{For J := 0 to MassPer.N — 1 do //Пробегаемсяповсемстолбцам-1}

ResultMemo.Lines.Add('');

ResultMemo.Lines.Add(SA);

VS_ShowMassToMemo('', TempA, False);

DetA[I] := VS_Det(TempA);

ResultMemo.Lines.Add('DetA = ' + FloatToStr(Deta[I]));

ResultMemo.Lines.Add('');

ResultMemo.Lines.Add(SB);

VS_ShowMassToMemo('', TempB, False);

DetB[I] := VS_Det(TempB);

ResultMemo.Lines.Add('DetB = ' + FloatToStr(DetB[I]));    продолжение
--PAGE_BREAK--
еще рефераты
Еще работы по математике