В О РО НЕ Ж С К И Й Г О С У Д А Р С Т В Е ННЫ Й У НИ В Е Р С И Т Е Т Ф АК У Л Ь ТЕ Т ПМ М К а ф едр а в ы чи с ли т ельн...
16 downloads
169 Views
315KB 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 .
AN , JA, IA Задача 2. П о массив ам т очностью до нул е в ых стол бцо в справ а). 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. Н ап исат ь дл я мат рицы A Задача 4. сто л бцов ое пре дстав л е ние . 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 засыл ае м нул и. 2 0 . П ро смат рив ае м 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
0.4 0.6
3
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 JB : 9 5 3 1 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 CN : 0.4 0.6 0.8 − 0.14 сканируе м AN 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 ) = Κ = Y (l ) = 0 i = 1: IC (1) = 1 nj =1 ( N эл е ме нт а в JC ) 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 + a12b21 , x2 = x2 + a12 b22 ; c11 = x1 , c12 = x2 . Рассмо т рим числ енны й э т ап в общ е м случае . 1 . i = 1. 2 0 . С по мо щ ью IC оп ре де л яе м, в какихп озициях JC находит сяо писание i -й строки мат рицы C . 30 . П росмат рив ае м участок JC , соот в е т ств ую щ ий описанию i -й строки, и в п озиции РВ Н X сноме рами стол бцо в ых инде ксов i -й строки эт о го участка засыл ае м нул и. 4 0 . С по мо щ ью IA о пре де л яе м, в каком участке JA соде рж ит ся о писание i -й стро ки мат рицы A . 50 . П ро смат рив ае м в ыде л е нный участок ( i -ю строку) массив а JA . Д л я каж до го про смат рив ае мого эл е ме нт а k , стоящ е го в m -й п озиции массив а JA , в ып ол няе м сле дую щ ие о пе рации: 0
- 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
2) i = 1 :
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 ; … … … … … … … … … … .
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),Κ 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. Т ранспониро в ат ьмат рицу А (пол учит ьмат рицу А ) . T 2. П е ре став ит ь1-ый и 5-ый сто л бцы мат рицы А (по л учить ATP ). 3. Т ранспониро в ат ьмат рицу ATP . § 4. М ет од Г аусса дл я Р М Рассмо т рим СЛ А У в ида Аx = f , где x ∈ R , f ∈ R , А – симме т ричная мат рица n × 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
4
− 6, 7
3) − 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 = Κ UN : 1
1 2
1 2
1 3
1 3
−
1 4 4 Κ 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) ре ш ае тся о братной по дстанов кой:
xn = wn ,
n
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 ο y ) = ( x ο y )(1 + ε ) , где симв о л ο о бо значае т о дну из эл е ме нт арных f l ( x ο y) – оп е раций +, −, ×, / ; ( x ο 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 aij
k
},
Rsp –- множ е ств о
не нул е в ых эл е ме нт о в k -го сто л бца, пре дпо чт ит е л ьных с т очки зре ния разре ж е нно сти, наприме р т аких, дл я кот о рых це на М арков ица не пре в о сходит не кот о ро го ф иксиро в анного числа. В ыбор в е дущ е го эл е ме нт а осущ е ств л яе т ся в множ е ств е R piv = Rsp Ι Rst , орие нт ируясьна Rsp ил и Rsp . Л ит ер ат ур а 1. П иссане цки С . Те хнол огия разре ж е нных матриц / C. П иссане цки. – М .: М ир, 1988. 2. Д ж ордж А ., Л ю Д . Ч исле нные ме т оды ре ш е ния бо л ьш их разре ж е нных систе м урав не ний / А . Д ж ордж , Д . Л ю . – М .: М ир, 1984.
- 34 3. Э сте рбю О ., Зл ат е в З. П рямые ме т оды дл я разре ж е нных мат риц/ О . Э сте рбю , З. Зл ат е в . – М .: М ир, 1987. 4. Т ью арсонР. Разре ж е нные мат рицы / Р. Т ью арсон. – М .: М ир, 1977. Состав ит е л и: Б л ат о в И горьА нат ол ье в ич Гл уш аков а Т ат ьяна Н ико л ае в на Э ксаре в скаяМ .Е .
Ре це нзе нт
П окорнаяИ .Ю .
Ре дакт ор
Т ихомиро в а О .А .
З а ка з № от 2002 г. Т ир . 50 экз. Л а бор а т ор ия опе р а т ивной полигр а ф ии В ГУ