\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 2010 (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,25,[1,50,0,25],0,0,0);//radians,pas de cmplx, pas de  Sqrt
%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
\exotitre{Alg\`ebre lin\'eaire - xcas - scilab}
\qusqu (xcas)  En utilisant l'instruction \code{seq}, 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));
\squ (scilab) utilisez des instructions cr\'eant des suites.
\qusqu (xcas) Essayer/commenter \linebreak\code{A:=matrix(4,4)+1;} Calculer l'image par
$A$ du vecteur \code{v:=[seq(1,j=1..4)];}
% A:=matrix(4,4)+1;v:=[seq(1,j=1..4)];
%A*v;// Attention il retourne une ligne,pour xcas les vecteurs sont en ligne
\squ (scilab) Cr\'eez un matrice nulle $A$ de taille $10\times 10$. Essayez
\code{A+1}. Quelle est l'image du vecteur $(1,\dots,10)$?
\qusqu Faire une fonction qui \`a $(i,j)$ associe $(i,j)$ si $i\leq j$,
$(j,i)$ sinon.
\squ (xcas) 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). Cr\'eez une
matrice $A$ antisym\'etrique \`a partir de cette fonction.
\squ (scilab) Cr\'eez une matrice $a$ au hasard \`a coefficients  entiers entre -10
et 10 de taille 10. Puis faire la question pr\'ec\'edente
%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 (xcas) Pour une matrice antisym\'etrique formelle de taille $8$. \danger
On n'affichera  pas le resultat. (en mode maple \code{:}) ou
(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);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\exotitre{Matrices nilpotentes - xcas ou scilab}
Imaginez un texte vous expliquant la d\'ecomposition de Jordan pour une
matrice nilpotente. Il s'agit ici de l'illustrer en montrant d'abord comment
cr\'eer un bon exemple, et ensuite en illustrant la m\'ethode par une
r\'esolution pas \`a pas de votre exemple. Notamment la fa\c con de choisir
les vecteurs de base, et les conditions qu'ils doivent v\'erifier. On
pourrait par exemple faire ainsi:
\qu Evidemment, pour cr\'eer un bon exemple, il faut partir de la
r\'eponse voulue!
\squ Cr\'eer (sans taper tous les coefficients) une matrice sous forme
de Jordan de taille $8\times 8$ et d'ordre $8$. (Autrement dit le module
associ\'ee est $k[X]/X^8$ o\`u $k$ est le corps de base). On pourrait m\^eme faire une
fonction $n \mapsto J_n$ o\`u $J_n$ est un bloc de Jordan cyclique de taille
$n$. On le fera \'eventuellement de plusieurs mani\`eres. Avec une fonction, avec
des instructions cr\'eant des matrices ou des suites particuli\`eres...
%% pour scilab diag(ones(1,7),1)
% !s!<c>
%-------------------Illustration de la reduction de Jordan--------------------------------------------------------------------------------
% Construction de l'exemple: on veut une reponse de ce type:
%!s!
% f:=(ii,j)->if(ii=j-1) then 1 else 0 fi;
% J:=matrix(8,8,f);//forme classique d'ordre 8.
\squ Le cas pr\'ec\'edent \'etant trop simple pour expliquer la m\'ethode,
annuler quelques coefficients dans la matrice pr\'ec\'edente pour obtenir
une matrice $J_{3,3,2}$. (dont le module\footnote{On utilise souvent $\oplus$ \`a la place de
  $\times$. Il faut alors pouvoir r\'epondre \`a la question d'oral:
  ``quelle est la d\'efinition de $\oplus$?'', ou bien, ``pourquoi y a
  t'il 2 symboles?''} associ\'e soit:
$k[X]/X^3\times k[X]/X^3\times k[X]/X^2$) On pourra le faire aussi en utilisant
des matrices par blocs et la fonction $J_n$ pr\'ec\'edente.  
% J[2,3]:=0:;J[5,6]:=0:;J;//2 blocs d'ordre 3 et un d'ordre 2.
\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!
% 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*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
\qu Expliquer maintenant pas \`a pas la mise sous forme de Jordan de
$N$. (Justifier avec soins les ind\'ependances de certains vecteurs.)
%  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!
\qu Soit $p$ un nombre premier. Quel est le cardinal du stabilisateur de
$J_{3,3,2}$ pour l'action de $GL_8(\rela/p\rela)$ par conjugaison? Combien y a
t'il de matrices nilpotentes dans cette classe? ( Si vous rencontrez des
difficult\'es pour cette question, peut \^etre devriez vous justifier la question
pr\'ec\'edente plus soigneusement)  
%!s!<c>
%Il s'agit donc de trouver les bases qui jordanisent l'endomorphisme.
%On a N^3=0.
%Il nous faut d'abord pour les 2 blocs de taille 3, une base de kerN^3/ker N^2
%que l'on remonte ensuite dans  ker N^3 (Choix de a et b dans la question
%precedente). Comme ker N^3/ker N^2 est de dimension 
%2, on a deja: card(GL2).(card ker N^2)^2. qui vaut: (p^2-1)*(p^2-p)*(p^6)^2.
%reste le choix d'un vecteur non nul de ker N^2/(ker N +Im N) que l'on remonte.
%ker N+im N est de dim 3+2. On a donc p-1 choix dans le quotient, soit (p-1)*p^5
%choix pour le dernier vecteur a choisir (c dans la question precedente).
%!s!
%cardstab:=(p^2-1)*(p^2-p)*p^12*(p-1)*p^5;
%!s!<c>
%Autre methode: On commence par choisir les  vecteurs de base qui sont dans le
%noyau. On prend une base de Im N^2 qui est de dim 2, soit (p^2-1)*(p^2-p) puis
%un vecteur du noyau hors de Im N^2. soit (p^3-p^2) choix. On cherche alors des
%antecedants a ces vecteurs. (p^3 choix pour l'antecedant d'un vecteur) 
%!s!
%cardstab2:=(p^2-1)*(p^2-p)*(p^3-p^2)*(p^3)^3*(p^3)^2;
%normal(cardstab-cardstab2);
%cardGL8:=product((p^8-p^ii),ii=0..7);
%cardorbite:=normal(cardGL8/cardstab);
%
%!s!<c>
%-------------------------------------------Exercice---syntaxe et combinatoire
%des matrice nilpotentes--------------------------------
%!s!
\exotitre{Syntaxe d'alg\`ebre lin\'eaire via la combinatoire des matrices
  nilpotentes (xcas)}
\qu  Affecter \`a $n$ la valeur $5$, et cr\'eer une matrice formelle $A=
\left(\begin{array}{ccc}
  a_0&\dots & a_{n-1}\\
  a_{n}&\dots& a_{2n-1}\\
  \vdots& & \vdots\\
  a_{n^2-n}& \dots & a_{n^2-1}
\end{array}\right)$. On pourra le faire de 2 fa\c cons diff\'erentes. En cr\'eant la
matrice \`a partir d'une fonction, ou bien en convertissant une liste
$[a_0,\dots,a_{n^2-1}]$ en une  matrice.
% n:=5;purge(a);
% A:=matrix(n,n,(ii,j)->a[n*(ii)+j]);
% l:=[seq(a[ii],ii=0..n^2-1)];
% !s!<c>
% Pour convertir la liste l en une matrice a n colonne:
%!s!
% A:=list2mat(l,n);
%J:=matrix(n,n):;J[0,1]:=1:;J[2,3]:=1:;J;
\qusqu Cr\'eer une matrice $J$ nilpotente de taille $5$ avec 2 blocs de jordan de
taille 2, et calculez le commutateur: $AJ-JA$
\def\mat{{\cal M}}
\squ En d\'eduire la matrice $C$ de l'application lin\'eaire de $\mat_n \to \mat_n$,
$M \mapsto MJ-JM$ dans la base de votre choix. Quelle est la dimension du
commutateur de $J$?
% L:=mat2list(A*J-J*A);
% C:=matrix(n^2,n^2,(ii,j)->diff(L[ii],a[j]));
% n^2-rank(C); //est la dim du commutateur de J.
\squ Dessinez au brouillon la partition, et comparez\footnote{un \'el\'ement du
  commutateur est d\'etermin\'e par le choix de l'image des vecteurs primitifs de
  chaque bloc.} avec la somme des  carr\'es
des hauteurs des colonnes.
\qusqu Trouver une fa\c con d'obtenir le noyau d'une matrice \`a coefficients dans
$\rela/2\rela$. Vous devez toujours avoir un esprit critique sur ce que vous
demandez \`a l'ordinateur, illustrez donc avec un exemple de taille $1\times 1$
que votre instruction fait ce que vous voulez. 
%% Nullspace(matrix([[2]])) mod 2; //est correct
%% nullspace(matrix([[2]])) mod 2; //cherche d'abord le noyau sur Q puis le reduit mod2
%% maple_mode(0); // en mode xcas il suffit d'utiliser %, on reste dans Z/2Z
%% e2:=1 % 2; maple_mode(1);
%% nullspace(matrix([[2*e2]]));
% !s!<c>
% En mode xcas c'est transparent, on travaille avec une matrice a coefficients
% modulaire avec l'instruction usuelle. C'est ici que le mode maple est tres
% desavantageux par rapport au mode xcas.
%!s!
% ker([[3%2,5%2],[1%2,1%2]]); 
\squ En d\'eduire une base du commutateur de $J$ dans $\mat_5(\rela/2\rela)$.
% com:=ker(C%2); // C%2 donne la classe de C dans Mn(Z/2Z)
% COM:=[seq(list2mat(ii,n),ii=com)];
\squ Trouver un moyen rapide d'obtenir via votre logiciel  un \'el\'ement de
coordonn\'ees donn\'ees (par exemple $(1,\dots,1)$ dans cette base. (par ex avec un
produit de listes). 
% v:=[1$13];
% v*COM;
\qusqu Etudier \code{[1,2,3]*[a,b,c,d,e]}. Faites trouver l'\'ecriture en base 2
de $67$ et de $0$. Comment cr\'eer une liste vide? Comment enlever les crochets de
\code{[1,2,3]}. Comment ajouter un \'el\'ement \`a
une liste? 
% [1,2,3]*[a,b,c,d,e];
% convert(67,base,2);
%convert(0,base,2);// Attention, il ne retoure pas 0 mais le vide.
% augment(convert(67,base,2),[0$10]); // pour ajouter des 0
% convert(67,base,2)+[0$13]; // la somme est ajustee au vecteur le plus long
\squ $k$ \'etant un nombre donn\'e, comment pouvez vous obtenir facilement la liste
de tous les vecteurs de $(\rela/2\rela)^k$.
\squ Cr\'eez une liste \code{LCOM} de tous les \'el\'ements non nuls du commutateur de
$J$. (\danger il y en a probablement pour 2 \`a 3 min, on testera d'abord que
c'est correct avec liste plus courte)
% !s!<c>
% Pour acceler la boucle suivante on releve la liste COM dans Z
% !s!
% COM:=COM%0; 
% LCOM:=[];
%!s!<m>
% for(ii:=0;ii<2^13;ii++)
% {
%   ci:=convert(ii,base,2);
%   LCOM:=[op(LCOM),(ci+[0$13])*COM];
% }:;
%!s!
\squ Comment selectionner des \'el\'ements dans une liste. Par exemple, selectionnez
les \'el\'ements de $GL_2(\rela/2\rela)$ du commutateur de $J$. Quel est le cardinal
du stabilisateur de $J$ sur $\rela/2\rela$? (V\'erifiez le \`a la main)
% STAB:=select(x->(det(x)%2 <> 0 ),LCOM):;
%dim(STAB);
%!s!<c>
%Le cardinal du stabilisateur est aussi le nombre de bases qui
%Jordanisent l'endomorphisme J. de partition:
%XX qui represente    e1e2
%XX                            e3e4
%X                               e5
%on choisit d'abord les classes de e2 et e4 dans kerJ^2/kerJ qui est
%de dim 2, ce qui fait 3*2 choix (le cardinal de GL2(F2)). puis on
%remonte ces classes dans kerJ^2. (Chaque classe a autant
%d'antecedants que kerJ:2^3. On a donc 6*8*8 choix pour e2,e4. ils
%determinent e1 et e3. On choisit e5 dans ker N-(vect(e1,e3)):8-4
%choix. Au total: 6*8*8*4=1536
%!s!
%
\newpage
\end{multicols}

\end{document}

