\documentclass[finnish,11pt,twocolumn]{article}
\usepackage{/home/apiola/tex/v3harj}
%\include{/home/apiola/tex/defs}
%\usepackage{v23harj}
%\include{defs}

\begin{document}

%\vspace{0.2cm}
%\begin{verbatim}
%\end{verbatim}

\harjoitus{5}{42}{17 -- 19.10.2001}

T�m�n v�likoeviikon harjoitukset pidet��n niin, ett� ke ja to on 
neuvontaharjoitus ja perjantaina ``esiintymisharjoitus'' (harjoitellaan
esiintymist� ja esitell��n harjoituksia).


\subsubsection*{AV ja LV}

Aiheena on numeerinen lineaarialgebra, l�htein�:[KRE],
[CV] Charles van Loan: Introduction to Scientific Computing (+ CV-tiedostot)\\
{\tt http://www.cs.cornell.edu/cv/Books/SCMV/Mfiles/chap6.htm} ja \\ 
{\tt http://www.math.hut.fi/teaching/v/matlab/cv/chap6.htm}

Harjoituksissa voidaan jakaa otteita CV-sivuista.


\begin{enumerate}

\item
Kirjoita neli�matriisin tapauksessa Gaussin algoritmi 
Matlab-funktioksi t�h�n tapaan (ja testaa toimivaksi).

\begin{verbatim}
function Ab=gausseli(A,b)
% Gaussin eliminaatio, perusversio.
% Ei rivinvaihtoja, ei mit��n tarkistuksia eik� �ly�.
% Jos tulee 0:lla jako, niin Matlab varoittaa ja
% palauttaa NaN-rivin, silloin yksik�sitteist� ratkaisua ei ole.
%
% Sy�tteet: neli�matriisi A ja oikea puoli b.
% Tulos: Alakolmiomatriisi [L,bmato]
[n,n]=size(A); 
% T�h�n vain j-luuppi aiemmin esill� olleen eteen
\end{verbatim}

\item
Esittele {\tt ...matlab/cv/chap6.htm}-funktion GE toiminta ja demoa
skripti� ShowGE k�ytt�en. Selvittele my�s skriptin toimintaa, voit
kokeilla muutakin dataa.


\item
Vastaavasti {\tt GEpiv, ShowGEpiv}.


\item %Fo-Ma-Mo
Vastaavasti {\tt Ltrisol,Utrisol,ShowTrid}.

\item
Kuutiollisen splinin laskentateht�v� johtaa lineaariseen yht�l�systeemiin, 
jonka matriisi saadaan komennoilla:
\begin{verbatim}
n=...
A=diag(ones(n-1,1),1)+diag(ones(n-1,1),-1)+diag(4*ones(n,1))
A(1,1)=-1;A(n,n)=-1
\end{verbatim}

Kirjoita funktiotiedosto 
\begin{verbatim}
fuction A=splmat(n)
...
\end{verbatim}

Laske eri n:n arvoilla suoritusaikoja a) t�yten�, b) harvana (sparse)
ja c) tridiagonaalisena

Laske cond(A) eri n:n arvoilla.
T�m� mittaa ``h�iri�alttiutta''


%Vertaa Vandermonden condiin. Johtop��t�s verrattaessa polynomi- ja
%splini-interpolaatiota.

\item % CV s. 193
Tasoalueen reunoilla on oheisen kuvan mukaiset l�mp�tilat.
%%\vfill\eject

\begin{verbatim}
          50   20   10   0
     |----|----|----|----|----|
     |                        |
  80 |   T1   T2   T3   T4    | 80
     |                        |
  60 |   T5   T6   T7   T8    | 60
     |                        |
  40 |   T9   T10  T11  T12   | 40
     |                        |
  20 |   T13  T14  T15  T16   | 20
     |                        |
     |----|----|----|----|----|
          0    0    0    0
\end{verbatim}
Oletetaan, ett� sis�pisteiden l�mp�tilat $T_1,...,T_{16}$ saadaan
naapuripisteiden l�mp�tilojen keskiarvona. (Kullakin sis�pisteell�
on 4 naapuria, pohjois-, etel�-, it�-, l�nsi.)

Muodosta lineaarinen yht�l�systeemi l�mp�tilojen $T_1,...,T_{16}$ 
ratkaisemiseksi. Rakenna yht�l�systeemi itsellesi ensin kyn�� ja
paperia k�ytt�en ja sy�t� se sitten Matlabiin.

K�yt� ratkaisuun
Matlabin valmista ratkaisijaa \verb_ T=A\b _. Piirr� l�mp�tilafunktion
kuvaaja. T�m� k�y muotoilemalla ratkaisuvektori {\tt T} $4\times4$- 
matriisiksi
{\tt TMAT }
ja soveltamalla {\tt surf}-tyyppist� funktiota. Huom: 
{TMAT}-matriisin
saa k�tev�sti komennon {\tt reshape} avulla.


{\bf Huom!} T�ss� on kyse ihan oikeasta numeerisesta menetelm�st�
{\em Laplacen osittaisdifferentiaaliyht�l�n} ratkaisemiksi, ns.
differenssimenetelm�st�, jossa osittaisderivaatat korvataan 
differensseill� (periaatteessa erotusosam��rill�).

{\bf ``Vapaaehtoinen'' jatkoteht�v�} (1-2 lis�pistett�) 

T�m�nkokoisessa tapauksessa yht�l�iden kirjoittaminen yksi toisensa
j�lkeen tarkemmin indeksej� miettim�tt� ei ole kohtuuton ty�,
mutta seuraavassa vaiheessa haluamme yleisen tilanteen, jossa
jaetaan m:��n osaan pystysuunnassa ja n:��n vaakasuunnassa.
Nyt (viimeist��n) kannattaa mietti� systemaattisemmin indeksiaritmetiikkaa.

Laskentasolmut jakaantuvat sellaisiin, joilla ei ole reunanaapuria
ja niihin, joilla on (joko 1 tai 2).
Indeksi� voi ajatella vaikka m-j�rjestelm�n lukuna.
(Neuvontaa annetaan lis�� tarpeen mukaan.)
Toisaalta kokoamisen voi tehd� kaksin indeksein ja k�ytt�� jonoutusta
$M(:)$. Matriisin voi koota my�s sopivina lohkomatriiseina tai
toisaalta diagonaaleina, jolloin voidaan tehd� suoraan harva (sparse)
rakenne. (Tapoja on siis useita.)

\begin{verbatim}
function Tmat=lampo(North,E,S,W)
% Sy�te: reuna-arvovektorit (pohjois, it�, etel�, l�nsi)
% Tulos: L�mp�tilamatriisi.
m=length(E)-2;  % length(E):n oltava sama kuin length(W)
n=length(North)-2;  % length(North):n oltava sama kuin length(S)
N=m*n         % Yht�l�systeemi on N x N
...
...
T=A\b;
Tmat=reshape(T,m,n); % Voit lopettaa t�h�n, mutta mukavampaa olisi,
                     % ett� reunatkin olisi liitetty Tmat:iin.
Tmat=...   % Liit� viel� reunat mukaan matrisiin. (Nurkkiin voit laittaa
           % ko. arvojen keskiarvon (silt� varalta, etteiv�t samat.)
\end{verbatim}

Visualisoinnissa kannattaa kokeilla {\tt surfc(Tmat)}:n lis�ksi korkeusk�yri�
vaikkapa tyyliin:\\
{\tt cs=contour(Tmat,10); clabel(cs);}

{\bf Varsinainen teht�v�} 

Olkoot l�nsi- ja it�reuna $0$-asteessa ja 
\begin{verbatim}
n=...
x=linspace(0,2,n)
pohjoinen=sin((pi/2)*x).*exp(-x);
etela=pohjoinen(n:-1:1);
\end{verbatim}

Ratkaise teht�v� ja visualisoi ainakin tapauksissa 
$m=5, n=6$ ja $m=9, n=17$.




\end{enumerate}



\subsubsection*{Loppuviikko (LV)}
\begin{enumerate}

\end{enumerate}





\item
Gaussin algoritmin aritmeettisten operaatioiden lukum��r�arvio.

Voit k�ytt�� apuna KRE s. 892 selvityst�.
Tee itsellesi (ja taululla muille) selv�ksi, miten syntyy,
arvio $O(n^3)$.


KRE-kirjassa ei ole perusteltu, mist� saadaan $n^3$-termi yl�rajaksi.
Suorita t�m� perustelu vaikkapa tarkastelemalla funktiota
$f(x)=x(x+1)$ ja n�kem�ll� summa $\sum_{p=1}^{n-1} p(p+1)$ funktion $f$ integraalin
alasummana ($\Delta x=1$). (Samaan tapaan meneteltiin sarjojen
yhteydess� integraalitestin kohdalla, siihen ei kuitenkaan tarvitse
mill��n lailla nojautua.)  


\item
The {\it Hilbert matrix} $H=(1/(i+j+1))_{i,j}$ arises for instance in the polynomial 
least squares problem. The Matlab function {\tt hilb(n)} forms such a matrix.
It is known that the first entry of the exact solution of the system 
$H_n x= e_n$ is $n^2$, where
$e_n=(1,0,...,0)$. 
Form a table of values of cond($H_n$) , $1/$rcond$(H_n)$, $n^2$ and the 
first entry of the
computed solution (by Matlab) for $n=1,...,15$.

\item
Form the unit circle in $\R^2$ in a similar form as "talo" above: \rv
{\tt >> t=linspace(0,2*pi);x=cos(t);y=sin(t);T=[x;y];  } \rv
To visualize the matrix norm concept you can draw the unit circle along
with its image under a linear transformation.
Let {\tt H=hilb(2)} ($2\times 2$ Hilbert matrix)).
Plot the unit circle and its image under $H$ in the same graphics window
 (use {\tt axis('square'))}.
Plot in another window ({\tt figure(2)}, hopefully works for telnet/kermit
also) similarly using the inverse $H^{-1}$.
Observe the values {\tt cond(H)} and {\tt rcond(H)}.


\end{enumerate}
\end{document}