MN 08 Uklady Row Lin 3, metody numeryczne

Pobierz cały dokument
mn.08.uklady.row.lin.3.metody.numeryczne.doc
Rozmiar 811 KB

Fragment dokumentu:

MN08

Wielkie układy równań liniowych

Wraz z coraz większymi modelami pojawiającymi się w praktyce obliczeniowej, coraz częściej zachodzi potrzeba rozwiązywania zadań algebry liniowej, w której macierze są co prawda wielkiego wymiaru, ale najczęściej rozrzedzone, to znaczy jest w nich bardzo dużo zer. Bardzo często zdarza się, że macierz wymiaru 0x01 graphic
ma tylko 0x01 graphic
niezerowych elementów. Wykorzystanie tej specyficznej własności macierzy nie tylko prowadzi do algorytmów istotnie szybszych od ich analogów dla macierzy gęstych (to znaczy takich, które (w założeniu) mają 0x01 graphic
elementów), ale wręcz są jedynym sposobem na to, by niektóre zadania w ogóle stały się rozwiązywalne przy obecnym stanie techniki obliczeniowej.

Jednym ze szczególnie ważnych źródeł układów równań z macierzami rozrzedzonymi są np. równania różniczkowe cząstkowe. Modele wielostanowych systemów kolejkowych (np. routera obsługującego wiele komputerów) także prowadzą do gigantycznych układów równań z macierzami rozrzedzonymi o specyficznej strukturze.

Przykład: Macierz z kolekcji Boeinga

Struktura niezerowych elementów macierzy bcsstk38.

Spójrzmy na macierz sztywności dla modelu silnika lotniczego, wygenerowaną swego czasu w zakładach Boeinga i pochodzącą z dyskretyzacji pewnego równania różniczkowego cząstkowego. Pochodzi z kolekcji Tima Davisa. Jest to mała macierz, wymiaru 8032 (w kolekcji spotkasz równania z milionem i więcej niewiadomych). Jej współczynnik wypełnienia (to znaczy, stosunek liczby niezerowych do wszystkich elementów macierzy) wynosi jedynie 0x01 graphic
, a więc macierz jest bardzo rozrzedzona: w każdym wierszu są średnio tylko 44 niezerowe elementy.

Reprezentacja macierzy rzadkich

Zacznijmy od sposobu przechowywania macierzy rozrzedzonych. Naturalnie, nie ma sensu przechowywać wszystkich zerowych jej elementów: wystarczy ograniczyć się do zachowania tych niezerowych. W ten sposób zmniejszamy zarówno wymagania pamięciowe, jak i liczbę operacji zmiennoprzecinkowych potrzebnych do prowadzenia działań na macierzy (np. w przypadku mnożenia macierzy przez wektor, nie będziemy mnożyć przez zera).

Format współrzędnych

Do zapamiętania macierzy 0x01 graphic
wymiaru 0x01 graphic
o 0x01 graphic
niezerowych elementów wykorzystujemy trzy wektory: I, J --- oba typu int --- oraz V, typu double, wszystkie o długości 0x01 graphic
, przy czym

0x01 graphic

Format AIJ. W tym formacie wprowadzane są macierze rzadkie do Octave'a i MATLABa:

A = sparse(I,J,V,N,N);

Jednak wewnętrznie przechowywane są w innym formacie.

Przykład. Pokażemy jak w Octave wprowadzić macierz rozrzedzoną.

<realnowiki><realnowiki><realnowiki><realnowiki>octave:10> I = [1, 1, 1, 2, 3, 1, 4];

octave:11> J = [1, 3, 2, 2, 3, 4, 4];


Pobierz cały dokument
mn.08.uklady.row.lin.3.metody.numeryczne.doc
rozmiar 811 KB
Wyszukiwarka

Podobne podstrony:
MN 07 Uklady Row Lin 2, metody numeryczne
MN 05 Uklady Row Lin 1, metody numeryczne
MN 02 Row Nielin, metody numeryczne
R4 Niel Row Alg(1), metody numeryczne
R8 Row Roz, metody numeryczne
Cichy B Metody numeryczne, mn 08
MN energetyka zadania od wykładowcy 09-05-14, STARE, Metody Numeryczne, Część wykładowa Sem IV
Metody numeryczne PDF, MN macierze 01 1
Metody numeryczne PDF, MN raphson 11
Cichy B Metody numeryczne, mn 06
Metody numeryczne PDF, MN mnk1 06
Metody numeryczne PDF, MN inter 05
SCIAGA METODY NUMERYCZNE testy 1-8, Mechatronika, Semestr IV, Metody numeryczne, opracowanie MN, TES
Metody numeryczne PDF, MN mnk2 07
MN 1EF-DI-wytyczne proj, Studia Informatyka 2010, Semestr2, Metody Numeryczne

więcej podobnych podstron

kontakt | polityka prywatności