\begin{Tehtava}
\begin{tehtava}
mlPDE020.tex \\
Neliöalueessa diskretoidun Laplacen yhtälön matriisi on muotoa:\\
$A=\left[ \begin {array}{ccccc} B&I&O&\ldots&O\\
             \noalign{\medskip}I&B&I&O&\ldots\\
  \noalign{\medskip}O&\ddots&\ddots&\ddots&O\\
  \noalign{\medskip}\vdots& & & & \\
  \noalign{\medskip} O &\ldots &I &B &I \\
  \noalign{\medskip}O&\ldots&\ldots&I&B\end {array}
 \right] 
$, missä $B=
\left[ \begin {array}{ccccc} -4&1&0&\ldots&0\\
             \noalign{\medskip}1&-4&1&0&\ldots\\
  \noalign{\medskip}0&\ddots&\ddots&\ddots&0\\
  \noalign{\medskip}\vdots& & & & \\
  \noalign{\medskip} 0 &\ldots &1 &-4 &1 \\
  \noalign{\medskip}0&\ldots&\ldots&1&-4\end {array}
 \right] $ \\
ja I on yksikkömatriisi sekä $O$ nollamatriisi.

Jos solmuja on reunat mukaan lukien $n \times n$ kpl., niin sisäsolmuja 
on $(n-2)^2$ kpl. Tällöin $B, I, O$ ovat $(n-2)\times (n-2)$ ja $A$ on 
$(n-2)^2 \times (n-2)^2$ matriisi. 
$A$ koostuu siis kolmesta lohkonauhasta, diagonaalilohkoina $B$ ja ylä- ja 
alanauhalohkoina $I$.

Tällaisen matriisin muodostamiseen on monta tapaa. 
Kaikkein helpoin on valmiiksi ohjelmoitu {\sc Matlab}-funktio \texttt{delsq}. 
Koska matriisit ovat yleensä suuria,
on syytä käsitellä niitä \emph{harvoina} (engl. \emph{sparse}), ts. nollia ei talleteta, ainoastaan nollasta poikkeavat indekseineen.
Niinpä \texttt{delsq} rakentaa matriisista automaattisesti harvan. Jos haluat 
katsoa sitä tai sen osaa täytenä, käytä komentoa \texttt{full}.
Kokeile:
\begin{verbatim}
help delsq
help numgrid
G=numgrid('S',10) % 'S' viittaa alueeseen ``Square''. Muitakin 
A=delsq(G)        % on Matlabin numgrid-repertuaarissa.
full(A)
ans(1:10,1:10)
\end{verbatim}

(Yhtä helppoa nelioalueen tapauksessa on käyttää omatekoista 
\texttt{lapm}-funktiota \texttt{matlab}-hakemistossa.)\\
Lopussa muita tapoja:

Kokeile näitä komentoja muutellen sopivasti parametreja. 
Suorita myös komento \texttt{help sparfun}, saadaksesi katsauksen
tärkeään osaan {\sc Matlab}:ia: harvojen matriisien käsittelyfunktioihin.

Ratkaise tehtävä AV 3 käyttäen $50\times 50$-hilaa reunat mukaan 
lukien, siis $48^2 \times 48^2$-matriisia A. 
Tulosvektori kannattaa muotoilla $48 \times 48-$matriisiksi komennolla 
\texttt{U=reshape(u,48,48)}, jolloin sen voi heti visualisoida komennolla
\texttt{surf(U)}.  Teepä se. \\

Esitys taululla: Kerro kokeiluistasi ja havainnoista, mitä opit harvoista 
matriiseista ja miten lopun suorit ja mitä tunnelmia kuva herätti.
(Jos joku kohta, kuten kuva ei onnistunut, voit ihmetellä ääneen, miksi.)



\end{tehtava}
\begin{vihje} 


\end{vihje}
\end{Tehtava}
