%\RequirePackage{atbegshi}
\documentclass[french]{beamer}
\usepackage{etex}

\usepackage[beamer,utf8,arabe]{preambuleTrm}
%\usepackage[french,vlined,boxed]{algorithm2e}
\usepackage{bookmark,multido}
%\usepackage{xlop}


\usepackage{tikz}
\usetikzlibrary{automata,fit,trees,matrix,arrows,decorations.pathmorphing,shapes,arrows,chains,positioning,intersections,backgrounds,calc,through,mindmap}
\newcommand{\myunit}{1.1cm}
\usepackage{tkz-graph}
\usepackage{circuitikz}


\usepackage{caption}
\captionsetup{labelformat=empty,font=footnotesize}


\usepackage{media9}

%\usepackage{multimedia}
% \usepackage{cclicenses}
% \usepackage{cclicence}
\setbeamertemplate{theorems}[numbered]




\usepackage{algo}

\renewcommand{\algocommentfont}{\small\ttfamily\itshape}

\newcommand\nor{\downarrow}
\newcommand\nand{\uparrow}
\newcommand\xor{\oplus}

\newcommand\foncpart{\rightarrow\!\!\!\!\!\!\shortmid}
\newcommand\fonctot{\rightarrow}
\newcommand\injpart{\rightarrowtail\!\!\!\!\!\!\!\shortmid}
\newcommand\injtot{\rightarrowtail}
\newcommand\surjpart{\twoheadrightarrow\!\!\!\!\!\!\!\shortmid}
\newcommand\surjtot{\twoheadrightarrow}
\newcommand\bijpart{\rightarrowtail\!\!\!\!\!\!\!\shortmid\!\!\!\!\twoheadrightarrow}
\newcommand\bijtot{\rightarrowtail\!\!\!\!\!\!\!\!\!\twoheadrightarrow}


\newtheorem{exercice}{Exercice}


\setlength{\columnseprule}{0pt}

%\setlength{\parskip}{0pt}


\graphicspath{{/home/moi/IUT/INFO2/Images/FaceDB/}{/home/moi/IUT/Figures/}{/home/moi/IUT/INFO1/PolyInfo1/}{/home/moi/VISA_III/figures_visa/}{/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/Photos/Tehessin/}{/home/moi/Figures/FigSTI/}{/home/moi/Figures/FigSeconde/}{/home/moi/Lycee/Informatique/XCAS/2008_9/}{/home/moi/Lycee/TDmaple/2008_9/}{/home/moi/IUT/Thierry/Conversions/}{/home/moi/Photos/informathix/}{/home/moi/Lycee/Informatique/PafAlgo/}{/home/moi/Figures/figuresAlice/}{/home/moi/Figures/FigSeconde/}{/home/moi/Biocam/robot/}{/home/moi/Biocam/CoursIni3d/}{/home/moi/Biocam/central/figures/}{/home/moi/Biocam/central/}{/home/moi/IUT/INFO2/Images/}{/home/moi/IUT/INFO2/2011_12/graphes/}{/home/moi/IUT/INFO1/CM1/}{/home/moi/Figures/figuresTS/}{/home/moi/Photos/Tehessin/}{/home/moi/Figures/FigSTI/}{/home/moi/Alice/figures3/}{/home/moi/Alice/figures3/newcourbes/}{/home/moi/Alice/figures/}{/home/moi/Figures/figuresAlice/}{/home/moi/Photos/Maths/}{/home/moi/Lycee/TS/}{/home/moi/Lycee/TS/2009_10/}{/home/moi/Figures/FigMaple/}{/home/moi/Figures/figuresTS/newcourbes/}{/home/moi/Figures/FigEspace/}{/home/moi/PROG/HASKELL/FLOAT/}}


\setcounter{tocdepth}{1} %\setcounter{page}{0}


\renewcommand\FancyVerbFormatLine[1]{\color{green}{#1}}


\mode<presentation>
{
  \usetheme[secheader]{Madrid}
  % or ...Warsaw

  \setbeamercovered{highly dynamic}
  % or whatever (possibly just delete it)
}
\usepackage{beamercolorthemeelephantbird}

\newcommand{\triangleup}{\Delta}

\begin{document}


\title[] % (optional, use only with long paper titles)
{Matrices et programmation}

\subtitle{INFO2 - Semaine 9}

\author[] % (optional, use only with lots of authors)
{Guillaume CONNAN }
% - Give the names in the same order as the appear in the paper.
% - Use the inst{?} command only if the authors have different
%   affiliation.

\institute{\textsc{IUT} de Nantes - Dpt d'informatique }% (optional, but mostly needed)

\logo{\includegraphics[scale=0.15]{logo_iut}}

%\logo{\includegraphics[scale=0.15]{big_connan}}

\date[] % (optional, should be abbreviation of conference name)
{Dernière mise à jour: \today{} à \now}
% - Either use conference name or its abbreviation.
% - Not really informative to the audience, more for people (including
%   yourself) who are reading the slides online

\subject{ }


\beamerdefaultoverlayspecification{<+->}

% \AtBeginSubsubsection[]
% {
%   \begin{frame}<beamer>
%     \frametitle{Sommaire}
%  {\scriptsize
% \begin{multicols}{2}
%     \tableofcontents[currentsection,currentsubsection]
%        \end{multicols}
% }

%   \end{frame}
% }




% \AtBeginSubsection[]
% {\scriptsize
%   \begin{frame}<beamer>
%     \frametitle{Sommaire}
%  {\tiny
% \begin{multicols}{2}
%     \tableofcontents[currentsection,currentsubsection]
%        \end{multicols}
% }

%   \end{frame}
% }





\AtBeginSection[]
{
  \begin{frame}<beamer>
    \frametitle{Sommaire}
 {\scriptsize
\begin{multicols}{2}
    \tableofcontents[currentsection]
       \end{multicols}
}

  \end{frame}
}


% If you wish to uncover everything in a step-wise fashion, uncomment
% the following command: 

\beamerdefaultoverlayspecification{<+->}




\newcommand{\TR}{\mathcal{T}}


\begin{frame}
  \titlepage
\end{frame}

\begin{frame}
 \frametitle{Sommaire}
{\scriptsize
\begin{multicols}{2} 
 \tableofcontents
\end{multicols}
}

 
 \end{frame}


\haskell











\section{Structure d'espace vectoriel}

%
\begin{frame}
\begin{figure}
   \includegraphics[height=0.8\textheight]{grassmann}
\caption{Hermann \textsc{Gra\ss mann} (1809-1877)}
 \end{figure}
\end{frame}


%
\begin{frame}
  \begin{figure}
  \includegraphics[width=3.2cm]{banach}
\caption{Stefan \textsc{Banach} (1892-1945)}
\end{figure}
\end{frame}





%\begin{figure}
\begin{center}
  \includegraphics[height=\textheight]{marty_endroit}
\end{center}
%\end{figure}






%\begin{figure}
\begin{center}
  \includegraphics[height=\textheight]{marty_bruit}
\end{center}
%\end{figure}




%\begin{figure}
\begin{center}
  \includegraphics[height=\textheight]{marty_moyenne_9}
\end{center}
%\end{figure}







%\begin{figure}
\begin{center}
  \includegraphics[height=\textheight]{marty_mediane_9}
\end{center}
%\end{figure}











%
\begin{frame}
  \begin{center}
  \includegraphics[height=0.8\textheight]{marystein21}
\end{center}

\pause

$3\times      \text{Marylin}      +
 \text{Albert}$

\end{frame}

%
\begin{frame}
  \begin{center}
  \includegraphics[height=0.8\textheight]{marystein11}
\end{center}

\pause

$   \text{Marylin}    +
      \text{Albert}$

\end{frame}




%
\begin{frame}
  \begin{center}
  \includegraphics[height=0.8\textheight]{marystein13}
\end{center}


\pause

$ \text{Marylin} + 3\times\text{Albert}$
\end{frame}










\subsection{Complexes}




\begin{frame}[fragile]

Un complexe? La donnée de deux scalaires...

\pause

  \begin{haskellcode}
module ALcomplexes where

    type Scalaire = Int
    type Re = Scalaire
    type Im = Scalaire
        
    data Complexe = Re ::: Im 
  \end{haskellcode}

\pause

\begin{haskellcode}
> let z = 3:::2
> z
3 + 2i
\end{haskellcode}
  
\end{frame}

\begin{frame}[fragile]
  \begin{haskellcode}
instance Show Complexe where
      show (r:::i) = (show r) ++ " + " ++ (show i) ++ "i"
  \end{haskellcode}
  
\end{frame}

\begin{frame}[fragile]
Somme ?

\pause

\begin{haskellcode}
(@+) :: Complexe -> Complexe  -> Complexe
(@+)    (r:::i)     (r':::i') =  (r + r'):::(i + i')
\end{haskellcode}

\pause

\begin{haskellcode}
> z
3 + 2i
> z @+ z
6 + 4i
\end{haskellcode}

\end{frame}

\begin{frame}[fragile]

$3*z$? Types?
  

\pause
\begin{haskellcode}
(@.) :: Scalaire -> Complexe  -> Complexe
(@.)    k           (r:::i)   =  (k*r):::(k*i)
\end{haskellcode}
\pause

\begin{haskellcode}
> z
3 + 2i
> 3 @. z
9 + 6i
> z @+ ((-2) @. z)
-3 + -2i
\end{haskellcode}


\end{frame}







%
\begin{frame}[fragile]
  \begin{definition}[$\bbk$-espace vectoriel]
Un $\bbk$-espace vectoriel $V$ sur un corps commutatif $\langle \bbk,\oplus,\odot\rangle$ est un groupe
abélien  $\langle V,\dagger\rangle$  muni  d'une  loi de  composition
\textit{externe}  $\cdot$  de  $\bbk\otimes V$  dans  $V$  vérifiant
les  quatre  axiomes  suivant,  $\lambda$ et  $\mu$  désignant  des  scalaires
quelconques, $\mathbf{u}$ et $\mathbf{v}$  des vecteurs quelconques et
$1_\odot$ l'élément neutre de la loi $\odot$ sur $\bbk$:

\begin{tabular}{ll}
  $(\lambda\oplus \mu)\cdot \mathbf{u}=\lambda\cdot\mathbf{u}\dagger \mu\cdot\mathbf{u}$ &(distributivité
    vectorielle);\\
  $\lambda\cdot(\mathbf{u}\dagger\mathbf{v})=\lambda\cdot\mathbf{u}\dagger \lambda\cdot\mathbf{v}$ &(distributivité
    scalaire);\\
 $(\lambda\odot \mu)\cdot\mathbf{u}=\lambda\cdot(\mu\cdot\mathbf{u})$ &(associativité);\\
 $1_\odot\cdot\mathbf{u}=\mathbf{u}$ &(axiome d'identité)\\
\end{tabular}

On dit que le corps $\bbk$ \textit{opère} sur le groupe  $\langle V,\dagger\rangle$.
 
\end{definition}



\pause


\pythonc

\begin{lstlisting}
imshow(3 * marilyn + einstein, cmap = cm.gray)
\end{lstlisting}

\end{frame}

\haskell
% \subsection{Un exemple de F$_{\text 2}$-espace vectoriel}


% %
% \begin{frame}

% $$\langle b_1,b_2,b_3\rangle  \dagger \langle  b'_1,b'_2,b'_3\rangle =
% \langle b_1\oplus b'_1,b_2\oplus b'_2,b_3\oplus b'_3\rangle$$

% \pause
% $$
%  (\cdot)\ \colon \begin{array}{rll} \bbf_2\otimes T& \to & T\\
%    \big\langle  \lambda,\langle   b_1,b_2,b_3\rangle\big\rangle&  \mapsto  &
%    \langle \lambda\odot b_1,\lambda\odot b_2,\lambda\odot b_3\rangle
%  \end{array}
%  $$



% \end{frame}




% %
% \begin{frame}[fragile]
%   \begin{haskellcode}
% data BoolInt = O | I deriving(Show,Read,Eq)

% type BitChaine = [BoolInt]

% bPlus :: BoolInt -> BoolInt -> BoolInt
% bPlus    b1         b2 
%   |b1 == b2                 = O
%   |otherwise                = I
               
% bFois :: BoolInt -> BoolInt -> BoolInt
% bFois    I          I       =  I
% bFois    _          _       =  O
         
% cPlus :: BitChaine -> BitChaine -> BitChaine
% cPlus    c1           c2        =  zipWith bPlus c1 c2

% prodExt :: BoolInt -> BitChaine -> BitChaine
% prodExt    b          c         =  map (\x -> bFois b x) c
% \end{haskellcode}


% \end{frame}

% \begin{frame}[fragile]



% \begin{haskellcode}
% > bPlus O I
% I
% > cPlus [O,O,I] [I,O,I]
% [I,O,O]
% > prodExt I [O,O,I]
% [O,O,I]
% > prodExt O [O,O,I]
% [O,O,O]
% \end{haskellcode}



% \end{frame}










% %
% \begin{frame}[fragile]


% \begin{haskellcode}
% lesBits = [O,I]

% lesTrios = [[x,y,z] | x <- lesBits, y <- lesBits, z <- lesBits]

% and [prodExt (bPlus b1 b2) t == cPlus (prodExt b1 t) (prodExt b2 t) 
%     | b1 <- lesBits, b2 <- lesBits, t <- lesTrios ]
% \end{haskellcode}



  
% \end{frame}


\subsection{Matrices}


\begin{frame}[fragile]
Matrice?

\pause

\begin{haskellcode}
  type Indice = Int
  type Taille = (Indice,Indice)
\end{haskellcode}

\pause

\begin{haskellcode}
data  Matrice coeffs =
        Mat (Taille, (Indice,Indice) -> coeffs)
\end{haskellcode}

\pause

\begin{haskellcode}
Mat((5,3), \ (i,j) -> 3*i + j)
\end{haskellcode}

\pause

??

\end{frame}


\begin{frame}[fragile]
  \begin{haskellcode}
> let ma = Mat((5,3), \ (i,j) -> 3*i + j)
> ma 
 0   1   2
 3   4   5
 6   7   8
 9  10  11
12  13  14
  \end{haskellcode}
  
\end{frame}




\begin{frame}[fragile]
  \frametitle{Somme}
Comment additionner deux matrices?

\pause

\begin{haskellcode}
(@+) :: (Num t)=> Matrice t   -> Matrice t           -> Matrice t
(@+)              (Mat (t,f))    (Mat (t',f'))
          | t == t'   = Mat(t, \ (i,j) -> f(i,j) + f'(i,j))
          | otherwise = error "Somme : tailles incompatibles"
\end{haskellcode}


\end{frame}



\begin{frame}[fragile]
  \frametitle{Somme}
\begin{haskellcode}
> ma 
 0   1   2
 3   4   5
 6   7   8
 9  10  11
12  13  14

> ma @+ ma 
 0   2   4
 6   8  10
12  14  16
18  20  22
24  26  28
\end{haskellcode}

\end{frame}





\begin{frame}[fragile]
  \frametitle{Produit par un scalaire}
Multiplier une matrice par un scalaire?

\pause

\begin{haskellcode}
instance Functor Matrice where
              fmap g (Mat(taille,f)) = Mat(taille, g.f)
\end{haskellcode}


\pause

\begin{haskellcode}
(@.) :: (Num t) => t -> Matrice t -> Matrice t
(@.)               k               = fmap (* k)
\end{haskellcode}
\end{frame}




\begin{frame}[fragile]
  \frametitle{Produit par un scalaire}
\begin{haskellcode}
> ma 
 0   1   2
 3   4   5
 6   7   8
 9  10  11
12  13  14

> (-4) @. ma 
  0   -4   -8
-12  -16  -20
-24  -28  -32
-36  -40  -44
-48  -52  -56
\end{haskellcode}
\end{frame}



\begin{frame}[fragile]
\begin{haskellcode}
instance (Num t) => Num (Matrice t) where
     ???
\end{haskellcode}



\end{frame}


\begin{frame}[fragile]
\begin{haskellcode}
> let ma = Mat((5,3), \ (i,j) -> 3*i + j)
> let mb = fromListe (3,2) [1..6] :: Matrice Int   
\end{haskellcode}

\pause

\begin{multicols}{2}
\begin{haskellcode}
> ma
 0   1   2
 3   4   5
 6   7   8
 9  10  11
12  13  14  
\end{haskellcode}

\pause

\begin{haskellcode}
> mb
1  2
3  4
5  6

  
\end{haskellcode}



\end{multicols}

\end{frame}


\begin{frame}[fragile]

\begin{haskellcode}
> ma + ma 
 0   2   4
 6   8  10
12  14  16
18  20  22
24  26  28  
\end{haskellcode}


\pause

\begin{haskellcode}
> ma * mb
 13   16
 40   52
 67   88
 94  124
121  160  
\end{haskellcode}



  
\end{frame}

\subsection{Ensemble des combinaisons linéaires d'une famille de vecteurs}




%
\begin{frame}
  \begin{definition}[Combinaison linéaire de vecteurs]
Soit $\langle\bbk,\oplus,\odot\rangle$ un corps  opérant sur le groupe
$\langle V,\dagger\rangle$ pour former  un espace vectoriel de produit
externe $\bullet$.

Soit   $\langle   \mathbf{u_0},\mathbf{u_1},\cdots,\mathbf{u_p}\rangle$   une
famille de vecteurs de $V$.


Un  vecteur $\mathbf{v}$  de $V$  est une  combinaison linéaire  de la
famille des $\langle \mathbf{u_i}\rangle_{0 \leqslant i \leqslant p}$ si, et
seulement si, il existe une famille 
$\langle \lambda_0,\lambda_1,\cdots,\lambda_p\rangle$ de  scalaires
de $\bbk$ vérifiant:

$$
\mathbf{v}            =            \displaystyle\daggersum_{i=0}^{i=p}\lambda_i\bullet
\mathbf{u_i}=\lambda_0\bullet\mathbf{u_0}\dagger
\lambda_1\bullet\mathbf{u_1}\dagger\cdots\dagger \lambda_p\bullet\mathbf{u_p}
$$


L'ensemble de ces combinaisons linéaires est noté:

$$\sev{\mathbf{u_0},\mathbf{u_1},\cdots,\mathbf{u_p}}$$
  
\end{definition}


\end{frame}




% %
% \begin{frame}[fragile]

% \begin{haskellcode}
% u = [O,I,I]
% v = [I,O,I]
% vect = [cPlus (prodExt b1 u) (prodExt b2 v) | b1 <- lesBits, b2 <- lesBits]
% \end{haskellcode}

% \pause


% \begin{haskellcode}
% > vect
% [[O,O,O],[I,O,I],[O,I,I],[I,I,O]]
% \end{haskellcode}

  
% \end{frame}



\multido{\n=0+1}{21}{
\begin{frame}
\begin{center}
  \includegraphics[height=\textheight]{ow\n}
\end{center}
\end{frame}
}

\pythonc

\begin{frame}[fragile]

\begin{lstlisting}
o = imread('ouzbek.png')

w = imread('welsh.png')

def fondu(n):
    for k in range(n+1):
        t = k / float(n)
        imshow(t*o + (1-t)*w)
        savefig("ow" + str(k) + ".jpg")
\end{lstlisting}

\lat

\pause

\begin{lstlisting}
\multido{\n=0+1}{21}{
\begin{frame}
\begin{center}
  \includegraphics[height=\textheight]{ow\n}
\end{center}
\end{frame}}
\end{lstlisting}

\end{frame}

\haskell

%


\subsection{Sous-espace vectoriel}







%
\begin{frame}
  \begin{definition}[Sev]
Soit $\langle\bbk,\oplus,\odot\rangle$ un corps  opérant sur le groupe
$\langle V,\dagger\rangle$ pour former  un espace vectoriel de produit
externe $\bullet$.

Soit $W$ un sous-ensemble de $V$.

Si,  muni  des mêmes  opérations  que  $V$,  $W$  a une  structure  de
$\bbk$-espace   vectoriel,    alors   on   dit   que    $W$   est   un
\textbf{sous-espace vectoriel} de $V$.
  
\end{definition}

\end{frame}





%
\begin{frame}
  \begin{theorem}[Caractérisation (1) des sous-espaces vectoriels]\label{sev1}
Soit $\langle\bbk,\oplus,\odot\rangle$ un corps  opérant sur le groupe
$\langle V,\dagger\rangle$ pour former  un espace vectoriel de produit
externe $\bullet$.

Soit $W$ un sous-ensemble de $V$.

$W$ est un sous-espace vectoriel (sev) de $V$ si, et seulement si:

\begin{itemize}
\item $W\neq \emptyset$
\item      $(\forall      \mathbf{u})(\forall      \mathbf{v})(\langle
  \mathbf{u},\mathbf{v}\rangle   \in    W^2   \limp   \mathbf{u}\dagger
    \mathbf{v}\in W)$
\item $(\forall \lambda)(\forall      \mathbf{u})(\langle
  \lambda,\mathbf{u}\rangle \in \bbk\otimes W \limp \lambda\bullet \mathbf{u} \in W)$
\end{itemize}
  
\end{theorem}

\end{frame}






%
\begin{frame}
  \begin{theorem}[Caractérisation (2) des sous-espaces vectoriels]\label{sev2}
Soit $\langle\bbk,\oplus,\odot\rangle$ un corps  opérant sur le groupe
$\langle V,\dagger\rangle$ pour former  un espace vectoriel de produit
externe $\bullet$.

Soit $W$ un sous-ensemble de $V$.

$W$ est un sous-espace vectoriel (sev) de $V$ si, et seulement si:

\begin{itemize}
\item $\mathbf{0}\in W$

\item $(\forall \lambda)(\forall      \mathbf{u})(\forall      \mathbf{v})(\langle
  \lambda,\mathbf{u},\mathbf{v}\rangle   \in  \bbk\otimes   W\otimes  W\limp
  \mathbf{u}\dagger \lambda\bullet \mathbf{v} \in W)$
\end{itemize}
  
\end{theorem}
\end{frame}


\section{Opérations sur les lignes des matrices}




\subsection{Matrice carrée inversible}



\begin{frame}
$$M\times N = N \times M = \bbi_n$$

\pause

$$N=M^{-1}$$



\begin{exercice}
  Si   A  et  B  sont  régulières   et  de  taille  $n$,
  alors comment calculer  $(A\times B)^{-1}$ à partir des  inverses de A
  et B?
\end{exercice}


\end{frame}





\subsection{Opérations sur les lignes}




\begin{frame}[fragile] \frametitle{Matrices élémentaires}
   $E_n^{ij}$ la  matrice carrée de  $\bba^{n\times n}$
dont tous  les coefficients  sont nuls sauf  le coefficient  $(i,j)$ qui
vaut $1_{\bba}$.

\medskip

\pause

$E_3^{12}=\left(
\begin{smallmatrix}
  0&1&0\\
  0&0&0\\
  0&0&0\\
\end{smallmatrix}\right)
$ dans $\bbz^{3\times 3}$.


\medskip



\pause



\begin{pythoncode}
In [6]: Mat([3,3],lambda i,j: 1 if (i,j) == (0,1) else 0)
Out[6]: 
 0  1  0
 0  0  0
 0  0  0  
\end{pythoncode}



\end{frame}



\begin{frame}

  \begin{center}
     \includegraphics[height=0.3\textheight]{kronecker}
  \end{center}

\pause

  \begin{center}
     \og \textit{Die ganzen Zahlen
hat der liebe Gott gemacht, alles andere ist Menschenwerk}\fg{}
  \end{center}

\pause


 $$\delta\colon\begin{array}{rll} \bbn\times\bbn  &\to & \bigl\{0;1\bigr\}
\\ (i,j) & \mapsto & 1 \text{ si } i=j, \ 0 \text{ sinon}\end{array}$$




\pause


$$\bbi_n=(\delta_{ij})_{\substack{1  \leqslant i  \leqslant n\\ 1  \leqslant j
\leqslant n}}$$


\end{frame}




\begin{frame}
  \begin{exercice}
     Étudiez le  produit $E_n^{ij}\times E_n^{\ell k}$ et  exprimez-le à l'aide
  du symbole de \textsc{Kronecker}.


\pause

Simplifiez ensuite  le produit $(\bbi_n+\lambda E_n^{ij})\times(\bbi_n-\lambda E_n^{ij})$:
qu'en concluez-vous?
  \end{exercice}
\end{frame}








\begin{frame} \frametitle{Transvections de lignes}
  
$$T^{ij}_\lambda \colon\begin{array}{rll}\bba^{n\times p} &\to &\bba^{n\times p}
\\ M & \mapsto & (\bbi_n+\lambda E_n^{ij})\times M \end{array}$$


\pause


\begin{exercice}
  
Calculez par exemple l'image par $T_\lambda ^{23}$ de $\left(
\begin{smallmatrix}
  a_1&b_1&c_1&d_1\\
  a_2&b_2&c_2&d_2\\
  a_3&b_3&c_3&d_3\\
\end{smallmatrix}\right)$
\end{exercice}

\pause


$$L_i  \leftarrow
L_i\boxplus (\lambda \boxdot L_j)$$



\pause



$$(\bbi_n+\lambda E_n^{ij})^{-1} = \bbi_n-\lambda E_n^{ij}$$

\end{frame}



\begin{frame}[fragile]\frametitle{Dilatations de lignes}
$$L_i\leftarrow \lambda \boxdot  L_i$$

\pause

$$\Delta_n^{i,\lambda }= \bbi_n+(\lambda \boxplus (-1_{\bba}))E_n^{ii}$$

\pause

$$\Delta_3^{2,\lambda}\times \left(
\begin{smallmatrix}
  a_1&b_1&c_1&d_1\\
  a_2&b_2&c_2&d_2\\
  a_3&b_3&c_3&d_3\\
\end{smallmatrix}\right)$$



\end{frame}







\begin{frame}[fragile] \frametitle{Échange de lignes}

$$S^{ij}_n=\Delta_n^{j,-1_{\bba}}\times
(\bbi_n+E_n^{ij})\times (\bbi_n-E_n^{ji})\times (\bbi_n+E_n^{ij})$$


\pause


\begin{exercice}
   Que vaut  le produit de $S_3^{23}$ par $\left(
\begin{smallmatrix}
  a_1&b_1&c_1&d_1\\
  a_2&b_2&c_2&d_2\\
  a_3&b_3&c_3&d_3\\
\end{smallmatrix}\right)$?
\end{exercice}


\pause

$$L_i\leftrightarrow L_j$$


\pause

\end{frame}


\begin{frame}[fragile]
\begin{pythoncode}
In [7]: M = list2mat([[11,12,13],[21,22,23],[31,32,33]])

In [8]: M
Out[8]: 
 11  12  13
 21  22  23
 31  32  33

In [9]: M.swap(2,0)
Out[9]: 
 31  32  33
 21  22  23
 11  12  13  
\end{pythoncode}


\end{frame}





\subsubsection{Opérations sur les lignes}




\begin{frame}
Une fonction $\varphi$  de $\bba^{n\times p}$
dans  lui-même est  une \textbf{opération  sur les  lignes} si  c'est la
composée finie de transvections et de dilatations de lignes.

\bigskip

$$\varphi : M\mapsto ( F_k \times F_{k-1}\cdots \times F_1)\times M$$


\pause

$$\varphi^{-1}  :  N\mapsto (  F_1^{-1}  \times F_{2}^{-1}\cdots  \times
F_k^{-1})\times N$$


\pause


Inverse de la matrice $\varphi \left( \bbi_{n}\right) $:\pause  $\varphi ^{-1}\left( \bbi_{n}\right)$.



\end{frame}






\begin{frame}

\begin{theorem}
$\varphi $ étant une opération élémentaire sur les lignes,%

$$
M\text{ inversible}\lequiv \varphi (M)\text{ inversible}
$$

\end{theorem}


\pause



\begin{theorem}
Si $\varphi _{1},\varphi _{2},....,\varphi _{k}$ est une suite d'opé%
rations sur les lignes de $M$ qui transforme $M$ en $\bbi_n$ alors $M$ est
inversible et 
$$
M^{-1}=\varphi _{k}(\bbi_n)\times \varphi _{k-1}(\bbi_n)\times ....\times
\varphi _{1}(\bbi_n)=\varphi _{k}\circ \varphi _{k-1}\circ ...\circ \varphi
_{1}(\bbi_n)
$$
\end{theorem}



\end{frame}








\section{Rang d'une matrice}

\subsection{Matrices ligne-équivalentes}

\begin{frame}
  $$M\overset{\ell}{\equiv }N\lequiv N=\varphi _{k}\circ \varphi _{k-1}\circ ...\circ \varphi_{1}(M)$$

\pause

$$
\begin{tabular}{|c|c|c|c|}
\hline
opérations\textbf{\ }$\varphi $ & Partie gauche & Partie droite & 
Remarques \\ \hline
& $M$ & $\bbi_n $ & initialisation du tableau \\ \hline
$\varphi _{1}$ & $M_{1}$ & $R_{1}$ & $M_{1}=\varphi _{1}(M),$ $R_{1}=\varphi
_{1}(\bbi_n )$ \\ \hline
$\varphi _{2}$ & $M_{2}$ & $R_{2}$ & $M_{2}=\varphi _{2}(M_{1}),$ $%
R_{2}=\varphi _{2}(R_{1})$ \\ \hline
$\vdots $ & $\vdots $ & $\vdots $ & $\vdots $ \\ \hline
$\varphi _{i}$ & $M_{i}$ & $R_{i}$ & $M_{i}=R_{i}\times M$ \\ \hline
$\vdots $ & $\vdots $ & $\vdots $ & $\vdots $ \\ \hline
$\varphi _{k}$ & $N$ & $R$ & $N=R\times M$ \\ \hline
\end{tabular}%
$$



\end{frame}


\subsection{L réduite échelonnée}


\begin{frame}\frametitle{L réduite échelonnée}
  
\begin{enumerate}
\item Toutes les lignes nulles (une ligne est nulle si elle ne comporte que
des zéros) sont au-dessous des lignes non nulles.

\item Dans chaque ligne non nulle le premier élément non nul est $ 1_{\bba}$
(on lit une ligne de la gauche vers la droite), ce $ 1_{\bba}$ est appelé\textbf{ pivot} ou 
élément pivot. La colonne où se trouve ce $ 1_{\bba}$ est appelée
colonne pivot et c'est le seul élément non nul de cette colonne.

\item Si, \textbf{de plus}, les pivots apparaissent en ordre croissant par
numéro de ligne \textbf{et} numéro de colonne, on dit que $M$ est 
\textbf{$\bm \ell$-réduite échelonnée }(en abrégé lré ou LR%
é).
\end{enumerate}
\end{frame}





\begin{frame}
  

\begin{eqnarray*}
&&\left( 
\begin{array}{cccc}
0 & 
\begin{tabular}{|l|}
\hline
1 \\ \hline
\end{tabular}
& 2 & 0 \\ 
\begin{tabular}{|l|}
\hline
1 \\ \hline
\end{tabular}
& 0 & 3 & -1 \\ 
0 & 0 & 0 & 0%
\end{array}%
\right) \text{ est $ \ell$-réduite non échelonnée} \\
&&\left( 
\begin{array}{ccc}
0 & 
\begin{tabular}{|l|}
\hline
1 \\ \hline
\end{tabular}
& 0 \\ 
0 & 2 & 0 \\ 
0 & 0 & 
\begin{tabular}{|l|}
\hline
1 \\ \hline
\end{tabular}%
\end{array}%
\right) \text{ n'est pas $ \ell$-réduite} \\
&&\left( 
\begin{array}{ccc}
\begin{tabular}{|l|}
\hline
1 \\ \hline
\end{tabular}
& -2 & 0 \\ 
0 & 0 & 
\begin{tabular}{|l|}
\hline
1 \\ \hline
\end{tabular}
\\ 
0 & 0 & 0 \\ 
0 & 0 & 0%
\end{array}%
\right) \text{ est $ \ell$-réduite échelonnée}
\end{eqnarray*}
\end{frame}




\begin{frame}
  \frametitle{Exemple}
  \begin{center}
    $$
A=\left( 
\begin{array}{rrrr}
2 & 5 & -2 & 3 \\ 
3 & 6 & 3 & 6 \\ 
1 & 2 & -1 & 2%
\end{array}%
\right)
$$
  \end{center}
\end{frame}


\begin{frame}
  \frametitle{Exemple}
  \begin{center}
    $$
A_{1}=\left( 
\begin{array}{rrrr}
\mbox{3} & 6 & 3 & 6 \\ 
2 & 5 & -2 & 3 \\ 
1 & 2 & -1 & 2%
\end{array}%
\right)
$$
  \end{center}
\end{frame}



\begin{frame}
  \frametitle{Exemple}
  \begin{center}
    $$
A_{2}=\left( 
\begin{array}{rrrr}
\fbox{1}
& 2 & 1 & 2 \\ 
2 & 5 & -2 & 3 \\ 
1 & 2 & -1 & 2%
\end{array}%
\right)
$$
  \end{center}
\end{frame}




\begin{frame}
  \frametitle{Exemple}
  \begin{center}
    $$
A_{3}=\left( 
\begin{array}{rrrr}
\fbox{1}
& 2 & 1 & 2 \\ 
0 & 1 & -4 & -1 \\ 
0 & 0 & -2 & 0%
\end{array}%
\right)
$$
  \end{center}
\end{frame}





\begin{frame}
  \frametitle{Exemple}
  \begin{center}
    $$
A_{4}=\left( 
\begin{array}{rrrr}
\fbox{1}
& 0 & 9 & 4 \\ 
0 & 
\fbox{1}
& -4 & -1 \\ 
0 & 0 & -2 & 0%
\end{array}%
\right)
$$
  \end{center}
\end{frame}





\begin{frame}
  \frametitle{Exemple}
  \begin{center}
    $$
A_{5}=\left( 
\begin{array}{rrrr}
\fbox{1}
& 0 & 9 & 4 \\ 
0 & 
\fbox{1}
& -4 & -1 \\ 
0 & 0 & 1 & 0%
\end{array}%
\right)
$$
  \end{center}
\end{frame}




\begin{frame}
  \frametitle{Exemple}
  \begin{center}
    $$
A_{6}=\left( 
\begin{array}{rrrr}
\fbox{1}
& 0 & 0 & 4 \\ 
0 & 
\fbox{1}
& 0 & -1 \\ 
0 & 0 & 
\fbox{1}
& 0%
\end{array}%
\right)
$$
  \end{center}
\end{frame}


\section{Changement de base}


\begin{frame}

\begin{definition}[matrice de passage]
    Soit $\BR$ et  $\BR\,'$ deux bases de $\bbr^3$.  On appelle matrice de
    passage  de  $\BR$  à  $\BR\,'$   et  on  note  
    $\PR_{\BR,\BR\,'}$  la  matrice de  \mn  dont  les  colonnes sont  les
    vecteurs de $\BR\,'$ exprimés dans $\BR$~:

\pause

$$ \begin{blockarray}{cccc}
     \ve{e_1'}&  \ve{e_2'}  & \ve{e_3'}  \\
        \begin{block}{(ccc)c}
        \times & \times & \times   & \ve{e_{1}}  \\
        \times & \times & \times   & \ve{e_{2}} \\
        \times & \times & \times   & \ve{e_{3}} \\
        \end{block}
        \end{blockarray}
        $$

   \end{definition}

\end{frame}


\begin{frame}


Soit $\ve{v}$  un vecteur  dont les coordonnées  dans une  certaine base
$\BR=(\ve{e_1},\ve{e_2})$ sont $(x,y,z)$.  

\pause

On peut donc associer une matrice  colonne V à ce
vecteur~:
$V={\rm mat}_{\BR}=\coordpp{x}{y}{z}$


\pause

Notons maintenant $V'={\rm mat}_{\BR'} \ve{v}$ alors:

\begin{theorem}[changement de coordonnées d'un vecteur]
    $$V=P_{\BR,\BR\,'}\times V'$$
   \end{theorem}


\pause

Preuve...

\end{frame}


\begin{frame}
  $$
V'=P_{\BR,\BR\,'}^{-1}\times V
$$
\end{frame}



\section{Matrice d'un morphisme}


\begin{frame}
  Bases

\pause

$x$ un vecteur dans $E$ de base $\BR$

\pause

$\varphi$ un morphisme de $E$ dans $F$ avec $F$ de base $\BR'$.

\pause

$\varphi(x)=$

\pause

Matrice?
\end{frame}



\begin{frame}

$$ \begin{blockarray}{cccc}
     \varphi(e_1)&  \varphi(e_2)  & \varphi(e_3)  \\
        \begin{block}{(ccc)c}
        \times & \times & \times   & e_{1}'  \\
        \times & \times & \times   & e_{2}' \\
        \times & \times & \times   & e_{3}' \\
        \end{block}
        \end{blockarray}
        $$


\end{frame}


\begin{frame}
  Changement de base?
\end{frame}


\begin{frame}[fragile]

{\LARGE
$$
\begin{CD}
\BR\ E @>{f}>{{\ds A}}> F\ \BR\\
@V{{\PR_{\BR,\BR\,'}}
}VV @VV{{\PR_{\BR,\BR\,'}}}V\\
 {\BR\,'}\ E @>{f}>{\ds\textcolor{yellow}{A'}}> F\ {\BR\,'}\\
\end{CD}
$$
}
\end{frame}


\begin{frame}
  Noyau

\pause

Image
\end{frame}



\section{Rotations}


\begin{frame}
  


\begin{figure}
\begin{center}
  \includegraphics[height=7cm]{rotation2}
\caption{Rotation d'un vecteur}\label{rot2}
\end{center}
\end{figure}




\end{frame}


\begin{frame}

\begin{figure}
\begin{center}
  \includegraphics[height=5cm]{rotation3}
\caption{Projection orthogonale de la rotation d'un vecteur}\label{rot3}
\end{center}
\end{figure}


\pause

\begin{center}
\begin{align*}
\ve{e'_1}&=\cos\theta \ve{e_1}+\sin\theta \ve{e_2}\\
\ve{e'_2}&=\cos\pav{\theta+\frac{\pi}{2}}\ve{e_1}+\sin\pav{\theta+\frac{\pi}{2}}\ve{e_2}=-\sin\theta\ve{e_1}+\cos\theta \ve{e_2}\\
\end{align*}
\end{center}

\end{frame}



\begin{frame}


$$ \begin{blockarray}{cccc}
     r\pav{\ve{e_1}}&  r\pav{\ve{e_2}}  &  r\pav{\ve{e_3}}  \\
        \begin{block}{(ccc)c}
        \cos\theta & -\sin\theta & 0   & \ve{e_{1}}  \\
        \sin\theta & \cos\theta  & 0   & \ve{e_{2}} \\
        0          &          0  & 1   & \ve{e_{3}} \\
        \end{block}
        \end{blockarray}
        $$

\end{frame}

\end{document}
%%% Local Variables: 
%%% TeX-master: t
%%% End: 
