\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{ 1cm} TP01: Alg\`ebre Lin\'eaire \hspace{1cm}}\hfill   agreg 2011 (F.Han\footnote{http://www.math.jussieu.fr/$\sim$han/agreg})}\\
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\code#1{{\tt #1}}
%%
\begin{center}
  SVP, d\'esactivez le "v\'erouillez l'\'ecran" dans la configuration de votre
  \'economiseur d'\'ecran. Pour executer xcas, lancer dans une console ou terminal:
  {\verb!~han/xcas!} 
\end{center}
\columnsep 0.7cm
\begin{multicols}{2}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%!s!<c>
%--------------------------------EXERCICE-------------------------------------
%!s!
\exotitre{Remarques utiles: (5min)}
\qu Sur la doc: Remarquez rapidement que les menus Aide>Manuels>Algorithmes   et
avecune version r\'ecente:  Aide>Manuels>Amusements contiennent de nombreuses
explications math\'ematiques. Il y a aussi pas mal d'exemples de petites activit\'es
dans le menu Exemples.
\qu Il existe aussi un tableur (classique sauf que les cellules peuvent utiliser
des objets xcas tels que du calcul exact et formel )
\qu Il y a aussi de la g\'eom\'etrie int\'eractive. Cf TP00 exo IV et VIII.
% restart;maple_mode(0);cas_setup(0,0,0,1,0,1e-10,25,[1,50,0,25],0,0,0);//radians,pas de cmplx, pas de  Sqrt
\qu Il y a aussi un \'editeur de programme et un mode pas \`a pas:
\verb/debug(monprog)/ cf TP00 exo V
%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
\exotitre{Alg\`ebre lin\'eaire}
\qusqu Dans xcas les vecteurs se notent entre: \verb/[ ]/. Par exemple, essayez:
\verb!v1:=[seq(j,j=1..4)]!   et \verb/v2:=[a,b,c,d]/
% v1:=[seq(j,j=1..4)];
% v2:=[a,b,c,d];
Les matrices se notent \verb/M:=[[1,2,3,4],[5,6,7,8]]/ et leur lignes sont
\verb/M[0]/ \verb/M[1]/ ...

Les vecteurs s'affichent en ligne, mais ce sont bien des vecteurs et non des
matrices lignes. Remarquez la diff\'erence d'affichage entre \verb/[v]/  et
\verb/v/, et copiez\footnote{Notez que l'on peut copier une sortie pour en faire
une entr\'ee, m\^eme si l'aspect semble diff\'erent.} collez la sortie (noire) de \verb/[v]/ dans une zone
d'entr\'ee pour \'etudier les \verb/[]/.
% M:=[[1,2,3,4],[5,6,7,8]];
% M[0];
% M
% [v1]; // une matrice ligne
\squ Les lois usuelles en alg\`ebre lin\'eaire utilisent encore \verb/+/ et
\verb/*/. Calculez les images de $v_1$ et $v_2$ par $M$ (remarquez que la sortie
est bien un vecteur)
\squ Que font \verb/v1*v2/  et le peut \^etre peu recommandable \verb/v2*M/
% M*v1; //est bien un vecteur.
\qusqu   En utilisant l'instruction \code{seq} et une instruction pour cr\'eer des
matrices diagonales par blocs, cr\'eer une matrice identit\'e
de taille 4, puis une matrice diagonale de valeurs propres $1,2,3,4$
% diag(seq(1,4)); diag(1$4);
% diag(seq(j,j=1..4));
\qusqu Essayer\footnote{avec une version recente}/commenter
\linebreak\code{A:=matrix(4,4)+1;}.
\squ Remaquez que la fonction op\'erande: \verb/op/ permet d'enlever les crochets
d'une matrice ou d'un vecteur. On ajoute donc une ligne tres facilement. (testez
aussi \verb/op(a+b*c)/ et \verb/op((a+b)*c)/
% A:=matrix(4,4)+1;v:=[seq(1,j=1..4)];
% [op(A),op(v)]; //ajoute une ligne facilement.
%A*v;// Attention il retourne une ligne,pour xcas les vecteurs sont en ligne
\qu Une syntaxe tr\`es utile et \`a retenir est de cr\'eer une matrice \`a partir d'une
fonction: \verb/V:=matrix(6,6,(k,l)->x[k]^l);/
\squ Calculez le d\'eterlinant de $V$ et factorisez le.
% V:=matrix(6,6,(k,l)->x[k]^l);
% dv:=det(V);
% factor(dv);
\qusqu Faire une fonction qui \`a $(i,j)$ associe
$(i,j)$ si $i\leq j$, $(j,i)$ sinon.
\squ Dans l'\'editeur de programme, faire une fonction qui \`a $(i,j)$ associe $0$
si $i=j$, $a_{i,j}$ si $i<j$, $-a_{j,i}$ si $i>j$. (o\`u $a_{i,j}$ sont des
variables formelles(\verb/a[i,j]/)). Cr\'eez une matrice $A$ antisym\'etrique \`a
partir de cette fonction. 
%purge(a);
% f:=(ii,j)->if (ii=j) then 0 else if (ii<j) then a[ii,j] else -a[j,ii] fi;fi;
\squ Calculer le d\'eterminant de $A$ \footnote{Cf
  pfaffien.}  de taille
$2,4,6$ (sans faire afficher les grosses valeurs) et le
factoriser. Que remarquez vous?
% matrix(4,4,f); d:=det(matrix(4,4,f)):;
% factor(d);//c'est toujours un carre
\squ Pour une matrice antisym\'etrique formelle de taille $8$. 
On n'affichera  pas le resultat (en mode xcas \code{:;}) comparer le temps de
calcul du d\'eterminant avec les 2 fonctions diff\'erentes disponibles. On \'etudiera aussi les
informations disponibles sur les algorithmes utilis\'es dans la
documentation. (Menu: $Aide>Algorithmes$)
% M:=matrix(8,8,f);
% !s!<c>
%Methode type pivot, contre m\'ethode de Laplace,... mais ici la matrice
%est antisymetrique.
%!s!
% d1:=det(M):;
% d2:=det_minor(M):;
%normal(d1-d2);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%!s!<c>
%--------------------------------EXERCICE-------------------------------------
%!s!
\exotitre{Introduction aux matrices nilpotentes}
\qusqu Cr\'eez une fonction \verb/JJ(n)/ qui retourne une matrice de taille $n\times
n$ ayant pour seuls termes non nuls des $1$ sur la droite $ j-i=1$.
% fjj:=(ii,j)->if(ii=j-1) then 1 else 0 fi;
% JJ(n):=matrix(n,n,fjj);//forme classique d'ordre 8.
\squ Cr\'eez une fonction \verb/J(L)/ qui associe \`a une liste \verb/L/ 
d\'ecroissante\footnote{exemple: [2,2,1,1]}  d'\'el\'ements de $\nat^*$, une
matrice diagonale par blocs constitu\'es des $JJ(n)$ correspondants. 
%J(L):=diag([seq(JJ(l),l=L)]);//l parcourt la liste L
\qusqu On consid\`ere la matrice
\begin{center}
$N=\left(\begin{array}{cccccccc}
0 & -1 & 1 & 0 & 0 & 0 & 0 & 0 \\
0 & -2 & 1 & 0 & 0 & 0 & 0 & 0 \\
0 & -4 & 2 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 1 & 1 & -2 & 0 \\
0 & 0 & 0 & 0 & 0 & 1 & -2 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 2 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0
\end{array}\right)$ 
\end{center}
% N:=[[0,-1,1,0,0,0,0,0],[0,-2,1,0,0,0,0,0],[0,-4,2,0,0,0,0,0],[0,0,0,0,1,1,-2,0],[0,0,0,0,0,1,-2,0],[0,0,0,0,0,0,0,2],[0,0,0,0,0,0,0,1],[0,0,0,0,0,0,0,0]]
En demandant \`a xcas de calculer des rangs de certaines matrices, d\'eterminer
l'unique $L$ pour que  $J(L)$ et  $N$ puissent \^etre semblable. (On rappelle que
l'on impose \`a $L$ d'\^etre d\'ecroissante \`a valeur dans $\nat^*$)
\squ Combien y a t'il de possibilit\'es en taille $8$ pour $J$? On pourra v\'erifier
avec $\prod_{n\geq 1}\frac{1}{1-t^n} $
\qu Donnez une base de $\ker N^2$, et choisissez deux vecteurs $a,b$ de $\ker N^3$
ind\'ependants modulo $\ker N^2$. Que devez vous demander \`a xcas pour prouver que
$a,b$ conviennent.
\qu Prenez un vecteur $c$ dans $\ker N^2$ tel que $N(a),N(b),c$ soient
ind\'ependants modulo $\ker N$. Prouvez avec xcas que votre choix de $c $ est
l\'egitime.
\qu On consid\`ere la famille de vecteurs
$N^2(a),N(a),a,N^2(b),N(b),b,N(c),c$. V\'erifiez que c'est une base, et conjuguez
$N$ pour la matrice de passage associ\'ee.
%!s!<c>
% On a maintenant trouve un bel exercice: Trouver la forme de
%  jordan de N et une matrice de passage pour l'obtenir.
%  On calcule N^2 et son noyau.
%!s!
% N,N^2;
% N2:=nullspace(N^2);
%!s!<c>
% on choisit a et b  independants modulo ker N^2 (qui est aussi im
%  N). (attention a et b hors de ker N^2 est insuffisant).
%!s!
%  a:=[0,0,1,0,0,0,0,0]:;b:=[0,0,0,0,0,1,0,0]:;
% rank(matrix([op(N2),a,b]));// doit etre dim ker N^2 +2.
% N1:=nullspace(N);
%!s!<c>
% dim ker N^2 -dim ker N= 6-3=2+1 donc N.a,N.b doit etre complete par c
%  tq N.a,N.b,c indep modulo ker N. Par exemple on prend celui la:
%!s!
%  c:=[0,0,0,0,0,0,0,1]:;
% !s!<c>
%On verifie qu'il convient:
%!s!
% rank(matrix([op(N1),N*a,N*b,c]));
% !s!<c>
%dim ker N - dim ker N^0=3 c'est donc engendr\'e par
%N^2.a,N^2.b,N.c. Il n'y a plus rien a faire, et l'on prend 
% la base suivante: (Attention pour xcas N*a... sont des lignes, on
% prend donc la transposee)
%!s!
% Q:=transpose(matrix([(N^2)*a,N*a,a,(N^2)*b,N*b,b,N*c,c]));
% !s!<c>
%On sait maintenant que Q^(-1)*N*Q doit donner J. verifification:
% !s!
% Q^(-1)*N*Q;
% !s!<c>
%--------------------------------------------------------------------------------------------------------------
%!s!

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
\exo
Pour une illustrer une m\'ethode, ou inventer un exercice il faut savoir cr\'eer
un bon exemple. Par exemple, comment trouver  une nouvelle valeur de $N$ \`a coefficient
entiers,  pour que l'exercice pr\'ec\'edent soit le m\^eme et que les r\'eponses ne se
fassent pas de t\^ete.
% !s!<c>
%-------------------Illustration de la reduction de Jordan--------------------------------------------------------------------------------
% Construction de l'exemple: on veut une reponse de ce type:
%!s!
\qusqu Pour $i\neq j$, cr\'eer une fonction cr\'eant une matrice de transvection:
$T(i,j,a)=I+a.E$. (o\`u $E_{k,l}=1$ si $(i,j)=(k,l)$, $0$ sinon). 
%!s!<c>
% On veut faire un changement de base simple. Ex det=1 pour garder  des coeffs entiers.
% on cree une transvection:
% !s!
% f:=(ii,j)->if(ii=j) then 1 else 0 fi;
%!s!<m> 
% T:=proc(ii,j,a)
% local A;
% A:=matrix(8,8,f):;A[ii-1,j-1]:=a;A;
% end proc;
%!s!
\squ Expliquer au Jury, et illustrer le lien entre ces matrices et les
op\'erations sur les lignes et les colonnes d'une matrice. (A RETENIR)
% B:=matrix(8,8,b);
% !s!<c>
% faire Li<-Li+aLj c'est multiplier a gauche par T(i,j,a).
% Par exemple L3<- L3+aL2 c'est multiplier a GAUCHE par: T(3,2,a);
%!s!
% purge(a);
% T(3,2,a)*B;
% !s!<c>
%En revanche: C2<-C2+aC3 c'est multplier a DROITE par T(3,2,a)
%!s!
% B*T(3,2,a);
\squ Quel est  l'inverse de $T(i,j,a)$? Que repr\'esente la conjugaison
par $T(i,j,a)$ en terme d'op\'erations lignes/colonnes?
% !s!<c>
%Remarquer que l'inverse de T(i,j,a) est T(i,j,-a)
%!s!
% T(3,2,a)^(-1);
% !s!<c>
%Donc conjuguer par T(i,j,a) c'est faire:
%  Li <- Li+aLj et Cj <- Cj-aCi
%!s!
\squ En utilisant par exemple 4 transvections, cr\'eer une matrice de
passage $P$ et un exemple non trivial de matrice $N$ conjugu\'ee \`a
$J_{3,3,2}$.
% P:=T(6,7,2)*T(4,5,1)*T(3,2,2)*T(1,2,1):;
% P,P^(-1);
% !s!<c>
%Donc faire a l'ordinateur:
%!s!
% N:=P*J([3,3,2])*P^(-1);
%!s!<c>
%  est identique a faire a la main a partir de J:
%  L1 <- L1+L2 ; C2<-C2 - C1 puis
%  L3 <- L3+2L2 ; C2 <- C2 -2C3
%  L4 <- L4+L5 ; C5 <- C5 -C4
%  L6 <- L6 +2 L7; C7 <- C7 -2 C6


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%\exotitre{Partitions}
%%Cr\'eez une fonction de $n$ qui retourne la liste de toutes les suites
%%d\'ecroissantes d'\'el\'ements de $\nat^*$ de somme $n$.
%% !s!<p>
%% parti(n):={
%%   if(n>1){
%%
%%   }


%% }

%% !s!
\newpage
\end{multicols}

\end{document}
