\documentclass[12pt,a4paper]{article}
\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} TP1 Alg{\`e}bre lin{\'e}aire\hspace{1cm}}\hfill   agreg 2007 (F.Han)}\\
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\code#1{{\tt #1}}
%% 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\code#1{{\sf #1}}
% interface(screenwidth=120); 
\begin{minipage}[t]{0.46\textwidth}
\exotitre{syntaxes maple}
\qusqu Pour decouvrir maple, ou pour acceder rapidement {\`a} des exemples de
syntaxes, {\'e}tudier le ``How to perform basic task'' dans l'aide. Cf
\code{$>$Getting started$>$Basic Howto}
\squ Cr{\'e}er une matrice $J$ de taille $2\times 2$ dont tous les co{\'e}fficients
soient des $1$. Calculer $J^2$,  et faire afficher la r{\'e}ponse!
(Essayer \code{matrix} et \code{Matrix}). puis \code{?matrix} et \code{?Matrix}
\begin{center}
  {\it D{\`e}s que l'on veut utiliser plus d'alg{\`e}bre lin{\'e}aire
    (d{\'e}terminants...), il faut charger le paquet correspondant:}
\end{center}
Donc \code{with(linalg);} ou/et sa version plus r{\'e}cente disponible
uniquement {\`a} partir de maple 6 \code{with(LinearAlgebra);}. Ex
\code{det} et \code{Determinant}
\qu Affecter {\`a} $n$ la valeur $5$. faire afficher la suite jusque $n$:
\code{1,2,3,4,5}, et aussi la suite des carr{\'e}s. Cr{\'e}er la matrice
diagonale \code{DD} correspondante. Faire trouver sa dimension.
% with(linalg);
% with(LinearAlgebra);
% n:=5:seq(i,i=1..n);seq(i^2,i=1..n);
% DD:=diag(seq(i,i=1..n));
% MDD:=DiagonalMatrix([seq(i,i=1..n)]);
% ?dim
% Dimension(DD);# ne marche pas car DD est une matrix, il faudrait faire Dimension(Matrix(DD));
% Dimension(MDD);
\qusqu Affecter {\`a} une variable, une matrice identit{\'e} de taille $n$ (avec et sans
l'instruction \code{IdentityMatrix}). Dans les deux cas, essayer de
modifier un coefficient de la matrice obtenue (Ex:
\code{A[2,1]:=3;}). Calculer le d{\'e}terminant de $J$, et son polyn{\^o}me
caract{\'e}ristique.  
\squ Retrouver le polyn{\^o}me caract{\'e}ristique de $J$ directement avec
maple.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  \qusqu Cr{\'e}er une \code{Matrix} $A$ de taille $3\times 3$ al{\'e}atoire {\`a}
  coefficients entiers entre $-10$ et $10$.
%with(linalg):with(LinearAlgebra):
% A:=Matrix(3,3,rand(20)-10);
  \squ Faire \code{x:=1;} Pour lib{\'e}rer $x$, faire
  \code{x:='x';}. V{\'e}rifier.
% x:=1;x:='x';x;  
  \squ Faire \code{A-x;} et \code{B:=evalm(A-x);} 
%A-x;B:=evalm(A-x);
  \squ Tester \verb\B^2;\ \code{whattype(B);} \code{whattype(evalm(B))}
  \squ Cr{\'e}er une \code{Matrix} $C$ {\`a} partir de $B$. \code{whattype(C);}
  Ouf!!
%C:=Matrix(B);
  \squ \danger Remarquez que \code{Matrix} raisonne en termes de
  pointeurs: essayer \code{A:=Matrix([1]);B:=A;B[1,1]:=2;A;}
% A:=Matrix([1]);B:=A;B[1,1]:=2;A;
  puis \code{A:=Matrix([1]);B:=A;B:=Matrix([2]);A;}
%A:=Matrix([1]);B:=A;B:=Matrix([2]);A;
%# Cas1: A et B sont des pointeurs identiques, donc le contenu de A
%# est modifie
%#
%#cas 2: B:=Matrix... cree un nouveau pointeur, donc le contenu de A
%#n'est pas modifi{\'e}.
%#############################################
%#              RESUME:
%#pour passer de matrix vers Matrix: evalm
%#pour passer de Matrix vers matrix: Matrix
%#############################################  
\end{minipage}\hfill
\begin{minipage}[t]{0.46\textwidth}
\exo
\qusqu Faire une fonction qui {\`a} $(i,j)$ associe $(i,j)$ si $i\leq j$,
$(j,i)$ sinon.
\squ 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).
% f:=(i,j)->if (i=j) then 0 else if (i<j) then a[i,j] else -a[j,i] fi;fi;
\squ Calculer le d{\'e}terminant d'une matrice antisym{\'e}trique\footnote{Cf
  pfaffien.}  de taille
$2,4,6,8$ (sans faire afficher les grosses valeurs) et le factoriser.
% Matrix(4,4,f); d:=Determinant(Matrix(4,4,f)):
% factor(d);
\squ Cr{\'e}er de nouveau une matrice antisym{\'e}trique formelle en utilisant
cette fois \code{Matrix} avec le param{\`e}tre \code{shape}.
% Matrix(8,8,a,shape=skewsymmetric);#aussi correct sous maple 7 
%#################################
\exo
\qu Dans chacun des cas suivant, cr{\'e}er une matrice $M$ sans coefficients
nuls, telle que:
\squ $M$ soit de taille 2 sans valeurs propres r{\'e}elles dont
tous les coefficients soient non nuls.
\squ $M$ soit de taille 2 non diagonalisable sur
$\complex$ sans coefficients nuls.
\squ $M$ soit de taille 4 de polyn{\^o}me minimal \linebreak$(X-2)(X-3)^2$. On en
donnera 2 non semblable.
\qusqu Faire une fonction qui {\`a} $(i,j)$ associe $1$ si $i=j-1$ et $0$
sinon.
%f:=(i,j)-> if (i=j-1) then 1 else 0 fi;
\squ Faire une fonction $J$ qui cr{\'e}e une matrice (la plus simple
possible) de taille $n$ nilpotente d'ordre $n$.
%J:=n->Matrix(n,n,f);
\squ Dans chacun de ces cas, afficher la suite des dimensions des
noyaux it{\'e}r{\'e}s.
\squ En utilisant \code{diag}, cr{\'e}er une matrice dont les blocs
diagonaux soient $J(2)$ et $J(3)$.
% diag(evalm(J(2)),evalm(J(3)));
\qusqu En utilisant: \code{with(combinat);} affecter {\`a} $l$ toutes  les
partitions de $4$.
% with(combinat);
% l:=partition(4);
\squ Etudier \code{seq(i,i=l[3]);} et
\code{diag(seq(evalm(J(i)),i=l[3]));} et \code{seq(j,j=l)}
\squ Afficher un repr{\'e}sentant de chaque classe de similitude de
matrice nilpotente de taille $4$ puis $5$.
\squ Cr{\'e}er une proc{\'e}dure \code{liste} qui re\c coit $n$ et retourne une
liste contenant un repr{\'e}sentant de chaque classe de similitude de
matrice nilpotente de taille $n$.
%liste:=proc(n)
%local l:
%l:=partition(n);
%[seq(diag(seq(evalm(J(i)),i=j)),j=l)];end proc;
%#
%liste(5);
\squ Pour chaque classe, faire une fonction \code{suite} de $n$ qui
affiche la liste  des rangs des it{\'e}r{\'e}s. Obtient t'on
toutes les suites d{\'e}croissantes?
% suite:=n->seq([seq(rank(j^i),i=1..n)],j=liste(n));
% #
%suite(5);
%%\squ Pour chaque classe, faire une fonction  de $n$ qui
%%affiche la liste des diff{\'e}rences entre le rang d'un it{\'e}r{\'e} et le rang
%%de son succ{\'e}sseur. Obtient t'on une suite de diviseurs successifs?

\end{minipage}
\end{document}