В О Р О НЕ Ж С К И Й Г О С У Д А РС Т В Е ННЫ Й У НИ В Е Р С И Т Е Т Ф А К У Л Ь ТЕ Т П М М К а ф едр а в ы чи с ли т ел...
4 downloads
183 Views
327KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
В О Р О НЕ Ж С К И Й Г О С У Д А РС Т В Е ННЫ Й У НИ В Е Р С И Т Е Т Ф А К У Л Ь ТЕ Т П М М К а ф едр а в ы чи с ли т ельной м а т ем а т и ки
М Е Т О Д Ы Р Е Ш Е НИ Я С И С Т Е М С Р А ЗР Е Ж Е ННЫ М И М А Т Р И ЦА М И С П О С О БЫ ХР А НЕ НИ Я И П РЕ Д С Т А В Л Е НИ Я Р А ЗР Е Ж Е ННЫ Х М А Т Р И Ц, О П Е Р А ЦИ И НА Д НИ М И М ет одическиеуказания к спецкур су для с т у дент ов 3 ку р с а дневного и в ечер него от делени й ф а ку льт ет а ПММ
Сос т а ви т ели : И.А.Бла т ов Т.Н .Глу ша кова М.Е.Экс а р евс ка я
В ороне ж – 2002
-2-
С О Д Е РЖ А Н И Е § 1. § 2. § 3. § 4.
В в е де ние … … … … … … … … … … … … … … … … … … … … … … … … … … .. 3 Способы хране нияи пре дстав л е нияразре ж е нныхматриц … … … .… … ... 3 О п е рации над разре ж е нными матрицами … … … … … … … … … … ...… … . 9 М е тод Гаусса дл яразре ж е нныхматриц … … … … … … … … … … … … … . 24 Л ит е рат ура … … … … … … … … … … … … … … … … … … … … … … … … … . 33
-3§ 1. В ведение Стро го го опре де л е ния разре ж е нной мат рицы не т, но е сть “ не стро гие ” опре де л е ния, не ко т орые изко т орыхмы зде сьприв е де м. О п р е д е л е ни е 1.1. Р азре ж е нная м ат ри ца ( РМ ) – эт о мат рица, у ко т орой “ много ” эл е ме нтов рав но нул ю . О п р е д е л е н и е 1.2. Р азре ж е нная м ат ри ца – эт о матрица, дл я ко т орой испол ьзо в ание ал горитмов , учитыв аю щ их нал ичие нул е й, позв ол яе т добит ься экономии маш инного в ре ме ни и памяти по срав не нию с т радицио нными ме тодами. РМ в озникаю т при ре ш е нии многих прикл адных задач. Н азо в е м не ко т орые изних: 1) дискре т изация урав не ний мат е мат иче ской ф изики – разностные схе мы и ме т од ко не чных эл е ме нтов ; 2) задачи л ине йно го про граммиро в ания (т е орияоптимизации); 3) задачи т е о рии эл е кт риче ских це пе й. О сновная задач а к урса – на у чи т ьс я с т р ои т ь эф ф ект и вны е а лгор и т м ы AU = f р ешени я с и с т ем ли нейны х а лгебр а и чес ки х у р а внени й (СЛАУ) ( A – РМ), т .е. п ы т а т ьс я оп т и м и зи р ова т ь п р оцес с р ешени я с т очки зр ени я за т р а т м а ши нной п а м я т и и вр ем ени . В о змо ж но сти ре ш е ния эт ой задачи связаны с игно риров ание м нул е й мат рицы A за сче т того, что: 1) ариф ме тит иче ские опе рации снул ями не произв одят ся; 2) нул и не о бязат е л ьно хранит ьв маш инной памят и. § 2. С пособы хр анения ипр едст авл ения р азр еж енны х м ат р иц В се способы хране ния РМ закл ю чаю т ся в том, чтобы хранит ь тол ько не нул е в ые эл е ме нты матрицы ил и, мож е т быт ь, не бол ьш о е кол иче ств о нул е й в ме сте сними. 2.1. Разр еж енны й ст р очны й ф ор м ат (РС Ф ) Э то наибол е е ш ироко испол ьзуе мая ф орма хране ния РМ . П усть е сть прямо угол ьная n × m мат рица A = aij . Д л я е е пре дстав л е ния в РСФ
{ }
нуж но т ри одноме рныхмассив а: 1) AN – массив не нул е в ых эл е ме нтов мат рицы A ; 2) JA – массив соот в е тств ую щ их стол бцов ых инде ксо в не нул е в ых эл е ме н- тов мат рицы A ; 3) IA – т ак назыв ае мый “ массив указат е л е й ” – це л очисле нный массив , i -я ко мп оне нт а ко т орого указыв ае т , c како й позиции массив о в AN и JA начинае т ся описание i -й строки мат рицы A . Зде сь пре дусмот ре на допол ните л ьная ко мпоне нт а , ко т орая яв л яе т ся после дне й и указыв ае т но ме р пе рв ой свободной позиции в массив ах AN и JA .
-4Т аким образом, описание i -й стро ки матрицы A хранит ся в позициях с I A(i ) до [ I A(i + 1) − 1] массив ов AN и JA за искл ю че ние м рав е нств а I I A(i + 1) = I A(i ) , о значаю щ е го, чт о i -я стро ка пуста. С л е до в ате л ьно, эл е ме нт ы записыв аю т ся в массив п о по рядку сл е дов ания стро к. Е сли A име е т m строк , то массив I A соде рж ит (m + 1) по зицию . Д анный спо соб пре дстав л е ния назыв аю т пол ным, т .к. пре дстав л е на в ся мат рица A . В зав исимости от того, как зап исыв аю т ся в каж дой строке стол бцо в ые инде ксы в массив е JA (по порядку в о зрастания ил и не т ), разл ичаю т уп орядоче нное ил и не упорядо че нно е пре дстав л е ние соо т в е тств е нно. Н е упо рядо че нные пре дстав л е ния нуж ны дл я ал горит миче ских удо бств : ре зул ьт ат ы бол ьш инств а матричных опе раций пол учаю т ся не упорядоче нными, и упорядо че ние их т ре буе т допол ните л ьных затрат маш инного в ре ме ни, в т о в ре мя как бо л ьш инств о ал горит мо в дл я РМ не т ре буе т , чт о бы п ре дстав л е ния был и упо рядо че нными. З а м е ч а н и е . В сю ду в дал ьне йш е м мы буде м име т ь де л о с в е щ е ств е нными матрицами. Задача 1. Н аписат ьдл яматрицы A упо рядо че нное пре дстав л е ние в РСФ . N стол бцов : 1 2 3 4 5 6 7
1 4 A= 0 0 N п озиций: AN : JA : IA:
1 1 1 1
2 1 2 4
3 2 4 6
4 4 1 8
1 0 2 0 0 0 0 5 0 0 0 0 . 0 0 0 3 6 0 0 0 0 0 0 0
5 6 7 8 5 3 6 3 5 6 8
З а м е ч а ни е . В пе рв ой позиции массив а I A в сегда стоит 1 . Задача 2. П о массив ам AN , JA, IA т о чно стью до нул е в ых стол бцо в справ а).
AN : 1 2 3 4 5 8 9 JA : 6 7 1 2 3 4 5 IA: 1 3 5 6 8
в о сстанов ит ь матрицу A (с
-5Разобье м массив ы AN, JA по стро кам: N по зиции: 1 2 3 4 5 6 7
AN : 1 2 3 4 5 8 9 JA : 6 7 1 2 3 4 5 Т аким образом, в мат рице A 4 строки и 7 стол бцов , приче м в 1-ой стро ке в 6 стол бце стоит 1, в 7-м стол бце – 2 и т.д.
N стол бцо в : 1 0 3 A= 0 0
2 3 4 5 6 7 0 0 0 0 1 2 4 0 0 0 0 0 0 5 0 0 0 0 0 0 8 9 0 0
Задача 3. Н аписат ьдл яматрицы иззадачи 1 по л но е , но не упорядоче нное пре дстав л е ние . 2.2. Р азр еж енны й ст ол бцовы й ф ор м ат (Р С т Ф ) Зде сь эл е ме нты хранят ся не по строчкам, как в РС Ф , а по стол бцам. Стол бцов ые пре дстав л е ния могут т акж е рассматрив ат ься и как стро чные пре дстав л е ния транспониров анных матриц. Т аким образом, в массив е JAT указыв ае т ся стро чный инде кссоо т в е т ств ую щ е го эл е ме нт а, а эл е ме нты I AT указыв аю т , скакой по зиции начинае т ся описание оче ре дного стол бца мат рицы A. Задача 4. Н аписат ь дл я мат рицы A стол бцо в о е пре дстав л е ние . a) N п озиций: 1 2 3 4 5 6 7 ANT : 1 4 1 5 2 3 6
из задачи 1 упорядо че нно е
8
JAT : 1 2 1 2 1 3 3 I AT : 1 3 4 5 6 7 8 Задача 5. Т ранспониров ат ь мат рицу A иззадачи 1 и написат ь дл я не е уп орядоче нный РСФ , срав нит ьре зул ьт ат сре зул ьт ат о м задачи 5. Задача 6. Записат ьмат рицу A в не упо рядо че нном РСтФ .
0 0 1 3 0 0 0 5 0 0 A = 0 0 0 0 0 0 0 0 0 0 . 0 0 0 0 0 7 0 1 0 0
-62.3. С т р очны й р азр еж енны й ф ор м ат хр анения сим м ет р ичны х м ат р иц Д л я симме тричной матрицы
A = { aij }i , j =1 n
(aij = a ji )
достаточно
хранит ь л иш ь е е диагонал ь и в е рхний (ниж ний) тре угол ьник. П ри этом мо ж но указат ьдв а спо соба хране ния: 1) стро чно е пре дстав л е ние диагонал и и в е рхне го (ниж не го) т ре угол ьника (РСФ Б Д ); 2) в ыде л е ние диагонал ьных эл е ме нтов матрицы A в о т де л ьный массив AD , а разре ж е нным ф орматом пре дстав л яе т ся т ол ько в е рхний (ниж ний) т ре угол ьник матрицы A (приче м в этом пре дстав л е нии диагонал ьсчит ае т ся нул е в ой) (РСФ Д ).
З а да ча 7.
З а пис а т ь
с им м е т р ичную
2 0 A= 0 1
м а т р ицу
0 0 1 1 0 1 0 3 0 1 0 3
a) в РСФ Б Д ; б) в РСФ Д . a)
AN : 2 1 1 1 3 3 JA : 1 4 2 4 3 4 IA: 1 3 5 6 7
б) AN : 1 1
JA : 4 4 IA : 1 2 3 3 3 AD : 2 1 3 3
2.4. Д иагонал ь ная схем а хр анения (Д С Х) л ент очны х м ат р иц О п р е д е л е ни е
{ }in, j =1 назыв ае т ся
2.1. К в адратная матрица A = aij
(2m + 1) –диагонал ьной ил и ле нт оч ной, е сли aij = 0 дл яв сех i, j т аких, что | i − j |> m . Ч исло (2m + 1) – это ши ри на ле нт ы, m – полуши ри на. Е сли m << n , то т акую матрицусле дуе т рассматрив ат ькак разре ж е нную . Д л я хране ния (2 m + 1) –диагонал ьной не симме тричной мат рицы в ыде л яе т ся дв уме рный массив AD ( n × ( m + 1)) , а дл я симме т ричной – (n × (m + 1)) . Стол бцами эт ого массив а яв л яю тся не нул е в ые диаго нал и мат рицы A , ко т орые хранятся, начинаяссамой л е в ой диагонал и (самый л е в ый стол бе ц) и кончая самой п рав ой (самый прав ый стол бе ц) сле дую щ им образом:
-7сначал а в стол бе ц зап исыв ае тся гл ав ная диагонал ь, ниж ние кодиагонал и – в остал ьных концах сле в а со сдв иго м на одну позицию в низ при каж дом сме щ е ние в л е в о, а в е рхние кодиагонал и – в прав ой части массив а со сдв иго м на одну по зицию в в е рх при каж дом сме щ е нии в прав о. Схе мат ично это мо ж но изобразит ьт ак:
У симме т ричных мат риц, как прав ил о, записыв аю т ниж ний т ре уго л ьник. Задача 8. Д л якв адрат но й мат рицы A 1) найти пол уш иринул е нты m ; 2) указат ьразме ры матрицы AD ; 3) построит ьД СХ .
1 0 0 0 0 0 0 0 2 8 6 0 0 0 0 8 3 0 0 0 0 a) A = 0 9 0 4 10 0 0 ; 0 0 0 10 5 11 12 0 0 0 0 9 6 0 0 0 0 0 0 0 7 а) 1) m = 2 ; 2) AD (7 × 5) ; 1 0 0 0 2 8 6 0 8 3 0 0 3) AD = 9 0 4 10 0 ; 0 10 5 11 12 0 9 6 0 0 0 7
1 0 б) A = 1 0 0 б)
0 1 0 0 2 0 0 0 0 0 0 2 . 0 0 3 0 0 2 0 5
1) m = 2 ; 2) AD (5 × 3) ;
3) AD = 1 0 2
0 0 0 0
1 2 0. 3 5
Задача 9. Указат ь в заимно - о дно значное соо т в е т ств ие ме ж ду по л ож е ние м эл е ме нт а в матрице A и е го пол ож е ние м в массив е AD .
-82.5. П р оф ил ь ная схем а хр анения (П С Х) л ент очны х м ат р иц Э т а схе ма пре дназначе на дл я хране ния симме тричных л е нт очных мат риц, ко гда в нут ри л е нты находится слиш ко м много нул е й, и пре дыдущ ая схе ма станов ит сяне це л е сообразной. Зде сьхранитсят ол ько ниж няяпо л ул е нт а. β i = i − jmin (i ) , где i – но ме р строки, jmin (i ) – В в е де м числа минимал ьный стол бцов ый инде кспе рв о го не нул е в о го эл е ме нт а в i -й строке мат рицы A , т .е . пе рв ый не нул е в ой эл е ме нт i -й стро ки находит ся на β i позиций л е в е е прав о й диагонал и. О п р е д е л е н и е 2.2. Профи ле м м ат ри цы сумма β i :
A = {aij }i , j =1 назыв ае т ся n
n
pr ( A) = profile ( A) = ∑ β i . i =1
О п р е д е л е н и е 2.3. О болоч к ой м ат ри цы A назыв ае т ся со в о купность эл е ме нтов aij : 0 < i − j ≤ β i .
{
}
В се эл е ме нты обол очки и диагонал ьные эл е ме нты, уп орядоче нные по стро кам, хранят ся в о дноме рно м массив е AN , п риче м диаго нал ьный эл е ме нт данной строки поме щ ае т сяв е е коне ц. dim AN = pr ( A) + n . В це л о числе нно м массив е DA указыв аю т ся номе ра диагонал ьных эл е ме нтов в массив е AN . Т аким о бразом, при i > 1 эл е ме нты i -й стро ки находят ся в позициях о т [ DA(i − 1) + 1] до DA(i ) . Единств е нный эл е ме нт a11 пе рв ой строки хранит ся в AN (1) .
10 0 13 Задача 10. Д л ямат рицы A = 0 0 17 0 1 0 18 0 0 0 2 20 1) подсчит ат ьпро ф ил ь, найти разме рностьмассив а AN ; 2) построит ьП С Х .
N позиции: 1 2 3 4 5 6 7 8 AN : 10 13 17 1 0 18 2 20 DA : 1 2 3 6 8
-9-
1) β1 = 0, β 2 = 0, β 3 = 0, β 4 = 2, β 5 = 1, pr ( A) = 3, dim AN = 3 + 5 = 8. Задача 11. П о массив ам AN и DA в осстано в ит ьматрицу A :
AN : 9 8 7 6 5 4 3 2 1 DA : 1 3 5 6 7 9 § 3. О пер ациинад Р М . А л гебр а РМ О пе риро в ат ь сРМ т рудне е , т.к. о ни заданы в упаков анно й ф орме . М ы буде м рабо т ат ь смат рицами, ко т орые заданы в РСФ (РСт Ф ). П о э т ому л ю бой ал го рит м разбив ае тсяна два эт апа. 1. С им вол ический – о пре де л яе т ся структ ура разре ж е нно сти ре зул ьт ат а, ко т орый хот им пол учит ь, а такж е позиции эл е ме нтов исходных РМ , с ко т орыми нуж но п ро в одит ь ариф ме тиче ские де йств ия, т .е . иде т рабо т а с в е кт орами IA , JA ; зде сь ж е о пре де л яе тся объе м о пе рат ив ной памят и, не обходимый дл я хране ния про ме ж ут очных ре зул ьт ат ов и в ыходной инф ормации. 2. Ч исл енны й – не посре дств е нно в ыпол няю т ся числе нные о пе рации. В ре зул ьт ат е по л учае м число , мат рицуил и в е кт ор. 3.1. С писки 3.1.1. Хр анениесписков, цел ы х списков, кол ь цевы х цел ы х списков О п р е д е л е н и е 3.1. Спи ск ом назыв ае тся со в о купность яче е к (п озиций), связанных в том ил и ином порядке . К аж дая яче йка соде рж ит эл е ме нт сп иска и номе р яче йки, в ко т орой хранится сле дую щ ий эл е ме нт списка. В нут ри каж до го списка, по пре дпол о ж е нию , пов торе ний не т . В общ е м сл учае схе ма хране ниясписка состоит изт ре х массив о в : 1) массив по зиций N ; 2) массив эл е ме нтов A ; 3) массив NEXT – указат е л ьпозиций сле дую щ их эл е ме нт о в , и добав л яе т ся указат е л ьначал а списка IP . Задача 12. Н аписат ь схе му хране ния чисел a, b, c, d порядке , е сли они хранят сяв массив е A сле дую щ им о бразом:
О тв е т:
N: 1 2 3 4 5 6 7 A: b d a c NEXT : 7 2 4;
в
указанном
IP = 5 .
Задача 13. В каком порядке до л ж ны хранит ьсячисла a, b, c, d , e, f , е сли схе ма хране нияв ыгл ядит сле дую щ им образом:
N:
1 2 3 4 5 6
- 10 -
A: a b c d e f NEXT : 6 5 3 2 1 IP = 4 О т в е т: d , c, e, b, f , a . О п р е д е л е н и е 3.2. Е сли эл е ме нт ы списка яв л яю тся це л ыми числами, т о т акой спи сок назыв ае т сяце лым . П устье стьне кот о рый це л ый список A , эл е ме нты ко т орого могут принимат ь значе ния { 1, 2, ... , n }. О п р е д е л е н и е 3.3. Ч исло n – максимал ьное значе ние эл е ме нт ов в списке – назыв ае т ся разм ах ом спи ск а. П усть m – число эл е ме нтов списка. Е сли m << n , то список назыв ае т ся разре ж е нным це л ым списком (РЦ С ). П риме рами т аких списков могут сл уж ит ь массив ы JA, I A . Ц е л ый списо к мож но хранит ь с помо щ ью одноме рного массив а дл ины n (скаж е м, JA ) и указат е л яначал а в хода IP . Задача 14. Записат ьце л ый списо к 3, 8, 4, 2 в компакт ной ф орме . N позиций : 1 2 3 4 5 6 7 8
JA : 3 8 2 IP = 3 .
4
Ч исло, хранимое в каж дой позиции JA , дае т однов ре ме нно значе ние эл е ме нт а списка и адре ссле дую щ е го эл е ме нт а; т аким образо м, массив NEXT уж е не нуж е н. С писок назыв ае т ся кол ьце в ым, е сли в е го после дню ю по зицию поме стить указат е л ьна начал ьную по зицию . У кол ьце в ого списка не т ни начал а, ни конца, но он тре буе т хранимого отде л ьно указат е л я в хода, ко т орый указыв ае т на л ю бую занят ую по зицию . Б л агодаря этому мо ж но хранит ь не скол ько не пе ре секаю щ ихся списков (ко л ьце в ых ил и не т ) в одноме рно м массив е дл ины n , рав ной максимал ьному размаху списков , сиспол ьзов ание м указат е л я в хода IP . Задача 15. Д л я не п е ре секаю щ ихся списко в A1 , A2 , A3 написат ь схе му хране нияв одно м массив е . A1 : 2, 8, 6, 3 ; A2 : 5, 4, 0 ; A3 : 7, 1, 10 N п озиций: 1 2 3 4 5 6 7 8 9 10
JA : 10 8 2 9 4 3 1 6 5 7 IP : 2 5 7 3.1.2. Cл ияние РЦС П устьзаданы РЦ С A1 , A2 , ... , An . Ре зул ьт ат о м их слиянияяв л яе т ся
- 11 список B , ко т орый соде рж ит в се эл е ме нт ы списков пов торе ний (в нут ри каж до го списка пов т о ре ний не т ). Задача 16. Сл ит ь т ри сп иска А, B, С
в
Ai ( i = 1,..., n )
бе з
один списо к М , где
А : 2, 7, 3, 5; B : 3, 11, 5; С : 7, 2. Списо к А зап исыв ае м в М п ол ностью , зате м добав л яе м т е эл е ме нты B , ко т орых в А не т, п отом эл е ме нты С , кот орых не т в А и B . Таким образо м, пол учим сле дую щ ий список М : 2, 7, 3, 5, 11. П росмат рив ат ь каж дый раз список М , чт обы в не сти но в ый эл е ме нт, не рационал ьно. П оэт о му в в одит ся массив пе ре кл ю чат е л е й Y и пе ре кл ю чате л ь p . О бычно p = 1 . Ч исло позиций массив а пе ре кл ю чат е л е й дол ж но быт ь рав но максимал ьному размаху сл ив ае мых списков (в данной задаче 11). В начал ьный мо ме нт в о в се позиции Y засыл ае м нул и. Д ал е е про сматрив ае м п е рв ый из слив ае мых списков , и е сли оче ре дной просматрив ае мый эл е ме нт рав е н i , т о в i -ю п озицию массив а пе ре кл ю чате л е й засыл ае т сязначе ние п е ре кл ю чат е л я (то е сть 1). П ри просмот ре каж дого т е кущ е го эл е ме нт а сле дую щ е го списка (п усть онрав е н j ) мы обращ ае мсяк массив уп е ре кл ю чате л е й и добав л яе м эл е ме нт j в список M т о л ько в т о м сл учае , когда соот в е т ств ую щ ая позиция ”не в кл ю че на”, т.е . в позиции п е ре кл ю чат е л я стоит нол ь. Т аким образом мы про сматрив ае м в се списки. Д л яданной задачи массив пе ре кл ю чат е л е й буде т сле дую щ им: N позиции: 1 2 3 4 5 6 7 8 9 10 11 Y : 0 0 0 0 0 0 0 0 0 0 0 в начал ьный мо ме нт 0 1 1 0 1 0 1 0 0 0 0 после про смо т ра A 0 1 1 0 1 0 1 0 0 0 1 по сле про смо т ра B 0 1 1 0 1 0 1 0 0 0 1 по сле про смо т ра C 3.1.3. М ет од пер ем енного пер екл ючат ел я (П П ) П ри обработ ке РМ приходится слив ат ь не скол ько групп списков . В це л ях эко номии памят и исп ол ьзуе т ся т ол ько один массив пе ре кл ю чат е л е й (Ц М П ), число позиций кот орого рав но порядку мат рицы (ил и числ у строк, ил и числу стол бцо в ). В соо т в е т ств ие сал горит мом пре дыдущ е го п ункт а пе ре д каж дым нов ым слияние м нуж но был о бы засыл ат ь в о в се по зиции Ц М П нул и, на чт о уходит значит е л ьно е число маш инных опе раций. Д л я экономии в в о дят пе ре ме нный пе ре кл ю чат е л ь(П П ) p . Сначал а p = 1 . Зат е м по сле каж дого слияния групп ы списко в p ув е л ичив ае тся на е диницу (т.е . p = p + 1), что избав л яе т от не обходимости засыл ки нул е й в о в се по зиции П П .
- 12 Задача 17. Сл ит ь три списка А, B, С в
М1 и дв а списка D, E в
М2 , испол ьзуя П П p . A : 11, 12 , 13 B : 4 , 5 , 11 ; C : 7 , 8 , 4 N позиции: Y:
D : 6, 7 , 8, 9 M 1 : 11, 12 , 13 , 4 , 5 , 7 , 8 ( p = 1); ( p = 2). М2 : 6, 7, 8, 9, 1, 2 E : 7, 8, 4 1 2 3 4 5 6 7 8 9 10 11 12 13 02 02 0 01 01 02 012 012 02 0 01 01 01
3.2. С л ож ение р азр еж енны х вект ор ов (Р В ) 3.2.1. М ет од р асш ир енного вещ ест венного накопит ел я (Р В Н) Н а в ходе даны в е кторы А, B в РС Ф , на в ыходе дол ж ны пол учит ь в е кт ор C = А + B в том ж е ф ормат е . А л гор ит м 1. С им вол ический эт ап: опре де л яю т ся п озиции не нул е в ых эл е ме нтов С п уте м слияниясписков JА, JB в JС . 2. Ч исл енны й эт ап 10 . В в одится РВ Н X , число по зиций ко т о ро го рав но размаху списка JС . В о в се позиции в е кт ора X сноме рами из JC засыл ае м нул и. 0 2 . П росматрив ае м JА и AN и прибав л яе м к соде рж имому позиций в е кт ора X соде рж имое соот в е т ств ую щ ихпо зиций AN . Зат е м прибав л яе м BN к X . 0 3 . В ыбирае м из X нуж ные числа, чтобы сф ормиро в ат ь CN , спо мощ ью JС : CN (i ) = X ( JC (i ) ) и записыв ае м их в соот в е тств ую щ ие стол бцы. Задача 18. Сл ож ит ьв е кт оры А, B ме тодо м РВ Н .
AN : 0.2 0.3 0.4 − 0.7 BN : 0.6 0.7 0.5 ; . JA : 10 3 7 4 JB : 5 4 10 1. Слив ае м списки JА, JB в JС : 10 3 7 4 5 . 2. В в одим РВ Н X : N п озиции: 1 X:
2
3 0
4 0
5 0
6
0.3 − 0.7 0.7 0.6 0. 3 0 0 .6 CN :
0.7 0.3 0.4
0 0.6
7 0 0.4 0.4
8
9
10 0 0.2 0.5 0.7
в начал ьный моме нт п рибав ил и AN прибав ил и BN
- 13 З а м е ч а н и е . Е сли мы не хотим, чт обы в CN был и записаны нул и, нуж но “выбросит ь” нул е в о й эл е ме нт и соот в е т ств ую щ ий е му стол бе ц. Т огда дл яданной задачи в е кт о р C буде т сл е дую щ им:
CN :
0.7 0.3
JC :
10
3
0.4 0.6 7
5
.
3.2.2. М ет од р асш ир енного цел ого указат ел я (Р ЦУ ) Н а в ходе даны в е кт о ры А, B в РС Ф , на в ыхо де до л ж ны пол учит ь в е кт ор C = А + B в том ж е ф ормате . Зде сьв каче ств е накопит е л яиспол ьзуе т сяв е кт ор CN . А л гор ит м 1. С им вол ический этап: слияние списков JА, JB в JС . 2. Ч исл енны й эт ап 10 . В в одит сярасш ире нный це л ый массив указат е л е й (РЦ М У) IX , разме р кот о ро го рав е н размаху сп иска JС . О н запол няе тся с помощ ью просмотра массив а JС , и IX ( j ) указыв ае т , в како й позиции массив а CN буде т храниться j -я ко мпо не нт а массив а С , т.е . С ( j ) . Н ачал ьно е состояние IX - нул е в ое .
2 0 . В позиции CN засыл ае м нул и. Зат е м сканируе м JА, AN в CN , опре де л яя с помощ ью IX п озиции CN , где дол ж ны накапл ив ат ься значе нияне нул е в ыхэл е ме нт о в . Зат е м сканируе м JB, BN в CN : CN ( IX ( JA (i ))) = CN ( IX ( JA(i ))) + AN (i ) ; CN ( IX ( JB (i ))) = CN ( IX ( JB(i ))) + BN (i ) . Задача 19. Сл ож итьв е кт ора А, B ме тодом РЦ У.
AN : 0.4 0.6 0.8 − 0.14 BN : 0.1 0.2 0.3 0.4 ; . JA : 10 7 3 4 : 9 5 3 1 JB 1. N позиции: 1 2 3 4 5 6 7 N по зиции соот в е т ств ую щ е го стол бца в JС JC : 10 7 3 4 9 5 1 N стол бцов в СN 2. 1) N по зиции: 1 2 3 4 5 6 7 8 9 10 N эл е ме нт а в JC ( CN ) IX : 0 0 0 0 0 0 0 0 0 0 7 3 4 6 2 5 1 2) N по зиции: 1 2 3 4 5 6 7 сканируе м AN CN : 0.4 0.6 0.8 − 0.14 0.3 0.1 0.2 0.4 сканируе м BN __
__
__
__
__
__
__
0.4 0.6 1.1 − 0.14 0.1 0.2 0.4 Т аким образом,
CN :
эл е ме нт ы СN
0.4 0.6 1.1 − 0.14 0.1 0.2 0.4
- 14 -
JC :
10
7
3
4
9
5
1
3.3. С л ож ениеРМ П усть на в ходе заданы дв е РМ А, B ( n × m) в не упо рядоче нном РС Ф . Н а в ыходе тре буе т сяпол учит ь C = А + B в т ом ж е ф ормат е . Д л я ре ш е ния этой задачи нам потре буе тся в спо могат е л ьный Ц М П Y и РВ Н X . Разме рность эт их массив ов рав на числ у сто л бцов A и B : dim Y = dim X = m . В осно в е ал горитма л е ж ит иде я пооче ре дно го слож е ния стро к матриц A и B как РВ спомощ ью РВ Н . А л гор ит м 1. С им вол ический эт ап (ф ормиров ание JC, IC )
10 . i = 1 (номе р строки). 2 0 . С по мо щ ью IA, JA и IB, JB о пре де л яе м списки, соо т в е т ств ую щ ие i -м строчкам мат риц A и B и слив ае м эт и списки ме т одом П П с по мо щ ью Ц М П Y . Список, пол уче нный в ре зул ьт ат е слияния, по ме щ ае м в 1-ю свободную п озицию массив а JC . 30 . П ол агае м i = i + 1 и иде м на 2 0 . П о в торяе м де йств иядо т е х по р, пока i ≤ n . В ре зул ьт ат е пол учае м JC . 4 0 . Д л я по л уче ния IC достаточно на каж дом эт апе запо минат ь пе рв ую свободную п озицию JC . 2. Ч исл енны й эт ап (после дов ат е л ьно е сло ж е ние стро к А, B с помощ ью РВ Н ) 10 . i = 1 .
2 0 . С помощ ью
JC, IC опре де л яе м список, пол уче нный в ре зул ьт ат е слияниясписков стол бцов ыхинде ксов i -й строки массив ов JA и JB . 30 . С помощ ью эт ого списка и РВ Н X скл адыв ае м i -е стро ки мат риц A и B , как РВ . Ре зул ьт ат слож е ния п оме щ ае м в т е кущ ие свободные по зиции в е кт ора CN в соо т в е т ств ии спорядком стол бцов из JC . 4 0 . i = i + 1 и иде м на 2 0 . П о в т о ряе м де йств ия до т е х по р, пока i ≤ n . В ре зул ьтат е пол учим CN . Заме чание . П о сле каж дого слож е ниястрок РВ Н X дол ж е нбыт ьприв е де н в нул е в о е состояние . Задача 20. Д аны дв е матрицы А, B . Н айти C = А + B .
AN : 2 − 1 4 3 3 7 − 2 − 1 1 1 6 2 4 ; JA : 3 5 1 3 4 5 1 IA : 1 3 7 9
- 15 -
BN : 1 − 1 5 − 2 4 6 − 1 1 2 5 1 2 2 3 4. JB : 1 3 6 IA : 1 5 9 12 15 JC : 3 5 1 6 1 3 4 5 1 6 2 2 4 3 1. IC : 1 5 9 12 15 1 2 3 4 5 6 N по зиции: Y: 012 03 4 012 02 4 012 013 3
2.
N по зиции: X:
1 0
4
2 3 4 5 0 0 2 −1 1 −1 1 1 −1
6 0
5 5
запол не ние 1 строки прибав ил и AN прибав ил и BN ре зул ьт ат
0 0 0 0 0 0 4 3 3 7 −2 4 3 3 5
запол не ние 2 строки прибав ил и AN прибав ил и BN ре зул ьт ат
0 0 0 0 0 0 −2 −1 4 6 2 6 −1
запол не ние 3 стро ки прибав ил и AN прибав ил и BN
0 0 0 0 0 0 1 1 −1 1 2 0 1 3
ре зул ьт ат запол не ние 4 стро ки прибав ил и AN прибав ил и BN ре зул ьт ат
AN : 1 − 1 1 5 4 3 3 5 2 − 1 6 0 3 1 3.4. С кал яр ноеум нож ениедвух Р В Н а в ходе даны дв а в е кт о ра А, B разме рно сти n в РС Ф . Н а в ыходе нуж но пол учит ьчисло P – скал ярно е произв е де ние А и B . Д л я этого в в одит ся РЦ М У IX , зап ол не ние кот оро го п ро изв одит ся т о чно т ак ж е , как в п.3.2.2, но с помо щ ью одно го из сомно ж ит е л е й,
- 16 наприме р, спомощ ью JА . Симв ол иче ский эт ап зде сь от сут ств уе т , сразу начинае т сячисле нный эт ап. Сначал а запол няе м IX по JА . Е сли k – число эл е ме нтов в JB , то дл я i = 1,..., k пров е ряе м IX ( JB(i )) . Е сли это нол ь, т о п е ре хо дим к JB ; е сли не т, т о сл е дую щ е й позиции массив а P = P + BN ( I ) ⋅ AN ( IX ( JB (i ))) и п е ре ходим к сле дую щ е й п озиции JB . Д ругими слов ами, де л ае м сле дую щ е е : 1) P = 0 ; 2) дл я i = 1,..., k
IX JA ( JB( I )) = 0 да
i = i +1
не т
P = P + BN ( I ) ⋅ AN ( IX JA ( JB(i ))) i = i +1
Задача 21. Н айти скал ярно е произв е де ние в е кт о ро в
AN : 1 2 3 4 5 ; JA: 3 7 8 1 2
BN : 6 7 8 9 10 11 . JB : 4 3 2 1 6 8
N по зиции: 1 2 3 4 5 6 7 8 IX JA : 4 5 1 0 0 0 2 3 P = 0 , i = 1,...,8 i = 1 : IX JA ( JB(1)) = 0 i = 2 : IX JA ( JB(2)) = 1 ≠ 0 P = 0 + BN (2) ⋅ AN (1) = 7 ⋅ 1 = 7 i = 3 : IX JA ( JB (3)) = 5 ≠ 0 P = 7 + BN (3) ⋅ AN (5) = 7 + 8 ⋅ 5 = 47 i = 4 : IX JA ( JB(4)) = 4 P = 47 + 9 ⋅ 4 = 83 . . . . . . . . . . . . . . . . . . . . . . . . 3.5. У м нож ение РМ на Р В (р езул ь т ат – запол ненны й вект ор ) Н а в ходе – мат рица А и в е кт ор B в РС Ф , на в ыходе – в е кт о р C = AB как о бычный одно ме рный массив . Зде сьстроки мат рицы А рассмат рив аю т ся, как РВ , и скал ярно умнож аю т ся на РВ B спомощ ью рассмотре нно го в п.3.4 ал горит ма. А л гор ит м
- 17 1. РЦ М У IX (начал ьное состояние – нул е в ое ) запол няе тся с помо щ ью в е кт ора B . 2. i = 1 . 3. С помощ ью IA опре де л яе м, в каких п озициях JA соде рж ит ся описание i -й стро ки. 4. П ро смат рив ае т ся участо к JA , соо т в е т ств ую щ ий о писанию i -й стро ки. Е сл и компо не нт а РМ Ц У с номе ро м JA(k ) (где k - те кущ ая про сматрив ае мая п озиция) рав на нул ю , т о пе ре ходим к про смо т ру сле дую щ е й п озиции; е сли не рав на нул ю , т о произв одим умнож е ние соо т в е т ств ую щ их ко мпоне нт массив о в AN и B и ре зул ьт ат умнож е ния прибав л яе м к соде рж имомуяче йки C (i ) . 5. Е сл и просмо т р строки о ко нче н, т о пол агае м i = i + 1 и в озв ращ ае мся к 3. П ов т оряе м до те хпо р, по ка не пройде м в се стро ки. Схе мат ично эт о т ал гор ит м мож но изо бразит ьсле дую щ им образо м.
k =1 С (k ) = 0 IA(k + 1) = IA(k )
не т
да
i = I A(k ), I A(k + 1) − 1 IX ( JA( I )) = 0 да
k = k +1
не т
C ( k ) = C ( k ) + AN ( I ) ⋅ BN ( IX JA ( JA(i ))) i = i +1 k = k +1
i = i +1
Задача 22. Умнож ит ь РМ на РВ (ре зул ьт ат – запол не нный в е кт ор). N позиции: 1
2 3 4 5 6 7 8 9 10 11 12
AN : 1 3 5 7 9 2 4 6 8 10 2 JA : 1 4 6 3 2 5 7 8 9 10 1 IA : 1 4 9 11 12 13 BN : 1 2 4 5 7 8 10 JB : 1 2 4 5 7 8 10 N по зиции: 1 2 3 4 5 6 7 8 9 10 IX JB : 1 2 0 3 4 0 5 6 0 7
6 3
- 18 -
k = 1; С (1) = 0 ; i = 1,...,3 : i = 1 :
I A(2) = I A(1) IX ( JA(1)) = IX (1) = 1 ≠ 0 C (1) = 0 + 1 ⋅ BN (1) = 1 IX ( JA(2)) = IX (4) = 3 ≠ 0 i =2: C (1) = 1 + 3 ⋅ BN (3) = 1 + 3 ⋅ 4 = 13 IX ( JA(3)) = IX (6) = 0 i = 3: k = 2 ; С (2) = 0 ; I A(3) ≠ I A(2) i = 4,...,8 : IX ( JA(4)) = IX (3) = 0 i = 4: IX ( JA(5)) = IX (2) = 2 i = 5: C (2) = 0 + 9 ⋅ BN (2) = 9 ⋅ 2 = 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . У м нож ение РМ на запол ненны й вект ор (р езул ь т ат – запол ненны й вект ор ) Э т о т ал го рит м не значит е л ьно о т л ичае т сяо т пре дыдущ е го. Разница в том, чт о РМ Ц У запо л няе т ся по k -й строке матрицы A , а не по в е кт ору B . Зде сь, по-в идимо му, мож но обойтисьбе з РМ Ц У сле дую щ им образо м. 3.6.
А л гор ит м
1. k = 1. 2. П ро смат рив ае м соде рж имое k –й стро ки в JA и умнож ае м соо т в е т ств ую щ ие компоне нты AN на ко мп оне нт ы, накапл ив ая ре зул ьт ат в соо т в е т ств ую щ е й яче йке C (k ) в е кт ора C . С х ем а р еш ения
k =1 С (k ) = 0 IA(k + 1) = IA(k ) не т
i = I A(k ), IA(k + 1) − 1 C (k ) = C (k ) + AN (i ) ⋅ B ( JA(i )) k = k +1
да
k = k +1
Задача 23. Умнож ит ь РМ A иззадачи 22 на запол не нный в е кт ор
B = (2 4 6 8 10 9 )T . k = 1; С (1) = 0 ; IA(2) ≠ IA(1) i = 1,...,3 : i = 1 : C (1) = 0 + 1× 2 = 2
- 19 -
i =2: i = 3: k = 2 ; С (2 ) = 0 ; i = 4,...,8 : i = 4:
C (1) = 2 + 3 ⋅ 7 = 23 C (1) = 23 + 5 ⋅ 3 = 38 IA(3) ≠ IA(2) C (2) = 0 + 7 ⋅ 6 = 42
. . . . . . . . . . . . . . . . . . . . . . . . . 3.7. У м нож ениеР М Н а в ходе заданы РМ A(n × m), B(m × l ) в не уп орядоче нно м РСФ . Н а в ыхо де дол ж ны пол учит ьмат рицу C = AB в РСФ . Ч астным сл учае м яв л яе тсяумнож е ние РМ на РВ , когда ре зул ьт ат –- РВ . А л гор ит м 1. С им вол ический эт ап – о пре де л е ние в е кт оров JC, IC . Д л я не го потре буе т сяЦ М П Y , разме рно стькот оро го рав на l . Н ачал ьно е состояние Y – нул е в ое .
10 . i = 1. IC (1) = 1 . 2 0 . П росматрив ае м по порядку стол бцо в ые инде ксы эл е ме нт ов i -й стро ки в массив е JA . Д л я каж дого просмат рив ае мого инде кса j в массив е стол бцо в ых инде ксо в JB просматрив ае м соде рж имое j -й строки. П ри этом дл я каж до го не нул е в о го эл е ме нт j -й стро ки в ып ол ним сле дую щ ие опе рации. П усть п ро сматрив ае мый инде кс рав е н k . Е сли k -я позиция массив а пе ре кл ю чат е л е й не “ в кл ю че на”, то “ в кл ю чае м” е ё и поме щ ае м инде кс k в пе рв ую свободную по зицию массив а JC . Е сли позиция уж е “ в кл ю че на”, т о пе ре ходим к п ро смот русле дую щ е го эл е ме нт а в е кт ора JB , ниче го не до бав л яя к JC . 30 . П о сле окончанияпросмот ра i -й строки мат рицы А компоне нте в е кт ора IC (i + 1) присваив ае м порядко в ый номе р п е рв ой сво бодно й п озиции JC . 4 0 . i = i + 1 и иде м на 2 0 . Значе ние П П p ув е л ичив ае м на е диницу. А л гор ит м
Y (1) = Y (2 ) = K = Y (l ) = 0 i = 1: IC (1) = 1 ( N эл е ме нт а в JC ) nj =1 IA(i ) = IA(i + 1) не т
n = I A(i ), IA(i + 1) − 1 :
да
i = i +1
- 20 -
j = JA(n) IB(i ) = IB (i + 1) не т дл я
да
m = I B( j ), IB( j + 1) − 1 k = JB(m) Y (k ) = i
не т
да
Y (k ) = i ; JC (n j ) = k ; n j = n j + 1 IC (i + 1) = n j ; i = i + 1 2. Ч исл енны й эт ап – оп ре де л яе тся в е кт о р CN . О сно в ная иде я – умно ж е ние с помощ ью РВ Н , разме рно сть ко т орого рав на числ у стол бцов мат рицы C (т.е . l ), поэт омумат рица C буде т записыв ат ьсяпо стро кам.
a11 a12 b11 b12 . a a b b 21 22 21 22
При м е р. Н айт и про изв е де ние дв ух мат риц Р е ш е ни е Н ако пит е л ь
x1 x2
(0, 0)
– начал ьный мо ме нт. Б е ре м пе рв ый эл е ме нт т е кущ е й
стро ки матрицы A и умно ж ае м е го на в се эл е ме нты соот в е т ств ую щ е й стро ки мат рицы B и т .д.:
x1 = 0, x2 = 0 ; x1 = x1 + a11b11 , x2 = x2 + a11b12 ; x1 = x1 + a12 b21 , x2 = x2 + a12b22 ; c11 = x1 , c12 = x2 . Рассмот рим числ енны й эт ап в о бщ е м сл учае . 1 . i = 1. 0
2 0 . С помощ ью IC о пре де л яе м, в каких п озициях JC находит сяописание i -й стро ки мат рицы C . 30 . П росматрив ае м участо к JC , соо т в е т ств ую щ ий описанию i -й стро ки, и в позиции РВ Н X сно ме рами стол бцов ых инде ксо в i -й строки эт о го участка засыл ае м нул и. 4 0 . С п омощ ью IA опре де л яе м, в каком участке JA соде рж ится описание i -й стро ки матрицы A . 50 . П росмат рив ае м в ыде л е нный участо к ( i -ю стро ку) массив а JA . Д л я каж дого просматрив ае мо го эл е ме нта k , сто ящ е го в m -й по зиции массив а JA , в ыпол няе м сле дую щ ие опе рации:
- 21 a) опре де л яе м спо мощ ью IB участо к массив а JB , описыв аю щ ий kю стро кумассив а B ; b) про сматрив ае м в ыде л е нный участок JB и дл я каж дого про сматрив ае мого эл е ме нт а j , стоящ е го в n -й по зиции массив а JB , пол агае м
X ( j ) = X ( j ) + AN (m ) ⋅ BN (n ). 6 0 . В ыбирае м из РВ Н значе ния i -й стро ки матрицы С и присваив ае м их соот в е т ств ую щ им компоне нт ам CN . 70 . Е сли просмо т р i -й стро ки зав е рш е н, то пол агае м i = i + 1 и 0 в озв ращ ае мсяна 2 .
А л гор ит м
i =1 IC (i ) = IC (i + 1) не т
да
i = i +1 дл я j = I C (i ), IC (i + 1) − 1: X ( JC ( j )) = 0 IA(i ) = IA(i + 1) не т
да
i = i +1 дл я m = I A(i ), IA(i + 1) − 1 : k = JA(m) A = AN (m) дл я n = I B( k ), IB(k + 1) − 1: j = JB(n) X ( j ) = X ( j ) + A ⋅ BN (n) дл я j = I C (i ), IC (i + 1) − 1: CN ( j ) = X ( JC ( j )) i = i +1 Задача 24. Н айти произв е де ние дв ух РМ A и B .
AN : 1 1 2 3 4 5 JA : 3 5 2 4 1 5 , IA : 1 3 5 7
- 22 -
0 0 1 0 1 A = 0 2 0 3 0 , 4 0 0 0 5 1) Y (1) = Y (2) = Y (3) = 0 ; i = 1 : IC (1) = 1, n j = 1 ; n = 1, 2 :
n = 1: j = 3 , m = 4 : k = 2 , Y (2 ) = 1 , JC (2) = 3 , n j = 3 , IC (2) = 3 ; i = 2 : n = 3, 4 : n = 3 : j = 2 , m = 2, 3 : m = 2 : k = 2 , Y (2 ) = 2 , JC (3) = 2 , n j = 4 ; m = 3 : k = 3 , Y (3) = 2 , JC (4) = 3 , n j = 5 , IC (3) = 5 ; j = 4, n = 4:
… … … … … … … … … … . m = 2 : k = 2 , Y (2 ) = 2 ,
JC (3) = 2 , n j = 4 ; m = 3 : k = 3 , Y (3) = 2 , JC (4) = 3 , n j = 5 , IC (3) = 5 ; n = 4 : j = 4 , m = 5, k = 1, Y (1) = 2 … … … … … … … … … … … …
JC : 2 3 2 3 1 1 3 IC : 1 3 6 8 3.8. Т р анспонир ованиеРМ
1 0 B = 0 2 0
0 0 3 6 4 0 . 0 0 0 5
j = 1, 2 : j = 1 : X ( 2) = 0 ; j = 2 : X (3) = 0 . m = 1, 2 ; m = 1: k = 3 , A = 1, n = 4 : j = 2 , X (2 ) = 4 ; m = 2 : k = 5 , A = 1; n = 6 : j = 3 , X (3) = 5 ;
2) i = 1 :
… … … … … … … … … … .
CN : 4 5 6 12 6 4 25
n = 3:
j = 2,
CN : 4 5 6 12 6 4 25
m = 2, 3 :
- 23 Н а в ходе дана матрица
A(n × m) в не упо рядоче нном РСФ . Н а в ыходе
T
дол ж ны пол учит ь A - т ранспо ниров анную матрицу, заданную в РСФ . З а м е ч а н и е . Е сли задано стро чное пре дстав л е ние мат рицы А , то е го T мож но рассматрив ать как сто л бцов ое пре дстав л е ние A и нао борот, по э т ому задача т ранспониро в ания А сво дит ся к нахож де нию РСТФ мат рицы А . Е сли просматрив ать массив ы « в л о б», то эт о оче нь не эф ф е кт ив но. П оэт о му в в одятся m це л ых и m в е щ е ств е нных списко в дл ины n и m – указат е л е й пе рв ой свободной позиции каж дого сп иска. В начал ьный моме нт в ре ме ни в се списки п устые , т .е . пе рв аясвободнаяпо зициякаж дого списка – п е рв ая. Н а практ ике списки организую т ся не посре дств е нно в массив ах JAT и ANT , а указат е л и п е рв ой свободной позиции каж до го списка – в IAT . Т аким о бразом, до пол нит е л ьной памят и не тре буе т ся, и пе ре ме щ е ние данных в памяти маш ины све де но к минимуму. С по мо щ ью массив о в мат рицы А . 1. i = 1 .
А л гор ит м JA и IA
просмат рив ае м по порядку стро ки
2. С по мощ ью IA опре де л яе м, в каких п озициях JA соде рж ит ся описание i -й строки матрицы А . 3. П ро смат рив ае м соде рж имое i -й стро ки в JA и дл я каж дого j (где j стол бцо в ый инде кс просмат рив ае мо го эл е ме нт а) добав л яе м число i в пе рв ую свободную по зицию j -го це л о го списка, ув е л ичив ая при эт ом указат е л ь пе рв ой свободной по зиции списка на е диницу. В соо т в е т ств ую щ ую позицию j -го в е щ е ств е нного списка добав л яе м соо т в е т ств ую щ ий эл е ме нт списка АN . 4. i = i + 1. 5. О бъе диняе м по порядку их нуме рации в е щ е ств е нные и це л ые списки, пол учае м списки JAT и ANT . С писок IAT по л учае т ся спомощ ью подсче т а числа эл е ме нт ов запол няе мыхсписко в . З а м еч а ния 1. С помощ ью эт ого ал го рит ма пол учае т ся упорядо че нное п ре дстав л е ние т ранспониро в анной матрицы даж е в т о м сл учае , е сли п ре дстав л е ние исходной мат рицы был о не уп орядоче нным. 2. П риме не ние данно го ал горит ма к матрице А дв аж ды по зв ол яе т п ол учит ь изне уп орядоче нно го РСФ матрицы А е ё уп орядоче нно е пре дстав л е ние . Задача 25. Т ранспониро в ать матрицу А иззадачи 22 (номе р списка – это но ме р стол бца). в е щ е ств е нные списки це л ые списки
- 24 -
1) 1 2
6) 5
1) 1 4
6) 1
2) 9 3) 7 6
7) 4 8) 6
2) 2 3) 2 5
7) 2 8) 2
4) 3
9) 8
4) 1
9) 3
5) 2
10) 10
5) 2
10) 3
ANT : 1 2 9 7 6 3 2 5 4 6 8 10 JA T : 1 4 2 2 5 1 2 1 2 2 3 3 IAT : 1 3 4 6 7 8 9 10 11 12 13 Задача 26. П ол учить изне упорядоче нно го пре дстав л е ния в РСФ мат рицы А из задачи 22 е ё упо рядо че нное пре дстав л е ние (приме няя ал горит м А → АT дв аж ды). 3.9. П ер ест ановка ст р ок ист ол бцов р азр еж енной м ат р ицы 3.9.1. П ер ест ановка ст ол бцов Д ана матрица A( n × m) . П усть J – це л очисле нный в е кт ор разме рно сти m , ко т орый задае т пе ре станов ку сто л бцов J = { J (1), J (2),K J (m)}. Зде сь J (i ) указыв ае т номе р, ко т орый по сле пе ре станов ки до л ж е н име ть i -ый стол бе ц. П е ре стано в ка сводит ся к пре образов анию JA п о сле дую щ е й схе ме : JAP(i ) = J ( JA(i )) , где JAP(i ) – номе р стол бца по сле п е ре станов ки. Т аким образом, на в ходе дана матрица A в РС Ф и в е кт ор пе ре станов о к J . Н а в ыходе тре буе т ся пол учит ь РСФ мат рицы с пе ре став л е нными стол бцами. А л горит м сводит ся т ол ько к п ре образов анию массив а JA : по по рядку просматрив аю т ся в се е го компо не нт ы, и каж дая компоне нт а JA(i ) заме няе т ся на J ( JA(i )) . Ч исле нные значе ния не нул е в ых ко мпоне нтов , хранимые в AN , остаю тсяпре ж ними, I A т акж е не ме няе т ся. Задача 27. В матрице А иззадачи 22 пе ре став ит ь2 и 5, 4 и 7 стол бцы.
N по зиции: 1 2 3 4 5 6 7 8 9 10 J = {1, 5, 3, 7, 2, 6, 4, 8, 9, 10}
- 25 -
JAP(1) = J ( JA(1)) = J (1) = 1
JAP(7) = J (7) = 4
JAP(2) = J ( JA(2)) = J (4) = 7 JAP(3) = J (6) = 6
JAP(8) = J (8) = 8 JAP(9) = J (9) = 9
JAP(4) = J (3) = 3
JAP(10) = J (10) = 10
JAP(5) = J (2) = 5
JAP(11) = J (1) = 1
JAP(6) = J (5) = 2
JAP(12) = J (3) = 3
3.9.2. П ер ест ановка ст р ок П е ре стано в ка стро к мат рицы соот в е т ств уе т пе ре стано в ке стол бцо в т ранспониро в анной мат рицы, по э т ому ал горит м пе ре станов ки строк пол учае т сякомбиниро в ание м дв ух пре дыдущ их ал горит мо в . Задача 28. П е ре став ит ь1 и 5 сроки матрицы А иззадачи 22. А л гор ит м р еш ения T 1. Т ранспо ниров ат ьмат рицу А (по л учит ьмат рицу А ) . 2. П е ре став ит ь1-ый и 5-ый стол бцы матрицы АT (пол учит ь ATP ). 3. Т ранспо ниров ат ьмат рицу ATP . § 4. М ет од Г аусса дл я РМ Рассмот рим СЛ А У в ида Аx = f , где x ∈ R n , f ∈ R n , А – симме т ричная мат рица n × n . Ре ш е ние эт о й систе мы буде м искат ь с п омощ ью ме т ода Гаусса. Б уде м считат ь, что в е дущ ий эл е ме нт гауссов а искл ю че ния в сегда находится на гл ав ной диагонал и матрицы А , то е сть п е ре станов ка строк и стол бцов не нуж на. О собенност и Г ауссова искл ючения 1. С ущ е ств уе т дв е мо диф икации – по строкам и по стол бцам, ко т орые о т л ичаю тся порядком в ыпол не ния о пе раций искл ю че ния. О бычно испол ьзую т гауссо в о искл ю че ние по стол бцам, но дл я РМ испо л ьзую т гауссов о искл ю че ние по строкам. 2. В начал е строим LU – разл ож е ние мат рицы А , а зате м ре ш ае м дв е т ре уго л ьные систе мы LU = f , Ux = y , где U – в е рхняя тре угол ьная мат рица с е диничными диагонал ьными эл е ме нт ами, L – ниж няя т ре уго л ьная. Е сли гл ав ные мино ры А о т л ичны о т нул я, т о матрицу А мо ж но ~ ~ пре дстав ит ь в в иде А = U T DU , где D – диагонал ьная мат рица. Е сли мат рица А е щ е и пол ож ите л ьно оп ре де л е на, то разл о ж е ние мо ж но пре дстав ит ьв в иде А = U U –- разлож е ни е Холе цк ог о. T
T
~
4.1. П ост р оениер азл ож ения U DU
- 26 Н а в ходе задана мат рица A в в е рхне т ре угол ьном не упо рядоче нном РСФ : массив ы AN , JA, IA, AD . Н а в ыходе дол ж ны п ол учит ь мат рицу в РСФ Д и
~
диагонал ьную мат рицу D . О со бе нно сти симв ол иче ского эт апа –- мы дол ж ны искл ю чит ь эл е ме нт ы ниж е гл ав ной диагонал и, а у наст о л ько в е рхний т ре уго л ьник, поэто му сразу мы не мож е м опре де л ит ьпозицию т е х эл е ме нтов , ко т орые нуж но искл ю чат ь при обрабо т ки т е кущ е й i -й стро ки. О казыв ае т ся, что стол бцо в ые инде ксы i й строки, кот орые нуж но о бнул ит ь, со в падаю т со строчными инде ксами эл е ме нтов i -ого стол бца в ыш е гл ав ной диагонал и той мат рицы, кот орая пол учил ась к данному мо ме нт у при ре ал изации ал горитма. Т аким образом, на i -м ш аге мы дол ж ны пройти по i -ому стол бцу, опре де л итьв се строчные инде ксы не нул е в ых эл е ме нт ов i -ого стол бца –- это и будут т е стол бцо в ые инде ксы эл е ме нт о в i -й стро ки, которые нуж но обрабо т ать. 4.1.1. С им вол ический эт ап 4.1.1.1. С ост авл ениеассоциир ованного списка i -ого ст ол бца А ссоцииров анный список (А С) i -ого стол бца – это списо к номе ро в т е х строк, кот орые участв ую т при обработ ке i -й строки в ме т оде Гаусса. Ф акт иче ски каж дому сто л бцу став ит ся в соо т в е т ств ии сов окуп ность стро к, приче м каж дая стро ка от но сит ся т ол ько к одному стол бцу (т о е сть ни к како му другому она уж е не приписыв ае т ся), поэто му к i -о му стол бцу приписыв аю т ся тол ько т е строки матрицы A , у ко т орых не нул е в о й э л е ме нт в i -м стол бце яв л яе тсяп е рв ым не нул е в ым эл е ме нтом данно й стро ки справ а о т диагонал и. А л гор ит м 1. i = 2 (т ак как пе рв ую строкуобрабатыв ат ьне надо). 2. П роходим по (i − 1) -й строке справ а от диагонал и. П ре дпол ож им, что пе рв ый не нул е в о й стол бцов ый инде ксрав е н j , тогда (i − 1) -ую стро ку приписыв ае м j -му стол бцу и по ме щ ае м номе р этой строки в пе рв ую позицию j -го А С. Если де йств ов ат ь т аким образо м, т о к мо ме нт у обрабо т ки стро ки А С буде т уж е сф ормиров ан. 3. i = i + 1 и пов торяе м в се де йств иядо т е х по р, пока не п ройде м в се стро ки. А С каж дого стол бца удо бно хранит ь как ко л ьце в ой РЦ С, и в се эти списки мож но хранит ь в це л очисле нном массив е JP разме рности n , а массив указат е л е й буде т по казыв ат ьв ход в каж дый сп исок. 4.1.1.2. А л гор ит м сим вол ического эт апа 1. Д л я i = 1 пе ре носим портре т пе рв ой стро ки матрицы A в портре т пе рв о й строки матрицы U бе зизме не ний. 2. i = 2 . 3. Заканчив ае м ф ормиров ание i -о го А С.
- 27 4. П ро смат рив ае м i -й А С и дл я каж до го эл е ме нт а j эт о го списка опре де л яе м список т ол ько т е х стол бцов ых инде ксов не нул е в ых эл е ме нтов j -й строки, номе р кот орых бол ьш е i . 5. Сл ив ае м в се пол уче нные списки, опре де л е нные на 4, и списо к i -й стро ки мат рицы спо мо щ ью П П . Ре зул ьт ат ом слияния буде т порт ре т i -й стро ки мат рицы U . 6. П риписыв ае м список, пол уче нный на 5, к пе рв ой свободной позиции массив а JU . 7. О пре де л яячисло эл е ме нтов списка, пол уче нной на 5, в ычисляе м о че ре дную ко мпоне нт умассив а IU , ко т ораябуде т указыв ат ьначал о (i + 1) -й стро ки (значе ние м эт ой компоне нты буде т но ме р пе рв о й свободной позиции массив а JU после присое дине нияк не мусписка, пол уче нно го на 5). 8. i = i + 1 и обрабатыв ае м сле дую щ ую строку, пе ре йдяна 3, и т ак до т е хп ор, по ка i ≤ n . Ре зул ьт ат о м буде т по ртре т матрицы U . 4.1.2. Ч исл енны й эт ап 4.1.2.1. С ост авл ение А С i -го ст ол бца. О т л ичия от сим вол ического эт апа 1. Н а симв ол иче ско м э т апе каж дая строка приписыв ал ась т ол ько к одно му стол бцу. Зде сь ж е каж дая стро ка дол ж на быт ь приписана ко в сем т е м стол бцам, ското рыми о на име е т не нул е в ое пе ре сече ние , то е стье сли в j -ом стол бце i -й строки ( i < j ) соде рж ит ся не нул е в ой эл е ме нт, то она дол ж на быт ь приписана к j -ому сто л бцу, т ак как в аж ны числе нные значе ния эл е ме нтов . 2. Н ам по т ре буе т ся уп орядо че нно е пре дстав л е ние матриц A и U , поэто му пе ре д ре ал изацие й числе нного эт ап а нуж но пе ре йт и от не упорядоче нного пре дстав л е нияк уп орядоче нно мудв украт ным транспониро в ание м. 4.1.2.2. А л гор ит м числ енного эт апа 1. i = 1 . О пре де л яе м в AN и JA соде рж имое п е рв ой строки мат рицы A , де л им эт у строку на диагонал ьный эл е ме нт a11 (ко т орый хранит ся в пе рв ой по зиции массив а AD ) и поме щ ае м пе рв ую строку в ~ соо т в е т ств ую щ ие по зиции массив а UN . D (1) = AD (1) . 2. i = i + 1. 3. П ро смат рив ае м (i − 1) -ю стро ку мат рицы U (массив JU ). Е сли (i − 1) я строка п уста, т о пе ре ходим к 5. Если не т, то опре де л яе м стол бцов ый инде кс j пе рв о го не нул е в о го эл е ме нт а эт ой стро ки прав е е гл ав ной диагонал и. П риписыв ае м (i − 1) -ю строкук А С j -го стол бца.
- 28 4. П ол агае м IUP(i − 1) = < но ме р п озиции в JU , соде рж ащ е й стол бцов ый инде кс пе рв о го не нул е в о го эл е ме нт а (i − 1) -й стро ки прав е е гл ав ной диагонал и > . 0 5. 1 . С помощ ью массив а IU оп ре де л яе м в JU описание i -й стро ки мат рицы U . В позиции РВ Н X с номе рами стол бцо в ых инде ксов в ыде л е нно го участка (е сли о н не п устой) и номе ро м стро ки i засыл ае м нул и.
2 0 . В i -ю п озицию РВ Н X п оме щ ае м эл е ме нт AD(i ) . Е сли i -я строка не п уста, т о в п озиции РВ Н , соот в е т ств ую щ ие портре ту i -й стро ки мат рицы A измассив а AN . 6. П ро смат рив ае м А С i -о го стол бца. Е сли о нп устой, т о пе ре ходим к 7. Е сли не п устой, т о дл я каж до го эл е ме нта j эт ого списка де л ае м сле дую щ ие оп е рации: а) с помощ ью эл е ме нтов IUP( j ) опре де л яе м участки массив ов JU , UN , в кот орых соде рж ит ся описание эл е ме нтов j -й стро ки мат рицы U , име ю щ их стол бцов ые инде ксы ≥ i ; б) умнож ае м эл е ме нты в ыде л е нного участка (массив а UN ) на число ~ (−U ij ⋅ D( j )) (эл е ме нт U ij находим в UN ); в ) прибав л яе м но в ые значе нияэл е ме нт ов в ыде л е нно го участка к со де рж имо мусоо т в е т ств ую щ ихяче е к РВ Н ; г) пол агае м IUP( j ) = IUP ( j ) + 1; д) п риписыв ае м j -ю строку к А С k -го стол бца, где k – сто л бцов ый инде ксне нул е в о го эл е ме нт а сноме ро м IUP( j ) , сле дую щ ий за i -м в j -й строке мат рицы U . 7. Е сли про смо т р А С зако нче н, т о в ыбирае м эл е ме нт РВ Н X (i ) , соо т в е т ств ую щ ий диагонал ьному эл е ме нт у эт о й i -й строки, и поме щ ае м е го в i -ю ~ по зицию массив а D , а соде рж имое РВ Н де л им на эл е ме нт , соде рж ащ ийся ~ в i -й позиции РВ Н (т о е стьна D ( j ) ), по сле че го в РВ Н соде рж ит ся i ястро ка матрицы U . 8. В ыбирае м из РВ Н не нул е в ые эл е ме нт ы i -й стро ки мат рицы U (за искл ю че ние м i -го стол бца, в котором находит ся1) и поме щ ае м их в UN т аким о бразом, чтобы j -омустол бцу соот в е т ств о в ал эл е ме нт X ( j ) . 9. i = i + 1 и пе ре ходим к 3. 4.1.3. П р им ер ы Задача 29. Н айт и т ре угол ьное разл ож е ние дл яматрицы A .
- 29 -
1 0 0 A = 0 0 1 0
0 0 0 0 1 0 2 0 1 1 0 0 0 3 0 1 0 1 1 0 4 0 1 1 ; 1 1 0 5 1 0 0 0 1 1 6 0 0 1 1 0 0 7
1 2 3 4 5 6 7 8 AN :
1 1 1 1 1 1 1 1
JA :
6
4 5 5 7 6 7 6 .
__ ______
1 2 4 6 8 9
AD :
1 2 3 4 5 6 7
N АС ( N стол бца )
1
− 6
1) −
2
− 4, 5
2) −
3
− 5, 7
3) −
4
− 6, 7
4) 2
5
− 6
5) 2, 3
6
−
6) 1, 4, 5
7
−
7) 3, 4
IU :
6
4 5
5 7
5 6 7
5 7
7
___ _______
______
___________
______
___
1
6
2 4
9 11 12
2. Ч исл енны й эт ап
N АС ( N стол бца) 1) 2) 3) 4) 5) 6) 7)
− − − 2 2, 3 1, 4, 5 3, 4
______
IA :
1. С им вол ический эт ап N строки N стол бца
JU :
______
~ D(1) = 1 i = 2 : IUP(1) = 1 X ( 4) = 0 + 1 / 2 = 1 / 2 X (5) = 0 + 1 / 2 = 1 / 2 X (2) = 0 + 2 / 2 = 1 ~ D (2) = 2 i = 3 : IUP(2) = 2 X (5) = 1 / 3 X (7) = 1 / 3 X (3) = 1
___
- 30 -
~ D (3) = 3 i = 4 : IUP(3) = 4 1 15 X (5) = 0 − / = −1 / 15 4 4 15 X (6) = 0 + 1 / = 4 / 15 4 15 X (7) = 0 + 1 / = 4 / 15 4 X (4) = 4 − 1 / 4 = 15 / 4 ~ D(4) = 15 / 4
j = 2 : стол бцо в ые инде ксы 4, 5. 1 1 1 ~ ~ 4 : UN (2) ⋅ (− a24 / D(2)) = UN (2) ⋅ (− AN (2) / D(2)) = − ⋅ = − 2 2 4 1 1 1 ~ 5 : UN (3) ⋅ (− a24 / D(2)) = − ⋅ = − 2 2 4 IUP(2) = 3 , IUP(2) = 4 j = 3: IUP(3) = 4, 5 i = 5 : IUP(4) = 6, 7 X (6) = 0 + 1 − 16 / 225 = 209 / 225 X (7) = 0 − 1 / 9 − 16 / 225 = −41 / 225 197 X (5) = 0 + 5 − 1 / 4 − 1 / 9 + 4 / 225 = 4 300 ~ D(5) = 19 / 4 − 1 / 9 − 4 / 225 = K UN : 1
1 2
1 2
1 3
1 3
−
1 4 4 K 15 15 15
Задача 30. П о порт ре т у (cт рукт уре ) не симме тричной РМ A опре де л ит ь максимал ьно е число не нул е в ых эл е ме нт ов после прив е де ния матрицы к т ре уго л ьно мув иду.
- 31 -
1
2 3 4
× × × × × × × 1 × × × ⊗ ⊕ × ⊕ × × × 2 × → → A= × × ⊗ ⊕ × × × 3 × ⊗ + ⊗ ⊕ × 4 × Зде сь ⊕ – не нул е в ой эл е ме нт из других строк, ⊗ – обнул е ние эл е ме нт а исходной мат рицы, + – обнул е ние эл е ме нт а издругих стро к. 4.2. О бр ат ны й ход м ет ода Г аусса О нсостоит в ре ш е нии систе мы
~ (1) U T DUx = f , ~ D –- диагонал ьная мат рица, U – в е рхне тре угол ьная се диницами на
где гл ав ной диаго нал и. О братный хо д ме т ода Гаусса дл я систе мы (1) закл ю чае т ся в ре ш е нии т ре х систе м.
U T z = f ~ Dw = z . Ux = w
(2 ) (3) ( 4)
Т аким о бразом, нуж но ре ш ит ь дв е систе мы стре уго л ьными матрицами и о днусдиагонал ьной. Ре ш ае м систе му(2) при помощ и прямой подстанов ки: по по рядку, начинаяс T пе рв ой, просмат рив ае м строки матрицы U и в ычисляе м компоне нт ы по ф ормул ам
z1 =
T f1 / U11
= f1 ,
i −1
zi = f i − ∑ U ij z j . j =1
~ Д л я систе мы (3) име е м wi = z j Dii . Систе ма (4) ре ш ае т ся о брат ной подстано в ко й:
n
xn = wn , xi = wi − ∑ U ij x j . j = i +1
М ож но т акж е дл я ре ш е ния систе мы (4) пе ре йт и от РСФ к сто л бцов ому, по сле че го систе ма (4) ре ш ае т сяанал о гично (2). 4.3. В ы вод РМ на печат ь ил иэ кр ан Д л япре дстав л е ниямат рицы мож но в ыбрат ьоднуизсл е дую щ ихф орм. 1. П р едст авл ениев видепол ной м ат р ицы
- 32 Д л я каж дой строки значе ния не нул е в ых эл е ме нтов загруж аю тся в пол ный в е щ е ств е нный массив , которо му пре дв арите л ьно придано начал ьно е нул е в о е со стояние . Строка массив а в ыв одит ся на пе чат ь ил и диспл е й, и ал горит м пе ре ходит к обработ ки сле дую щ е й стро ки мат рицы. О че нь удобно был о бы разл ичат ь в изуал ьно в нут рипорт ре т ные нул и (т .е . нул и, пе ре ме щ е нные в AN ил и AD в сле дств ие в заимного сокращ е ния при в ычисле нии) и в не порт ре тные нул и (т.е . нул и, о ко т орых заране е изв е стно, что они будут т о чными нул ями, и ко т орые поэт о му не в кл ю чаю т ся в JA ). В позициях, соот в е т ств ую щ их в не порт ре тным нул ям, мож но пе чат ат ь не числов ой симв ол , наприме р *. Разуме е т ся, практ иче ски эт от ме тод прил ож им к т е м сит уациям, когда достат очно иссле дов ат ь мал ую часть мат рицы ил и сама мат рица до стат очна мал а. 2. Д л я каж дой ст р оки печат ает ся её ном ер , а зат е м не нул е в ые эл е ме нт ы этой строки и за каж дым из них – в скобках – соот в е т ств ую щ ий стол бцов ый инде кс. Ещ е л учш е был о бы упо рядочит ь не нул е в ые эл е ме нты пе ре д пе чат ание м. Д остоинств о эт ого ме тода в т ом, чт о он сокращ ае т пространств о, занимае мое в ыв о димо й строкой; однако он не дае т т акого ясно го пре дстав л е нияо в заимном распо л о ж е нии соседних стро к, как пе рв ый ме т од. 3. П ор т р ет м ат р ицы м ож но вы вест и на уст р ой ст во с вы сокой р азр еш ающ ей способност ь ю, наприме р, диспл е й ил и матрично е пе чатаю щ е е устро йств о. Н уж но т ол ько, чт обы мат рица был а не слиш ком в е л ика ил и чтобы был о достат очно е ё рассматрив ат ьпо частям. В ы бор пор ядка искл ючения в м ет оде Г аусса (упор ядочение ст р ок и ст ол бцов) В проце ссе гауссов а искл ю че ния происходит запол не ние мат рицы, приче м о бъе м и структ ура эт о го запо л не ния в е сьма сущ е ств е нно зав исят о т в ыбора порядка искл ю че ния. П о э т ому сле дуе т в ыбират ь т акую строку, в кот орой бол ьш е нул е й, – чтобы минимизиро в ать число не нул е в ых эл е ме нтов , когда строка « обруш ив ае т ся» на в се другие стро ки, а такж е стол бе ц с максимал ьным числом нул е й, чтобы испол ьзо в ат ьп оме ньш е строк. О п р е д е л е н и е . Д л я эл е ме нт а aij произв е де ние числ а не нул е в ых 4.4.
эл е ме нтов в i -о й стро ке и j -ом стол бце назыв ае т ся це ной М арк ови ца эл е ме нт а aij . Н е нул е в ой эл е ме нт aij сле дуе т в ыбират ьт ак, чт обы це на М арко в ица эт ого эл е ме нт а был а минимал ьно й ил и не слиш ко м бол ьш о й. Э та иде я назыв ае т ся ст рат е г и е й М арк ови ца. О на по зв ол яе т оптимизиро в ать в ыбор в е дущ е го эл е ме нт а.
- 33 Н о т акой в ыбо р в л ияе т на устойчив ость п роце сса гауссо в а искл ю че ния, т ак как е сли в е дущ ий эл е ме нт мал , т о в о змож на по т е ря устойчив о сти в ычисле ний. 4.5. В ы числ ит ел ь ны еош ибкив гауссовом искл ючении П ри ре ал изации ме т ода Гаусса приходится в ыпол нят ь ариф ме тиче ские де йств ия типа b = a − lU . Д л я оп е раций спл ав аю щ е й т очкой границы о ш ибки обычно устанав л ив аю т ся сле дую щ им образом: f l ( x o y ) = ( x o y )(1 + ε ) , где симв ол o о бо значае т одну из эл е ме нт арных о пе раций +, −, ×, / ; ( x o y ) – т очный ре зул ьт ат опе рации; f l ( x o y) – о кругл е нный ре зул ьт ат ;
ε ≤ ε M , где ε M – маш иннаят о чность.
П усть a , b < α , тогда дл яоце нки погре ш ности име е м
ε ≤ α ⋅εM ⋅
1 1− εM
1 ⋅ + 2 . 1 − ε M
Т аким образо м, дл я того чтобы в ычислите л ьная погре ш ность был а не слиш ко м в е л ика, не сле дуе т до п ускат ь чре зме рного роста чисел a, l , U . А в ме т оде Гаусса a, l , U – эл е ме нт ы k -х проме ж ут о чных мат риц. П о э т ому в в о дит ся показат е л ь проме ж ут о чного роста в ме т о де Гаусса
α k = max aijk
(A = { a }) , k ij
k
ко т орый дол ж е нбыт ьне слиш ком в е л ик.
С т р ат егия, осущ ест вл яющ ая ком пр ом иссм еж ду опт им изацией уст ой чивост ииопт им изацией ал гор ит м а П усть сде л аны пе рв ые k ш агов ме т о да Гаусса с в ыбо ро м гл ав ного эл е ме нт а по стол бцу. В о зьме м число U : 0 < U << 1. О п ре де л им в k -ом 4.6.
{
стол бце множ е ств а Rst = aik : aik ≥ U ⋅ max aijk
},
Rsp –- множ е ств о
не нул е в ых эл е ме нтов k -го стол бца, пре дпочт ит е л ьных с т о чки зре ния разре ж е нности, наприме р т аких, дл я которых це на М арко в ица не пре в осхо дит не которого ф иксиро в анного числа. В ыбор в е дущ е го эл е ме нт а о сущ е ств л яе т ся в множ е ств е R piv = Rsp I Rst , о рие нт ируясьна Rsp ил и Rsp .
Л ит ер ат ур а 1. П иссане цки С. Т е хнол о гия разре ж е нных матриц / C. П иссане цки. – М .: М ир, 1988. 2. Д ж ордж А ., Л ю Д . Ч исле нные ме т оды ре ш е ния бол ьш их разре ж е нных систе м урав не ний / А . Д ж ордж , Д . Л ю . – М .: М ир, 1984.
- 34 3. Э сте рбю О ., Зл ате в З. П рямые ме т оды дл я разре ж е нных матриц/ О . Э сте рбю , З. Зл ат е в . – М .: М ир, 1987. 4. Т ью арсонР. Разре ж е нные мат рицы / Р. Тью арсон. – М .: М ир, 1977. С остав ит е л и: Б л ат ов И горьА натол ье в ич Гл уш аков а Т ат ьяна Н икол ае в на Э ксаре в скаяМ .Е .
Ре це нзе нт
П о ко рнаяИ .Ю .
Ре дакт ор
Т ихо миро в а О .А .
З а ка з № от 2002 г. Т ир . 50 экз. Л а бор а т ор ия опе р а т ивной полигр а ф ии В ГУ