%  En préambule,  les  sources metapost.  Si  vous lancez  latex  sur ce  fichier,  il vous  placera
% automatiquement le fichier .mp dans le répertoire courant. 
\begin{filecontents*}{GraphesExemple.mp}
%input newcourbes;
%input couleur;
%input geometriesyr16;
%input TEX;

verbatimtex
%&latex
\documentclass{article}
\usepackage[upright]{fourier}
\usepackage{preambule}
\begin{document}
etex



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%fleche avec légende au mileu
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% ex label.ulft(btex $1$ etex, fleche(aa,cc) aa.c{dir50} .. cc.c) ;
%


vardef fleche(suffix a,b) expr p =
 save r; path r;
r:=p cutbefore bpath.a cutafter bpath.b;
  drawarrow r;
  point .5*length r of r
enddef;

%%%%%%%%%%%%%%%%fleche sur elle-même
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%ex: label.bot(btex $5$ etex, self.bb(0cm,-1cm)) ;
%%


vardef self@# expr p =
  fleche(@#,@#) @#.c{curl0}..@#.c+p..{curl0}@#.c enddef;





input rboxes;
 



 beginfig(2);

   circleit.bb(btex $V_3$ etex );
   circleit.aa(btex $V_2$ etex );
   circleit.cc(btex $V_1$ etex );
   circleit.mm(btex $  $ etex );

   
   bb.c-mm.c=mm.c-aa.c=(3cm,0);
   cc.c-mm.c=(0,5.196cm);

   

   drawboxcol(aa)(0.9white);
   drawboxcol(bb)(0.9white);
   drawboxcol(cc)(0.9white);

   label.llft(btex 0,2 etex, self.aa(-0.5cm,-0.5cm) );
   label.top(btex 0,8 etex, self.cc(0,0.7cm) );
   label.lrt(btex 0,2 etex, self.bb(0.5cm,-0.5cm) );
   label.lft(btex 0,3 etex, fleche(aa,cc) aa.c{dir 75}..cc.c);
   label.rt(btex 0,1 etex, fleche(cc,aa) cc.c{dir 255}..aa.c);
   label.rt(btex 0,1 etex, fleche(cc,bb) cc.c{dir 315}..bb.c);
   label.lft(btex 0,2 etex, fleche(bb,cc) bb.c{dir 135}..cc.c);
   label.top(btex 0,6 etex,fleche(bb,aa) bb.c{dir 165}..aa.c );
   label.bot(btex 0,5 etex,fleche(aa,bb) aa.c{dir 345}..bb.c );
 endfig;


end
\end{filecontents*}






\documentclass[10pt,a4paper,svgnames]{report}
\usepackage{etex}
%\usepackage[width=260mm,height=178mm]{geometry}
\usepackage[height=260mm,width=178mm]{geometry}
\usepackage[fourier]{preambule}




\entete{TD  \includegraphics[height=0.4cm]{maple}  Maple  n°7}{Autour  du
  calcul matriciel}{PCSI 2 - Lycée Clemenceau}%g,d,b





\lstset{numbers=none,language=Maple,xleftmargin=10pt,%
keywordstyle=\color{black}\usefont{OT1}{cmtt}{b}{n},basicstyle=\ttfamily\color{black},commentstyle=\normalfont\small\itshape,breaklines=true,frame=trBL,framerule=1pt,framesep=4pt,rulesep=1pt,backgroundcolor=\color{white},showstringspaces=false,stringstyle=\slshape,captionpos=b}





% \documentclass[a4paper]{report}

% \usepackage[height=250mm,width=180mm,a4paper,twoside]{geometry}
% \usepackage{algorithmic}
% \usepackage{preambule,filecontents}


% \entete{ Colle MAPLE n°9 }{Autour du calcul matriciel}{Lycée Clemenceau - PCSI 2 }

% \renewcommand{\sf}{\textsf}


\graphicspath{{/home/moi/Lycee/TDmaple/2006_7/}{/home/moi/Figures/Arbres_Graphes/}{/home/moi/Figures/FigSTI/}{/home/moi/Figures/FigMaple/}{/home/moi/Photos/Maths/}{/home/moi/Figures/FigSTI/}{/home/moi/Figures/FigSeconde/}{/home/moi/Lycee/Informatique/XCAS/2008_9/}{/home/moi/Lycee/TDmaple/2008_9/}}



% \usepackage{listings}

% \lstloadlanguages{XCAS}
% \lstset{numbers=none,language=XCAS,%
% keywordstyle =\color{0.4white}\bfseries\sffamily,basicstyle=\sffamily,%\small,
%     backgroundcolor=\color{0.9white}}
   


% \renewcommand{\gros}[1]{\textcolor{0.4white}{\sffamily\textbf{#1}}}



\begin{document}

\thispagestyle{empty}
\setlength{\parindent}{0mm}


\begin{center}          \fbox{\vtabplus          \Huge         \bfseries
 \fontfamily{ugq}\selectfont   TD \includegraphics[height=0.8cm]{maple} MAPLE n°7 \hspace{1cm} Calcul matriciel
}
\end{center}

\vspace{2cm}




\section{Fabriquons nos outils}


\subsection{Création d'une matrice}

Dans cette section, nous créerons nos matrices à l'aide de la commande 
\verb+array(1..n,1..m)+ vue  lors du  TD précédent ou  directement comme
une liste de listes représentant les lignes.


Par exemple, 
$\begin{pmatrix} 1&2\\3&4\\5&6
\end{pmatrix}$ sera rentré avec~:

\begin{lstlisting}[caption={}]
> M:=[[1,2],[3,4],[5,6]];
\end{lstlisting}

Comment faire calculer  le nombre de lignes et le  nombre de colonnes de
\verb+M+ à MAPLE~?


\subsection{Somme de matrices}

Créez  une procédure  qui prend comme  arguments deux  matrices et
renvoie leur somme. Elle commencera par~:

\begin{lstlisting}[caption={}]
> somm:=proc(A,B)
  local C,i,j,k;
  C:=[[0$nops(A[1])]$nops(A)];
             ?...?
  RETURN(C);
  end:
\end{lstlisting}


\subsection{Produit de matrices}


Soit  $A=(a_{ij})_{{1 \leqslant  i  \leqslant n}  \atop  {1 \leqslant  i
    \leqslant m}}$ et $B=(b_{ij})_{{1 \leqslant  i  \leqslant m}  \atop  {1 \leqslant  i
    \leqslant p}}$.


Alors $A\times B=C$ avec $C=(c_{ij})_{{1 \leqslant  i  \leqslant n}  \atop  {1 \leqslant  i
    \leqslant p}}$ et \[\forall (i,j)\in\bbn^*_n\times \bbn^*_p,\quad c_{ij}=\sum_{k=1}^ma_{ik}\cdot b_{kj}\]


Créez alors  une procédure  qui prend comme  arguments deux  matrices et
renvoie leur produit. Elle commencera par~:

\begin{lstlisting}[caption={}]
> prodm:=proc(A,B)
  local C,i,j,k;
  C:=[[0$nops(B[1])]$nops(A)];
             ?...?
  RETURN(C);
  end:
\end{lstlisting}


Vous n'utiliserez que des boucles (pas de fonctions de calcul formel~!).


\subsection{Matrice identité }


Créer  une procédure  \verb+Id:=proc(n)+  qui crée  la matrice  identité
d'ordre $n$.

\subsection{Puissances d'une matrice}


Tout est dans le titre...

\begin{lstlisting}[caption={}]
> puim:=proc(A,n)
          ?...?
 end:
\end{lstlisting}



\subsection{Trace d'une matrice}


Tout est dans le titre...

\begin{lstlisting}[caption={}]
> Tracem:=proc(A)
          ?...?
 end:
\end{lstlisting}



\subsection{Transposée d'une matrice, matrices orthogonales}


Tout est dans le titre...

\begin{lstlisting}[caption={}]
> Transm:=proc(A)
          ?...?
 end:
\end{lstlisting}

On  appelle matrice  orthogonale une  matrice carrée  dont  les vecteurs
colonne sont de norme 1 et orthogonaux deux à deux. 

Construisez une procédure testant si une matrice est orthogonale.

Calculez le produit d'une telle matrice par sa transposée.





\section{Avec les outils MAPLE}

Pour utiliser toute la puissance de calcul de MAPLE, on définit en fait une matrice par 

\begin{center}
  \verb+Matrix(nb lignes, nb colonnes, [a11,a12,a13,...,a1n,a21,a22,a23,...a2n,...,ap1,ap2,ap3,...,apn])+
\end{center}



Par exemple
\begin{lstlisting}
>  A:=Matrix(2,2,[1,2,3,4]);
\end{lstlisting}

 On peut additionner, multiplier,
élever à une puissance, appliquer une fonction à une matrice selon la syntaxe habituelle, sauf pour le produit où
il faudra taper $\cdot$ (le point).
Il existe une centaine de fonctions dans la bibliothèque \verb+LinearAlgebra+ plus celles déjà présentes sur Maple : nous ne les explorerons pas toutes !
Nous allons les découvrir à travers des petits exercices.

\section{Quelques exercices}

\subsection{Noyau, image}

Qu'est-ce que l'endomorphisme de $\bbr^2$ d'expression analytique canonique

$$\bsyc x'&=&-\fr{1}{5}x-\fr{2}{5}y\\y'&=&\fr{3}{5}x+\fr{6}{5}y \esyc$$

                                           
                                                      
Vous aurez besoin de déterminer la matrice A associée, le noyau de A grâce à \Coms{NullSpace}{A} qui en renvoie une base,
l'image avec \Coms{ColumnSpace}{A}. Ensuite, à vous d'essayer des petits calculs sur A pour deviner sa nature.




\subsection{Puissances de matrices}

\been

\item
 Soit $\ds A=\frac{1}{3}\bmat
0&-2&-2\\
2&0&-1\\
2&1&0 \emat $.



\been
\item
Calculer $A^2,A^3$ et $A^4$.
\item Montrez que $\{A,A^2,A^3,A^4\}$ est un groupe pour le produit matriciel de $\mathfrak{M}_3(\bbr)$.
%\item Que peut-on dire de ce groupe ?
\een


\item
Pour chacune des matrices $A$ suivantes, calculer $A^n$ pour tout $n\in\bbn$. \been
\item $\bmat 1&a\\ 0&1\emat$ avec $a\in\bbr$.
\item La matrice $J_p$ de $\mathfrak{M}_p(\bbr)$ dont tous les
coefficients sont égaux à 1. \een \een






% \subsection{Inverse de matrices}




% Soit $A=\bmat 1&0&a\\ 1&a&-1\\a&0&1 \emat$. Pour quelles valeurs de $a$, la matrice $A$ est-elle inversible. Calculez alors l'invesre de $A$.


\section{Mini-chaînes de Markov...}


\subsection{Aidons la mafia}

Les chaînes de Markov sont issues de la théorie des probabilités et utilisent des outils d'algèbre linéaire qui nous intéressent aujourd'hui. Elles permettent de simuler des phénomènes aléatoires qui évoluent au cours du temps. Nous allons les découvrir à travers l'étude d'un exemple simple.

Zlot, Brzxxz et Morzgniouf sont trois villes situées respectivement en Syldavie, Bordurie et Bouzoukstan. Des trafiquants de photos dédicacées du groupe ABBA prennent leur marchandise le matin dans n'importe laquelle  de ces villes pour l'apporter le soir dans n'importe quelle autre. On notera pour simplifier $V_1$, $V_2$ et $V_3$ ces villes et $p_{ij}$ la probabilité qu'une marchandise prise le matin dans la ville $V_i$ soit rendue le soir dans la ville $V_j$. La matrice $(p_{ij})_{{1\ie i \ie 3}\atop {1\ie j\ie 3}}$ est appelée \textit{matrice de transition} de la chaîne de Markov. Que s'attend-on à observer sur les colonnes d'une matrice de transition ?

Supposons que $P$ soit connue et vaille $$P=\bmat 0,8 &0,3 &0,2\\ 0,1&0,2&0,6\\ 0,1&0,5&0,2\emat$$

Les trafiquants se promenant de ville en ville, il peut être utile de visualiser leurs déplacements par le  \textit{diagramme de transition} suivant



\begin{center}
  \includegraphics{GraphesExemple.2}
\end{center}



On notera $x_i^{(k)}$ la proportion de trafiquants qui se trouvent au matin du jour $k$ dans la ville $V_i$. En probabilités, on appelle \textit{vecteur d'état} tout élément $(x_1,\cdots,x_n)$ de $\bbr^{+n}$ tel que $x_1+\cdots+x_n=1$. 

Ainsi, $x^{(k)}=\pa{ x_1^{(k)},x_2^{(k)},x_3^{(k)}}$ est un vecteur d'état.

On montre que les vecteurs d'état de la chaîne sont liés par la relation

$$x^{(k)}=P\cdot x^{(k-1)}$$

et donc

$$x^{(k)}=P^k\cdot x^{(0)}$$


Supposons que le chef de la mafia locale dispose de 1000 trafiquants qui partent tous le matin du jour 0 de la ville de Zlot. Quelle sera la proportion de trafiquants dans chacune des villes au bout d'une semaine ? d'un mois ? d'un an ?

\bigskip

Le parrain voudrait que la  proportion moyenne de trafiquants soit stable
d'un  jour  sur l'autre.  Il  recherche  donc  les vecteurs  d'état  $x$
vérifiant  l'équation  $P\cdot  x=x$.  Vous  apprendrez  après  l'été  à
résoudre de manière systématique ce  genre de problème. Nous allons pour
l'heure  nous  débrouiller  sans  appui  théorique mais  avec  Maple  et
\verb+NullSpace+ Comment procéder ? La matrice identité s'écrit \verb+Matrix(3,3,shape=identity)+.

\subsection{Météo}

\`A Morzgniouf, les jours sont soit secs, soit pluvieux. On désigne par $E_1$ l'état sec et $E_2$ l'état pluvieux et par $p_{ij}$ la probabilité qu'un jour soit dans l'état $E_i$ sachant que le jour précédent était dans l'état $E_j$. Les scientifiques Bouzouks ayant observé les phénomènes météorologiques des trent-deux dernières années à Morzgniouf ont établi la matrice de transition suivante

$$P=\bmat 0,750&0,338\\0,250&0,662\emat$$

Sachant qu'il fait beau aujourd'hui, quelle est la probabilité qu'il pleuve dans dix jours ?






\end{document}

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: t
%%% End: 
