\documentclass[12pt,a4paper]{article}
\usepackage{multicol}
\usepackage[french]{babel}
\newfont{\mini}{cmssi10 scaled 480}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\euro{\mbox{\textsf{C}\kern -2.33em{\raise0.24ex\vbox{\small\it =}}}}
%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\fin{\nolinebreak \raise-0.1em\hbox{$\Box$}}
\def\stackunder#1#2{\mathrel{\mathop{#2}\limits_{#1}}}
\def\dual{ ^{\rm v}}
\def\bidual{ ^{\rm vv}}
\def\primedual{ ^{\prime \rm v}}
\def\ideal{{\cal J}}
\def\LL{{\cal L}}
\def\max{{\cal M}}
\def\quot#1#2{\mbox{\raise 0.1cm\hbox{$#1$}{\big /}\raise -0.1cm\hbox{$#2$}}}
\def\danger{{\Large \bf
    $\bigtriangleup$}\kern-0.32cm\raise0.05cm\hbox{\small
    !}\kern0.32cm\lower0.05cm\hbox{}}
%%%%%%%
\newlength{\largeurtmp}
\def\rela{\settoheight{\largeurtmp}{Z}{\rm Z} \kern -0.6\largeurtmp
  \raise 0.05cm\hbox{\tiny{\it /}}\kern 0.6\largeurtmp}
\def\petitrela{\settoheight{\largeurtmp}{Z}{\rm Z} \kern -0.4\largeurtmp
  \raise 0.05cm\hbox{\tiny{\it /}}\kern 0.4\largeurtmp}
\def\petitcomplex{{
    \settoheight{\largeurtmp}{$_C$}{\rm C}\kern -\largeurtmp
    \rule{0.25pt}{1.3\largeurtmp}\kern \largeurtmp}}
\def\complex{{
    \settoheight{\largeurtmp}{Q}{\rm C}\kern -0.66\largeurtmp
    \rule{0.25pt}{0.9\largeurtmp}\kern 0.66\largeurtmp}}
\def\ratio{{
    \settoheight{\largeurtmp}{C}{\rm Q}\kern -0.75\largeurtmp
    \rule{0.25pt}{0.9\largeurtmp}\kern 0.75\largeurtmp}}
\def\petitratio{{
    \settoheight{\largeurtmp}{C}{\rm Q}\kern -0.6\largeurtmp
    \rule{0.25pt}{0.6\largeurtmp}\kern 0.6\largeurtmp}}
\newcommand{\proj}{{\rm I} \! {\rm P}}
\newcommand{\reel}{{\rm I} \! {\rm R}}
\newcommand{\Fp}{{\rm I} \! {\rm F}_p}
\newcommand{\nat}{{\rm I} \! {\rm N}}
%%%%%%%%%%%%%%%Debut de macros de fiches d'exos
%%les macros sont \exo, \qu, \quskip \squ \qusqu \qusquskip
\newcounter{exo}
\newcounter{question}
\newlength{\lng}
\newcounter{sousquestion}
\setcounter{exo}{1}
\def\exo{

  \bigskip
  \noindent{\bf Exercice
    \Roman{exo}:}\addtocounter{exo}{1}\setcounter{question}{0}\nopagebreak 

  }
\def\exotitre#1{

  \bigskip
  \noindent{\bf Exercice
    \Roman{exo}: #1}\addtocounter{exo}{1}\setcounter{question}{0}\nopagebreak 

  }
\def\qu{

  \addtocounter{question}{1}\arabic{question})
  \setcounter{sousquestion}{1} }
\def\quskip{

  \bigskip
  \qu}
\def\squ{

  \settowidth{\lng}{\arabic{question})
  }\hspace{\the\lng}\alph{sousquestion}) \addtocounter{sousquestion}{1}} 
\def\qusqu{\qu\nopagebreak \vskip -1\baselineskip \squ}
\def\qusquskip{\quskip\nopagebreak \vskip -1\baselineskip \squ}

%%reference pour exos,squ \`a placer avant la question, qu est a placer apres
\def\labelexo#1{\expandafter\edef\csname refexo#1\endcsname {\Roman{exo}}}
\def\refexo#1{\csname refexo#1\endcsname}
\def\labelqu#1{\expandafter\edef\csname refqu#1\endcsname {\arabic{question})}}
\def\refqu#1{\csname refqu#1\endcsname}
\def\labelsqu#1{\expandafter\edef\csname refsqu#1\endcsname
  {\arabic{question}\alph{sousquestion})}} 
\def\refsqu#1{\csname refsqu#1\endcsname}  

%%%%%%%%%%fin de macros fiche d'exos
%%macros taille page
\newlength{\elargir}
\setlength{\elargir}{2.5cm}
\addtolength{\leftmargin}{-\elargir}
%%\addtolength{\hoffset}{-\elargir}
\addtolength{\oddsidemargin}{-\elargir}
\addtolength{\evensidemargin}{-\elargir}
\addtolength{\elargir}{\elargir}
\addtolength{\textwidth}{\elargir}
\addtolength{\textheight}{13\baselineskip}
\topmargin=-5\baselineskip
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%        
\everymath={\displaystyle}
\begin{document}
\noindent{\bf Universit\'e de Paris 7 \hfill \framebox{\Large \bf
    \hspace{ 0.5cm} TP02: Pivot; LU\hspace{0.5cm}}\hfill   agreg 2011 (F.Han\footnote{http://www.math.jussieu.fr/$\sim$han/agreg})}\\
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\code#1{{\tt #1}}
%% 
\columnsep 0.7cm
\begin{multicols}{2}
% restart;maple_mode(0);cas_setup(0,0,0,1,0,1e-10,10,[1,50,0,25],0,0,0);//radians,pas de cmplx, pas de  Sqrt
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\exo 
Finir TP01 exercice 2 sur Jordan. On n'utilisera que des fonctions permettant de
donner le rang, ou le noyau, ou de r\'esoudre un syst\`eme lin\'eaire mais bien sur
pas de fonction de r\'eduction de Jordan, sauf \'eventuellement pour v\'erifier.
% !s!<c>
%-----------------------------------------------------------------------------------------------------------
%!s!
\exo
A l'oral on cherche souvent un exemple o\`u l'on d\'etaille les \'etapes \`a
la main pour accompagner une explication orale. Il est donc important
d'obtenir des illustrations courtes o\`u l'on est sur d'aboutir en peu
de temps, ce qui permet ensuite de continuer \`a comprendre le texte. C'est aussi
l'occasion de ne pas tout faire au tableau et d'utiliser l'ordinateur.
\qu Cr\'eer un exemple de taille au moins $4\times 4$ pertinent (avec par
  exemple deux pivots   nuls) pour expliquer le pivot
  de Gauss au Jury. Le faire \'etapes par \'etapes par produit de
  matrices. On pourra faire une fonction \code{T(i,j,s)} donnant une
  transvection en vue de faire/d'expliquer les
  transformations \'el\'ementaires.
% A := [[0,-2,1,3],[0,0,0,1],[1,1,0,0],[-3,4,1,0]];
% B:=matrix(4,4):;B[0,1]:=1:;B[1,0]:=1:;B[2,2]:=1:;B[3,3]:=1:;B;
% B*A;
%!s!<m>
% T:=proc(i0,i1,a)
% local TT;  
% TT:=identity(4):;TT[i0-1,i1-1]:=a:;TT;
% end proc;
%!s!  
% T(3,1,1/2)*B*A;
% T(4,1,3/2)*T(3,1,1/2)*B*A;
% F:=matrix(4,4):;F[0,0]:=1:;F[2,2]:=1:;F[1,3]:=1:;F[3,1]:=1:;F;
% F*T(4,1,3/2)*T(3,1,1/2)*B*A;//On compose les transpositions
\qu Utiliser \code{LU} pour ce m\^eme syst\`eme et
  expliquer le lien, mais aussi la diff\'erence.
% LU(A,L,U,P);inv(P)*L*U-A;
  \qusqu Notons $\sigma$ la transposition $(k,l)$, et $S$ la matrice
  associ\'ee \`a la transposition des $k$ et $l$ i\`emes vecteurs de
  base. Etudier $S.T(i,j,s)$ et $T(i',j',s).S$.
% !s!<c>
%il faut deplacer les transpositions: On a S.T(i,j,s)=T(i',j',s).S pour i=\sigma(i'),j=\sigma(j') 
%!s!
  \squ Comment obtenir la d\'ecompostion LU \`a partir du pivot?
%U:=T(4,3,-2)*F*T(4,1,3/2)*T(3,1,1/2)*B*A;
%L:=(F*T(3,1,-1/2)*F^(-1))*(F*T(4,1,-3/2)*F^(-1))*T(4,3,2);
%S:=B*F^(-1);
%S*L*U-A;  
\qusqu Programmez LU. Dans en premier temps on se limitera au cas o\`u il n'y a pas
de changements de pivots. Ensuite programmez LU avec changement de pivot partiel
(ie sur les lignes restantes).
\squ Illustrez les erreurs avec et sans changement de pivot pour $
\left(\begin{array}[c]{cc}
  10^{-13}&1\\
  1&1
\end{array}\right)$
\qu Dans le cas d'une matrice tridiagonale\footnote{Cf Quarteroni-Sacco-Saleri
  M\'ethodes num\'eriques p96} $A$ de d\'ecomposition $LU$, donner des
relations entre les coefficients de $L$ et de $U$, et obtenez un algorithme
adapt\'e \`a ces matrices particuli\`eres. Si votre logiciel le permet, on pourra
deviner ou illustrer les relations avec un exemple formel. Programmez \code{lutridiag}.
% !s!<c>
% Pour expliquer/deviner les relations de r\'ecurrence on fait un exemple formel
% !s!
% purge(a,b,c);
% n:=6;L:=matrix(n,n,(i0,j0)->if j0==i0-1 then a[j0] else 0 fi)+idn(n);
% U:=matrix(n,n,(i0,j0)->if i0==j0-1 then b[j0] else 0 fi)+diag(seq(c[i0],i0=0..n-1));
% normal(L*U);
\newpage
\end{multicols}
\end{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\qu 

\exotitre{Mini-expos\'e: pr\'eparation 15min}
A l'oral on cherche souvent un exemple o\`u l'on d\'etaille les \'etapes \`a
la main pour accompagner une explication orale. Il est donc important
d'obtenir des illustrations courtes o\`u l'on est sur d'aboutir en peu
de temps, ce qui permet ensuite de continuer \`a comprendre le texte.

Exemple, en utilisant la commande \code{pivot}

\exo
\qu Remarquer que votre logiciel est trop sophistiqu\'e pour les erreurs
d'arrondis ce qui pose probl\`eme pour illustrer les avantages
num\'eriques de LU. Par exemple on voudrait ne travailler qu'avec 2 chiffres:
essayer: \code{Digits:=2;a:=approx(1/3);} \code{a*3;0.33*3;}  
%%r:=rand(-10..10);
%%A:=matrix(4,4,r);

%%LU(A,L,U,P);inv(P)*L*U;A
%%#maple selon la doc de linalg, en taille <=4, il n'utilise pas LU.
%%inverse(A);inv(U)*inv(L)*P;inverse(A)*A;
%%\qu Etudions maintenant le cas o\`u l'inverse est calcul\'e par la m\'ethode
%%LU, obtient t'on forcement la m\^eme chose en calculant en flottants:
%%$(L.U)^{-1}(v)$ et $U^{-1}(L^{-1}(v))$?
%%# Non, la mutiplication des flottants est commutative mais pas associative.
%%!s!<m>
%%ml:=proc(A,B)
%%local C,i,j,k;
%%Digits:=2; approx_mode:=1;
%%for i from 1 to 4 do
%%for j from 1 to 4 do
%%C[i,j]:=sum(round(A[i,k]*B[k,j]),k=1..4)
%%od;od;C;
%%end proc;
%%
