MN08LAB: Różnice pomiędzy wersjami

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania
Przykry (dyskusja | edycje)
mNie podano opisu zmian
Przykry (dyskusja | edycje)
mNie podano opisu zmian
Linia 101: Linia 101:
najwygodniejsze jest w CSR, bo dodatkowo narzuca zasadę lokalności w przestrzeni. Wyłuskanie wartości jest najmniej efektywne w
najwygodniejsze jest w CSR, bo dodatkowo narzuca zasadę lokalności w przestrzeni. Wyłuskanie wartości jest najmniej efektywne w
formacie AIJ. Szczegóły opisane są w rozdziale 3.5 książki  
formacie AIJ. Szczegóły opisane są w rozdziale 3.5 książki  
* <span style="font-variant:small-caps">Y. Saad</span>, <cite> [http://www-users.cs.umn.edu/&nbsp;saad/books.html  Iterative methods for sparse linear systems]</cite>, PWS, 1996.
* <span style="font-variant:small-caps">Y. Saad</span>, <cite> [http://www-users.cs.umn.edu/~saad/books.html  Iterative methods for sparse linear systems]</cite>, PWS, 1996.


Zobacz także implementacje w Fortranie, w pakiecie [http://www-users.cs.umn.edu/&nbsp;saad/software/SPARSKIT/sparskit.html  SPARSKIT], będącym czymś w rodzaju odpowiednika BLAS dla macierzy rozrzedzonych.
Zobacz także implementacje w Fortranie, w pakiecie [http://www-users.cs.umn.edu/~saad/software/SPARSKIT/sparskit.html  SPARSKIT], będącym czymś w rodzaju odpowiednika BLAS dla macierzy rozrzedzonych.


</div></div></div>
</div></div></div>
Linia 115: Linia 115:


<div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Rozwiązanie </span><div class="mw-collapsible-content" style="display:none"><div style="margin-left:1em">   
<div class="mw-collapsible mw-made=collapsible mw-collapsed"><span class="mw-collapsible-toogle mw-collapsible-toogle-default style="font-variant:small-caps">Rozwiązanie </span><div class="mw-collapsible-content" style="display:none"><div style="margin-left:1em">   
Zobacz, jak to zrobiono w pakiecie [http://www-users.cs.umn.edu/&nbsp;saad/software/SPARSKIT/sparskit.html  SPARSKIT].
Zobacz, jak to zrobiono w pakiecie [http://www-users.cs.umn.edu/~saad/software/SPARSKIT/sparskit.html  SPARSKIT].
</div></div></div>
</div></div></div>



Wersja z 21:26, 29 wrz 2006


Układy liniowe z macierzami rzadkimi

<<< Powrót do strony głównej przedmiotu Metody numeryczne

Oglądaj wskazówki i rozwiązania __SHOWALL__
Ukryj wskazówki i rozwiązania __HIDEALL__

Ćwiczenie: Metoda Richardsona

Jedną z najprostszych klasycznych metod iteracyjnych dla równania Ax=b jest metoda Richardsona, zadana wzorem

xk+1=xk+τ(bAxk),

gdzie τ jest pewnym parametrem. Gdy τ=1, mamy do czynienia ze zwykłą metodą iteracji prostej, która najczęściej nie będzie zbieżna, dlatego wybór parametru τ jest kluczowy dla skuteczności metody.

Dla A symetrycznej, dodatnio określonej sprawdź, przy jakich założeniach o τ metoda będzie zbieżna do rozwiązania x* z dowolnego wektora startowego x0 i oceń szybkość tej zbieżności.

Testuj na macierzy jednowymiarowego laplasjanu L różnych wymiarów. Jak najefektywniej zaimplementować mnożenie przez L?

Wskazówka
Rozwiązanie

Ćwiczenie

Zaimplementuj operacje:

  • mnożenia macierzy A przez wektor x,
  • wyłuskania wartości elementu Aij,
  • zmiany wartości pewnego zerowego wyrazu macierzy na niezerową,

jeśli macierz jest zadana w formacie

  • AIJ,
  • CSC,
  • CSR.

Przetestuj dla kilku macierzy z kolekcji MatrixMarket.

Rozwiązanie

Ćwiczenie: Konwersja formatu macierzy rzadkiej

Napisz procedurę aij2csr, konwertującą macierz w formacie AIJ do CSR i csr2aij, działającą w drugą stronę.

Rozwiązanie


Ćwiczenie

Jak tanio rozwiązywać układ równań z macierzą cykliczną trójdiagonalną, tzn.

A=(a1c1b1b2a2c2b3a3cN1cNbNaN)

Dla uproszczenia załóżmy, że macierz jest dodatnio określona i symetryczna.

Zaimplementuj opracowaną metodę, korzystając z BLASów i LAPACKa.

Wskazówka
Rozwiązanie

Ćwiczenie: CGNE

Ktoś mógłby sugerować, że skoro CG działa tylko dla macierzy symetrycznych, to dowolny układ Ax=b z macierzą nieosobliwą można transformować do równoważnego mu układu równań normalnych

ATAx=ATb,

którego macierz ATA jest już oczywiście macierzą symetryczną i dodatnio określoną.

Wskaż potencjalne wady tej metody i podaj sposób jej implementacji.

Wskazówka
Rozwiązanie