Nejste přihlášen/a.
Dobrý večer, mohl by mi někdo poradit s počítáním hodnosti matic. Mám matici a převádím ji na schodovitou, ale nuluji jako blázen a vyšlo mi to jen jednou a dlouhé době. Neví někdo nějkaký psaný postup, nebo je nutno matici od matice volit odlišný?
P.S.-Teprve do toho pronikám, sčítání a odčítání ok, násobení skalárem ok, násobení a tranzpozice taky, determinant taky ok.
Pokud by někdo věděl nějaký vychytávky na inverzní matice(singulární a regulární) či něco k adjungované, tak bych byl rád.
Děkuji velice.
Samozřejmě že lze napsat jednoznačný a spolehlivý univerzální postup, který funguje vždy. Krom toho se lze snažit o nalezení "chytrého" postupu "ad hoc" k té které konkrétní matici; takový postup může někdy dát výsledek rychleji, ale mnohdy za tu cenu, že mi jeho vymyšlení dá víc práce než otrocké sledování algoritmu (anebo se mi dokonce vůbec nepovede). Ten algoritmus mohu nasat (je i napsaný, ale nevím, jestli bych ho našel v elektronické podobě), ale je to trochu delší záležitost, (nebo bych to mohl napsat rychle, ale zase možná za cenu toho, že to bude zmatené). Teˇd už je pozdě a musím venčit psa, ale ozvu se.
Jo a jen k těm inverzním maticím: jen připomenu (ale to jistě víte) že inverzní k singulární neexistuje.
Zkusím napsat něco o té diagonalizaci. Než s tím budu hotov, zkuste se podívat na tento odkaz:
Jen pro zajímavost: v jakém rámci se o ty matice zajímáte? Studujete školu, nebo vás to zajímá jako samouka, nebo jste se k tomu dostal jinak?
Takže, jak postupovat při převádění matice na schodovitý tvar. Nejprve shrnu přípustné úpravy, které nemění hodnost matice (tedy jsou ekvivalentní co se týče hodnosti.)
Je možné přehodit řádky, násobit libovolný řádek NENULOVÝM číslem a dále k libovolnému řádku přičíst lineární kombinaci ostatních. (Ty poslední dvě úpravy lze spojit - k nenulovému násobku libovolného řádku lze přičíst kombinaci ostatních [a ten řádek výsledkem nahradit]. dále lze vyškrtnout nulový řádek, obecněji lze vyškrtnout řádek, který je násobkem jiného. (Obecněji lze vyškrtnout řádek, který je lineární kombinací ostatních, ale to bych neřadil mezi ty základní, k takovému vyškrtnutí se spíše dostaneme postupně a většinou ho neuvidíme "rovnou"; nicméně nikdy neříkej nikdy.)
Tytéž úpravy lze provádět i se sloupci, ale já bych je nedoporučoval. Speciálně by to bylo nevhodné třeba při řešení soustavy rovnic, například.)
Tak a teď postup; samozřejmě lze volit různé varianty, jdnou (v jistém smyslu základní) začnu.
Pro začátek potřebuju dostat nuly do celého prvního sloupce krom prvního řádku, Myšlenka je ta, že pomocí "rohového"prvku "gumuju"ty pod ním. Takže:
(i)První krok: zkontroluji, zda prvek a1,1 (rohový prvek) je nenulový. Pokud ano, postupuji přímo na (iii) ,pokud ne,
(ii) přesunutím některého nižšího řádku, který nezačíná nulou (pro určitost algoritmu můžeme volit první takový) na místo prvního řádku dosáhnu, toho že v rohu bude nenula a postupuji:
(iii) vydělím první řádek jeho prvním prvkem (takže na začátek dostanu nulu, a následně
(iv) u k-tého řádku, počínaje druhým až do posledního, vynásobím první řádek prvním prvkem k-tého a od k-tého výsledek odečtu.
Tím jsem dostal nuly do prvního sloupce do všech řádků nižších než první. Na závěr se ještě podívám, zda po těchto úpravách nevznikl někde nulový řádek, ten bych vyškrtl, načež již první řádek zafixuji, a celý proces opakuji počínaje druhým řádkem a nuluji druhý sloupec.
Kdyby v některém okamžiku po vznikl nulový sloupec jako první v celém úseku matice, který chci zpracovávat, takže bych do levého horního rohu nemohl dostat nenulu (to se týká i samotného právě popsaného zahájení), tak ten algoritmus nasadím se stejným řádkem, ale s dalším (resp. prvním nenulovým) sloupcem.
Tohle chodí vždy, ale má to své nevýhody, vhodné je to třeba pro počítač, který umí snadno dělit cokoli čímkoli. Pro "ruční"počítání bych mohl postup upravit, ale zatím se podívejte na to co jsem napsal, zda je to srozumitelné. V dalším pokračování přidám nějaké ty úpravy.
doplněno 05.10.10 23:43:K těm úpravám postupu:
pro ruční počítání s celými čísly může být dělení "pivotem"zbytečně komplikované, musíte počítat se zlomky. Pak to lze modifikovat takto: když nuluji první prvek nějakého řádku, tak předtím nedělím první řádek "pivotem", abych dostal jedničku, ale naopak ho vynásobím tím prvkem matice, který chci vynulovat, pivotem pak zase vynásobím ten upravovaný řádek, a první od něj odečtu. Tím mi sice vzniknou větší čísla, ale budou celá.
(Naopak při obecné matici, s necelými čísly, a při strojovém zpracování, může být výhodné do levého horního rohy dopravit co možná největší prvek matice a pak s ním řádek dělit; potlačují se tím zaokrouhlovací chyby.)
A obecně bych k maticím mohl doporučit hledat ve Wikipedii; základní obecná stat je na adrese cs.wikipedia.org/... ale najdete tam toho spoustu na různá další související témata.
Díky, ze to dobré, ještě si to pořádně projdu a dám vědět o výsledcích. Matice potřebuji na VŠ, ale jinak je to velmi zajímavé, tak to chci pořádně umět, protože přes matice se dělá celá řada dalších věcí. Už se těším na případné pokračování. Ještě jednou díky.
A co Gaussova metoda? Tou jdou počítat inverzní nebo se pletu? Nejsem matematik, ale nedávno jsem dělala zkoušku a tam jí mám napsanou.
Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz.
Používáním poradny vyjadřujete souhlas s personifikovanou reklamou, která pomáhá financovat tento server, děkujeme.