% Generated by xcas
\documentclass{article} 
\usepackage{pst-plot,color} 
\usepackage{graphicx} 
\begin{document}
\noindent \framebox{1} {\em --------------------------------EXERCICE-------------------------------------\/} \\
\noindent \framebox{2} {\tt  v1:=[seq(j,j=1..4)]; } \\
\begin{equation} \label{eq:1}
[1,2,3,4]
\end{equation}
\noindent \framebox{3} {\tt  v2:=[a,b,c,d]; } \\
\begin{equation} \label{eq:2}
[a,b,c,d]
\end{equation}
\noindent \framebox{4} {\tt  t*v1+v2; } \\
\begin{equation} \label{eq:3}
[a+t,b+2\cdot t,c+3\cdot t,d+4\cdot t]
\end{equation}
\noindent \framebox{5} {\tt  M:=[[1,2,3,4],[5,6,7,8]]; } \\
\begin{equation} \label{eq:4}
\left(\begin{array}{cccc}
1 & 2 & 3 & 4 \\
5 & 6 & 7 & 8
\end{array}\right) 
\end{equation}
\noindent \framebox{6} {\tt  M[0]; } \\
\begin{equation} \label{eq:5}
[1,2,3,4]
\end{equation}
\noindent \framebox{7} {\tt  M } \\
\begin{equation} \label{eq:6}
\left(\begin{array}{cccc}
1 & 2 & 3 & 4 \\
5 & 6 & 7 & 8
\end{array}\right) 
\end{equation}
\noindent \framebox{8} {\tt  [v1]; // une matrice ligne } \\
\begin{equation} \label{eq:7}
\left(\begin{array}{cccc}
1 & 2 & 3 & 4
\end{array}\right) 
\end{equation}
\noindent \framebox{9} {\tt  M*v1; //est bien un vecteur. } \\
\begin{equation} \label{eq:8}
[30,70]
\end{equation}
\noindent \framebox{10} {\tt  M*v2; } \\
\begin{equation} \label{eq:9}
[a+2\cdot b+3\cdot c+4\cdot d,5\cdot a+6\cdot b+7\cdot c+8\cdot d]
\end{equation}
\noindent \framebox{11} {\tt v1*v2; // produit scalaire } \\
\begin{equation} \label{eq:10}
a+2\cdot b+3\cdot c+4\cdot d
\end{equation}
\noindent \framebox{12} {\tt  diag(seq(1,4)); diag(1\$4); // l'identite } \\
\begin{equation} \label{eq:11}
\left(\begin{array}{cccc}
1 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 \\
0 & 0 & 1 & 0 \\
0 & 0 & 0 & 1
\end{array}\right) ,\left(\begin{array}{cccc}
1 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 \\
0 & 0 & 1 & 0 \\
0 & 0 & 0 & 1
\end{array}\right) 
\end{equation}
\noindent \framebox{13} {\tt  diag(seq(j,j=1..4)); } \\
\begin{equation} \label{eq:12}
\left(\begin{array}{cccc}
1 & 0 & 0 & 0 \\
0 & 2 & 0 & 0 \\
0 & 0 & 3 & 0 \\
0 & 0 & 0 & 4
\end{array}\right) 
\end{equation}
\noindent \framebox{14} {\tt  A:=matrix(4,4)+1;v:=[seq(1,j=1..4)]; } \\
\begin{equation} \label{eq:13}
\left(\begin{array}{cccc}
[1,0,0,0] & [0,1,0,0] & [0,0,1,0] & [0,0,0,1] \\
1 & 1 & 1 & 1
\end{array}\right) 
\end{equation}
\noindent \framebox{15} {\tt  [op(A),op(v)]; //ajoute une ligne facilement. } \\
\begin{equation} \label{eq:14}
[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1],1,1,1,1]
\end{equation}
\noindent \framebox{16} {\tt A*v;// Attention il retourne une ligne,pour xcas les vecteurs sont en ligne } \\
\begin{equation} \label{eq:15}
[1,1,1,1]
\end{equation}
\noindent \framebox{17} {\tt  f:=(x,y)-{\tt\symbol{62}}x+10{\tt\symbol{94}}y; } \\
{\em // Succès\\
// End defining f\\
\/} \\
\begin{equation} \label{eq:16}
\parbox{12cm}{\tt  (x,y)-{\tt\symbol{62}}x+10{\tt\symbol{94}}y }
\end{equation}
\noindent \framebox{18} {\tt  matrix(6,6,f); } \\
\begin{equation} \label{eq:17}
\left(\begin{array}{cccccc}
1 & 10 & 100 & 1000 & 10000 & 100000 \\
2 & 11 & 101 & 1001 & 10001 & 100001 \\
3 & 12 & 102 & 1002 & 10002 & 100002 \\
4 & 13 & 103 & 1003 & 10003 & 100003 \\
5 & 14 & 104 & 1004 & 10004 & 100004 \\
6 & 15 & 105 & 1005 & 10005 & 100005
\end{array}\right) 
\end{equation}
\noindent \framebox{19} {\tt  matrix(6,6,(x,y)-{\tt\symbol{62}}x+10{\tt\symbol{94}}y);  } \\
{\em // Succès\\
\/} \\
\begin{equation} \label{eq:18}
\left(\begin{array}{cccccc}
1 & 10 & 100 & 1000 & 10000 & 100000 \\
2 & 11 & 101 & 1001 & 10001 & 100001 \\
3 & 12 & 102 & 1002 & 10002 & 100002 \\
4 & 13 & 103 & 1003 & 10003 & 100003 \\
5 & 14 & 104 & 1004 & 10004 & 100004 \\
6 & 15 & 105 & 1005 & 10005 & 100005
\end{array}\right) 
\end{equation}
\noindent \framebox{20} {\tt  V:=matrix(6,6,(k,l)-{\tt\symbol{62}}x[k]{\tt\symbol{94}}l); } \\
{\em // Attention: x, declared as global variable(s). If symbolic variables are required, declare them as local and run purge\\
\/} \\
\begin{equation} \label{eq:19}
\left(\begin{array}{cccccc}
1 & x[0] & \left(x[0]\right)^{2} & \left(x[0]\right)^{3} & \left(x[0]\right)^{4} & \left(x[0]\right)^{5} \\
1 & x[1] & \left(x[1]\right)^{2} & \left(x[1]\right)^{3} & \left(x[1]\right)^{4} & \left(x[1]\right)^{5} \\
1 & x[2] & \left(x[2]\right)^{2} & \left(x[2]\right)^{3} & \left(x[2]\right)^{4} & \left(x[2]\right)^{5} \\
1 & x[3] & \left(x[3]\right)^{2} & \left(x[3]\right)^{3} & \left(x[3]\right)^{4} & \left(x[3]\right)^{5} \\
1 & x[4] & \left(x[4]\right)^{2} & \left(x[4]\right)^{3} & \left(x[4]\right)^{4} & \left(x[4]\right)^{5} \\
1 & x[5] & \left(x[5]\right)^{2} & \left(x[5]\right)^{3} & \left(x[5]\right)^{4} & \left(x[5]\right)^{5}
\end{array}\right) 
\end{equation}
\noindent \framebox{21} {\tt  dv:=det(V); } \\
{\em \\
Temps mis pour l'évaluation: 1.52\\
\/} \\
{\em Done\/} \\
\noindent \framebox{22} {\tt  factor(dv); } \\
\begin{equation} \label{eq:21}
(-\left(x[4]\right)+x[5]) (x[3]-\left(x[5]\right)) (x[3]-\left(x[4]\right)) (x[2]-\left(x[5]\right)) (x[2]-\left(x[4]\right)) (x[2]-\left(x[3]\right)) (x[1]-\left(x[5]\right)) (x[1]-\left(x[4]\right)) (x[1]-\left(x[3]\right)) (x[1]-\left(x[2]\right)) (x[0]-\left(x[5]\right)) (x[0]-\left(x[4]\right)) (x[0]-\left(x[3]\right)) (x[0]-\left(x[2]\right)) (x[0]-\left(x[1]\right))
\end{equation}
\noindent \framebox{23} {\tt f2(u,v):=(\#("x"+u)){\tt\symbol{94}}v; } \\
{\em // Interprète f2\\
// Succès lors de la compilation f2\\
\/} \\
\begin{equation} \label{eq:22}
\parbox{12cm}{\tt  (u,v)-{\tt\symbol{62}}\#("x"+u){\tt\symbol{94}}v }
\end{equation}
\noindent \framebox{24} {\tt V8:=matrix(8,8,f2); } \\
\begin{equation} \label{eq:23}
\left(\begin{array}{cccccccc}
1 & \mathrm{x0} & \mathrm{x0}^{2} & \mathrm{x0}^{3} & \mathrm{x0}^{4} & \mathrm{x0}^{5} & \mathrm{x0}^{6} & \mathrm{x0}^{7} \\
1 & \mathrm{x1} & \mathrm{x1}^{2} & \mathrm{x1}^{3} & \mathrm{x1}^{4} & \mathrm{x1}^{5} & \mathrm{x1}^{6} & \mathrm{x1}^{7} \\
1 & \mathrm{x2} & \mathrm{x2}^{2} & \mathrm{x2}^{3} & \mathrm{x2}^{4} & \mathrm{x2}^{5} & \mathrm{x2}^{6} & \mathrm{x2}^{7} \\
1 & \mathrm{x3} & \mathrm{x3}^{2} & \mathrm{x3}^{3} & \mathrm{x3}^{4} & \mathrm{x3}^{5} & \mathrm{x3}^{6} & \mathrm{x3}^{7} \\
1 & \mathrm{x4} & \mathrm{x4}^{2} & \mathrm{x4}^{3} & \mathrm{x4}^{4} & \mathrm{x4}^{5} & \mathrm{x4}^{6} & \mathrm{x4}^{7} \\
1 & \mathrm{x5} & \mathrm{x5}^{2} & \mathrm{x5}^{3} & \mathrm{x5}^{4} & \mathrm{x5}^{5} & \mathrm{x5}^{6} & \mathrm{x5}^{7} \\
1 & \mathrm{x6} & \mathrm{x6}^{2} & \mathrm{x6}^{3} & \mathrm{x6}^{4} & \mathrm{x6}^{5} & \mathrm{x6}^{6} & \mathrm{x6}^{7} \\
1 & \mathrm{x7} & \mathrm{x7}^{2} & \mathrm{x7}^{3} & \mathrm{x7}^{4} & \mathrm{x7}^{5} & \mathrm{x7}^{6} & \mathrm{x7}^{7}
\end{array}\right) 
\end{equation}
\noindent \framebox{25} {\tt d8:=det\_minor(V8); // en taille 8x8 seule cette methode abouti } \\
{\em \\
Temps mis pour l'évaluation: 3.23\\
\/} \\
{\em Done\/} \\
\noindent \framebox{26} {\tt factor(d8); } \\
{\em \\
Temps mis pour l'évaluation: 1.29\\
\/} \\
\begin{equation} \label{eq:25}
(\mathrm{x6}-\mathrm{x7})\cdot (\mathrm{x5}-\mathrm{x7})\cdot (\mathrm{x5}-\mathrm{x6})\cdot (\mathrm{x4}-\mathrm{x7})\cdot (\mathrm{x4}-\mathrm{x6})\cdot (\mathrm{x4}-\mathrm{x5})\cdot (\mathrm{x3}-\mathrm{x7})\cdot (\mathrm{x3}-\mathrm{x6})\cdot (\mathrm{x3}-\mathrm{x5})\cdot (\mathrm{x3}-\mathrm{x4})\cdot (\mathrm{x2}-\mathrm{x7})\cdot (\mathrm{x2}-\mathrm{x6})\cdot (\mathrm{x2}-\mathrm{x5})\cdot (\mathrm{x2}-\mathrm{x4})\cdot (\mathrm{x2}-\mathrm{x3})\cdot (\mathrm{x1}-\mathrm{x7})\cdot (\mathrm{x1}-\mathrm{x6})\cdot (\mathrm{x1}-\mathrm{x5})\cdot (\mathrm{x1}-\mathrm{x4})\cdot (\mathrm{x1}-\mathrm{x3})\cdot (\mathrm{x1}-\mathrm{x2})\cdot (\mathrm{x0}-\mathrm{x7})\cdot (\mathrm{x0}-\mathrm{x6})\cdot (\mathrm{x0}-\mathrm{x5})\cdot (\mathrm{x0}-\mathrm{x4})\cdot (\mathrm{x0}-\mathrm{x3})\cdot (\mathrm{x0}-\mathrm{x2})\cdot (\mathrm{x0}-\mathrm{x1})
\end{equation}
\noindent \framebox{27} {\em --------------------------------EXERCICE-------------------------------------\/} \\
\noindent \framebox{28} {\tt  fjj:=(ii,j)-{\tt\symbol{62}}if(ii=j-1) then 1 else 0 fi; } \\
{\em // Succès\\
// End defining fjj\\
\/} \\
\begin{equation} \label{eq:27}
\parbox{12cm}{\tt  (ii,j)-{\tt\symbol{62}}expr("if ((ii==(j-1))) 1; ",0) }
\end{equation}
\noindent \framebox{29} {\tt  JJ(n):=matrix(n,n,fjj);//forme classique d'ordre n. } \\
{\em // Interprète JJ\\
// Attention: fjj, declared as global variable(s). If symbolic variables are required, declare them as local and run purge lors de la compilation JJ\\
\/} \\
\begin{equation} \label{eq:28}
\parbox{12cm}{\tt  (n)-{\tt\symbol{62}}matrix(n,n,fjj) }
\end{equation}
\noindent \framebox{30} {\tt  JJ(5); } \\
\begin{equation} \label{eq:29}
\left(\begin{array}{ccccc}
0 & 1 & 0 & 0 & 0 \\
0 & 0 & 1 & 0 & 0 \\
0 & 0 & 0 & 1 & 0 \\
0 & 0 & 0 & 0 & 1 \\
0 & 0 & 0 & 0 & 0
\end{array}\right) 
\end{equation}
\noindent \framebox{31} {\tt  Jbasic(L):=diag([seq(JJ(l),l=L)]);//l parcourt la liste L } \\
{\em // Interprète Jbasic\\
Warning, une fonction algébrique définie par d'autres fonctions peut conduire à des erreurs d'évaluation\\
Vous voulez dire peut être Jbasic:=unapply(diag([seq(JJ(l),l=L)]),L)\\
// Attention: l, declared as global variable(s). If symbolic variables are required, declare them as local and run purge lors de la compilation Jbasic\\
\/} \\
\begin{equation} \label{eq:30}
\parbox{12cm}{\tt  (L)-{\tt\symbol{62}}diag([seq(JJ(l),l=L)]) }
\end{equation}
\noindent \framebox{32} {\tt  Jbasic([3,2,2,1]); } \\
\begin{equation} \label{eq:31}
\left(\begin{array}{cccccccc}
0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0
\end{array}\right) 
\end{equation}
\noindent \framebox{33} {\tt  } \\
\noindent \framebox{34} {\tt  J(L):=\{\\
   local j,n;\\
   a:=L[0];\\
   n=size(L);\\
   for(j:=0;j{\tt\symbol{60}}n-1;j++)\{\\
     if(L[j]{\tt\symbol{60}}L[j+1])\{return "Erreur";\}\\
   \}\\
   return diag([seq(JJ(l),l=L)]);\\
 \} } \\

\begin{verbatim}
 J(L):={
   local j,n;
   a:=L[0];
   n=size(L);
   for(j:=0;j<n-1;j++){
     if(L[j]<L[j+1]){return "Erreur";}
   }
   return diag([seq(JJ(l),l=L)]);
 }
\end{verbatim}
{\em // Interprète J\\
// Attention: a,l, declared as global variable(s). If symbolic variables are required, declare them as local and run purge lors de la compilation J\\
\/} \\
\begin{equation} \label{eq:33}
\mathrm{expr}\left(\mathrm{ (L)-{\tt\symbol{62}} \\
\{ local j,n; \\
  a:=L[0];  \\
  n=(size(L));  \\
  for (j:=0;j{\tt\symbol{60}}(n-1);j++) if ((L[j]){\tt\symbol{60}}(L[j+1])) return("Erreur"); ; ;  \\
  return(diag([seq(JJ(l),l=L)]));  \\
\}},0\right)
\end{equation}
\noindent \framebox{35} {\tt J([3,2,1,1]); } \\
\begin{equation} \label{eq:34}
\left(\begin{array}{ccccccc}
0 & 1 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 1 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 1 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0
\end{array}\right) 
\end{equation}
\noindent \framebox{36} {\em Comme chaque bloc a un noyau de dimension 1 et qu'ils sont en somme directe,\\
 La dimension du noyau de J(L) est le nombre de blocs.\/} \\
\noindent \framebox{37} {\tt  ker(J([3,2])); } \\
\begin{equation} \label{eq:36}
\left(\begin{array}{ccccc}
-1 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & -1 & 0
\end{array}\right) 
\end{equation}
\noindent \framebox{38} {\tt  length(ker(J([3,2]))); } \\
\begin{equation} \label{eq:37}
2
\end{equation}
\noindent \framebox{39} {\tt  rank(J([3,3])); } \\
\begin{equation} \label{eq:38}
4
\end{equation}
\noindent \framebox{40} {\tt  } \\
\noindent \framebox{41} {\tt  Mv1(P,Q):=\{\\
   local M,u,v,n;\\
   n:=degree(Q,x); // on precise la variable c'est plus prudent\\
   M:=matrix(n,n); // on cree une matrice nulle\\
   for(v:=0;v{\tt\symbol{60}}n;v++)\{\\
     R:=rem(x{\tt\symbol{94}}v*P,Q,x); // reste de la division par Q\\
     for(u:=0;u{\tt\symbol{60}}n;u++)\{\\
       M[u,v]:=coeff(R,x,u);\\
       \};\\
     \};\\
     return(M);\\
   \} } \\

\begin{verbatim}
 Mv1(P,Q):={
   local M,u,v,n;
   n:=degree(Q,x); // on precise la variable c'est plus prudent
   M:=matrix(n,n); // on cree une matrice nulle
   for(v:=0;v<n;v++){
     R:=rem(x^v*P,Q,x); // reste de la division par Q
     for(u:=0;u<n;u++){
       M[u,v]:=coeff(R,x,u);
       };
     };
     return(M);
   }
\end{verbatim}
{\em // Interprète Mv1\\
// Attention: x,R, declared as global variable(s). If symbolic variables are required, declare them as local and run purge lors de la compilation Mv1\\
\/} \\
\begin{equation} \label{eq:40}
\mathrm{expr}\left(\mathrm{ (P,Q)-{\tt\symbol{62}} \\
\{ local M,u,v,n; \\
  n:=degree(Q,x);  \\
  M:=matrix(n,n);  \\
  for (v:=0;v{\tt\symbol{60}}n;v++) \{ \\
      R:=rem(x{\tt\symbol{94}}v*P,Q,x);  \\
      for (u:=0;u{\tt\symbol{60}}n;u++) M[u,v]:=coeff(R,x,u); ;  \\
    \};  \\
  return(M);  \\
\}},0\right)
\end{equation}
\noindent \framebox{42} {\tt Mv1(x+2,x{\tt\symbol{94}}4-1); } \\
\begin{equation} \label{eq:41}
\left(\begin{array}{cccc}
2 & 0 & 0 & 1 \\
1 & 2 & 0 & 0 \\
0 & 1 & 2 & 0 \\
0 & 0 & 1 & 2
\end{array}\right) 
\end{equation}
\noindent \framebox{43} {\tt  } \\
\noindent \framebox{44} {\tt  M(P,Q):=\{\\
   local n,f;\\
   n:=degree(Q,x);\\
   f:=(u,v)-{\tt\symbol{62}}\{\\
     coeff(rem(x{\tt\symbol{94}}v*P,Q,x),x,u);\\
     \}\\
   return(matrix(n,n,f));\\
 \}; } \\

\begin{verbatim}
 M(P,Q):={
   local n,f;
   n:=degree(Q,x);
   f:=(u,v)->{
     coeff(rem(x^v*P,Q,x),x,u);
     }
   return(matrix(n,n,f));
 };
\end{verbatim}
{\em // Attention: x,P,Q, declared as global variable(s). If symbolic variables are required, declare them as local and run purge\\
// End defining f\\
// Interprète M\\
// Attention: x,P,Q, declared as global variable(s). If symbolic variables are required, declare them as local and run purge lors de la compilation M\\
\/} \\
\begin{equation} \label{eq:43}
\mathrm{expr}\left(\mathrm{ (P,Q)-{\tt\symbol{62}} \\
\{ local n,f; \\
  n:=degree(Q,x);  \\
  f:= (u,v)-{\tt\symbol{62}}\{ \\
    coeff(rem(x{\tt\symbol{94}}v*P,Q,x),x,u);  \\
  \};  \\
  return(matrix(n,n,f));  \\
\}},0\right)
\end{equation}
\noindent \framebox{45} {\tt  M(x+2,x{\tt\symbol{94}}4-1); } \\
\begin{equation} \label{eq:44}
\left(\begin{array}{cccc}
2 & 0 & 0 & 1 \\
1 & 2 & 0 & 0 \\
0 & 1 & 2 & 0 \\
0 & 0 & 1 & 2
\end{array}\right) 
\end{equation}
\noindent \framebox{46} {\tt  P:=x{\tt\symbol{94}}5-2*x{\tt\symbol{94}}4+x{\tt\symbol{94}}3-2*x{\tt\symbol{94}}2-2*x+4; } \\
\begin{equation} \label{eq:45}
x^{5}-2\cdot x^{4}+x^{3}-2\cdot x^{2}-2\cdot x+4
\end{equation}
\noindent \framebox{47} {\tt  Q:=(x{\tt\symbol{94}}2-1){\tt\symbol{94}}2*(x{\tt\symbol{94}}2+2){\tt\symbol{94}}5*(x{\tt\symbol{94}}3-5*x{\tt\symbol{94}}2+8*x-4) } \\
\begin{equation} \label{eq:46}
\left(x^{2}-1\right)^{2} \left(x^{2}+2\right)^{5} (x^{3}-5\cdot x^{2}+8\cdot x-4)
\end{equation}
\noindent \framebox{48} {\tt  N:=M(P,Q); } \\
\begin{equation} \label{eq:47}
\left(\begin{array}{ccccccccccccccccc}
4 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 128 & 384 & 0 & -768 & 1920 \\
-2 & 4 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -256 & -640 & 384 & 1536 & -4608 \\
-2 & -2 & 4 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 224 & 416 & -640 & -960 & 4896 \\
1 & -2 & -2 & 4 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -160 & -256 & 416 & 320 & -3360 \\
-2 & 1 & -2 & -2 & 4 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -112 & -496 & -256 & 1088 & -1360 \\
1 & -2 & 1 & -2 & -2 & 4 & 0 & 0 & 0 & 0 & 0 & 0 & 368 & 992 & -496 & -2464 & 6608 \\
0 & 1 & -2 & 1 & -2 & -2 & 4 & 0 & 0 & 0 & 0 & 0 & -400 & -832 & 992 & 1904 & -8464 \\
0 & 0 & 1 & -2 & 1 & -2 & -2 & 4 & 0 & 0 & 0 & 0 & 368 & 704 & -832 & -1216 & 7424 \\
0 & 0 & 0 & 1 & -2 & 1 & -2 & -2 & 4 & 0 & 0 & 0 & -160 & -112 & 704 & 128 & -3616 \\
0 & 0 & 0 & 0 & 1 & -2 & 1 & -2 & -2 & 4 & 0 & 0 & -40 & -280 & -112 & 944 & -472 \\
0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & -2 & -2 & 4 & 0 & 134 & 362 & -280 & -916 & 2954 \\
0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & -2 & -2 & 4 & -178 & -400 & 362 & 788 & -3586 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & -2 & -2 & 141 & 233 & -400 & -460 & 2843 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & -2 & -87 & -114 & 233 & 110 & -1735 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & 1 & 42 & 45 & -114 & -31 & 770 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & -2 & -15 & -6 & 45 & -18 & -271 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 3 & 0 & -6 & 15 & 57
\end{array}\right) 
\end{equation}
\noindent \framebox{49} {\tt  pcar(N,x); // N est nilpotente } \\
\begin{equation} \label{eq:48}
x^{17}
\end{equation}
\noindent \framebox{50} {\tt  pmin(N,x); // N est d'ordre 5 } \\
\begin{equation} \label{eq:49}
x^{5}
\end{equation}
\noindent \framebox{51} {\tt  N1:=ker(N); } \\
\begin{equation} \label{eq:50}
\left(\begin{array}{ccccccccccccccccc}
32 & -48 & 48 & -48 & 0 & 24 & -40 & 48 & -30 & 21 & -9 & 3 & -1 & 0 & 0 & 0 & 0 \\
96 & -112 & 96 & -96 & -48 & 72 & -96 & 104 & -42 & 33 & -6 & 0 & 0 & -1 & 0 & 0 & 0 \\
0 & 96 & -112 & 96 & -96 & -48 & 72 & -96 & 104 & -42 & 33 & -6 & 0 & 0 & -1 & 0 & 0 \\
-192 & 288 & -192 & 176 & 96 & -240 & 192 & -216 & 84 & -22 & 12 & 15 & 0 & 0 & 0 & -1 & 0 \\
480 & -912 & 1008 & -912 & 176 & 456 & -840 & 912 & -666 & 399 & -157 & 57 & 0 & 0 & 0 & 0 & -1
\end{array}\right) 
\end{equation}
\noindent \framebox{52} {\tt  size(N1);// il y a donc 5 blocs } \\
\begin{equation} \label{eq:51}
5
\end{equation}
\noindent \framebox{53} {\tt  size(ker(idn(5)));// donne bien 0 alors que rowdim([]) donne une erreur.  } \\
\begin{equation} \label{eq:52}
0
\end{equation}
\noindent \framebox{54} {\em  la difference des dimensions des noyaux de N{\tt\symbol{94}}(k+1) et N{\tt\symbol{94}}k est le nombre\\
 de blocs de jordan de taille au moins k\/} \\
\noindent \framebox{55} {\tt seq(size(ker(N{\tt\symbol{94}}(k+1)))-size(ker(N{\tt\symbol{94}}k)),k=0..4);// donc N semblable a J([5,5,3,2,2]) } \\
\begin{equation} \label{eq:54}
5,5,3,2,2
\end{equation}
\noindent \framebox{56} {\tt J55322:=J([5,5,3,2,2]); } \\
\begin{equation} \label{eq:55}
\left(\begin{array}{ccccccccccccccccc}
0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\
0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0
\end{array}\right) 
\end{equation}
\noindent \framebox{57} {\tt seq(size(ker(J55322{\tt\symbol{94}}(k+1)))-size(ker(J55322{\tt\symbol{94}}k)),k=0..4);// donc N semblable a J([5,5,3,2,2]) } \\
\begin{equation} \label{eq:56}
5,5,3,2,2
\end{equation}
\noindent \framebox{58} {\tt N4:=ker(N{\tt\symbol{94}}4);// N4[0],...N4[14] forment une base de ker(N{\tt\symbol{94}}4) } \\
\begin{equation} \label{eq:57}
\left(\begin{array}{ccccccccccccccccc}
-2 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & -2 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
4 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 4 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
-8 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & -8 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
16 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 16 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
-32 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & -32 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 \\
64 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 \\
0 & 64 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 & 0 \\
-128 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 \\
0 & -128 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 & 0 \\
256 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1
\end{array}\right) 
\end{equation}
\noindent \framebox{59} {\tt a1:=[1,0\$16];// essayons deja ces deux vecteurs } \\
\begin{equation} \label{eq:58}
[1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
\end{equation}
\noindent \framebox{60} {\tt a2:=[0,1,0\$15]; } \\
\begin{equation} \label{eq:59}
[0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]
\end{equation}
\noindent \framebox{61} {\tt verifN4:=[seq(j,j=N4 ),a1,a2]; } \\
\begin{equation} \label{eq:60}
\left(\begin{array}{ccccccccccccccccc}
-2 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & -2 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
4 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 4 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
-8 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & -8 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
16 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 16 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
-32 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & -32 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 \\
64 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 \\
0 & 64 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 & 0 \\
-128 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 \\
0 & -128 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 & 0 \\
256 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 \\
1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0
\end{array}\right) 
\end{equation}
\noindent \framebox{62} {\em Pour montrer que a1,a2 est libre modulo ker(N{\tt\symbol{94}}4) on montre que a1,a2 complete\\
une base de ker(N{\tt\symbol{94}}4) en une base de QQ{\tt\symbol{94}}17\/} \\
\noindent \framebox{63} {\tt rank(verifN4)==17;// oui, donc a1,a2 est libre modulo ker(N{\tt\symbol{94}}4) } \\
\begin{equation} \label{eq:62}
vrai
\end{equation}
\noindent \framebox{64} {\tt N3:=ker(N{\tt\symbol{94}}3); } \\
\begin{equation} \label{eq:63}
\left(\begin{array}{ccccccccccccccccc}
-4 & 0 & -4 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & -4 & 0 & -4 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
16 & 0 & 12 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 16 & 0 & 12 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
-48 & 0 & -32 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & -48 & 0 & -32 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
128 & 0 & 80 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 128 & 0 & 80 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 \\
-320 & 0 & -192 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 \\
0 & -320 & 0 & -192 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 & 0 \\
768 & 0 & 448 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 \\
0 & 768 & 0 & 448 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 & 0 \\
-1792 & 0 & -1024 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1
\end{array}\right) 
\end{equation}
\noindent \framebox{65} {\tt a3:=N3[0];// essayons le premier, sinon il faut faire une combi lineaire } \\
\begin{equation} \label{eq:64}
[-4,0,-4,0,-1,0,0,0,0,0,0,0,0,0,0,0,0]
\end{equation}
\noindent \framebox{66} {\tt N2:=ker(N{\tt\symbol{94}}2); } \\
\begin{equation} \label{eq:65}
\left(\begin{array}{ccccccccccccccccc}
8 & -8 & 12 & -12 & 6 & -6 & 1 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
8 & 0 & 4 & 0 & -6 & 0 & -5 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
-40 & 48 & -60 & 64 & -30 & 24 & -5 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
-40 & 0 & -12 & 0 & 34 & 0 & 19 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 \\
152 & -192 & 228 & -240 & 114 & -80 & 19 & 0 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 \\
152 & 0 & 36 & 0 & -126 & 0 & -61 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 \\
-488 & 640 & -732 & 768 & -366 & 240 & -61 & 0 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 & 0 \\
-488 & 0 & -92 & 0 & 402 & 0 & 179 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 \\
1432 & -1920 & 2148 & -2240 & 1074 & -672 & 179 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 & 0 \\
1432 & 0 & 228 & 0 & -1166 & 0 & -493 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1
\end{array}\right) 
\end{equation}
\noindent \framebox{67} {\tt verifN3:=[seq(j,j=N2),N{\tt\symbol{94}}2*a1,N{\tt\symbol{94}}2*a2,a3]; } \\
\begin{equation} \label{eq:66}
\left(\begin{array}{ccccccccccccccccc}
8 & -8 & 12 & -12 & 6 & -6 & 1 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
8 & 0 & 4 & 0 & -6 & 0 & -5 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
-40 & 48 & -60 & 64 & -30 & 24 & -5 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
-40 & 0 & -12 & 0 & 34 & 0 & 19 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 \\
152 & -192 & 228 & -240 & 114 & -80 & 19 & 0 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 & 0 \\
152 & 0 & 36 & 0 & -126 & 0 & -61 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 & 0 & 0 \\
-488 & 640 & -732 & 768 & -366 & 240 & -61 & 0 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 & 0 \\
-488 & 0 & -92 & 0 & 402 & 0 & 179 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 & 0 & 0 \\
1432 & -1920 & 2148 & -2240 & 1074 & -672 & 179 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 & 0 \\
1432 & 0 & 228 & 0 & -1166 & 0 & -493 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & -1 \\
16 & -16 & -12 & 16 & -16 & 12 & 5 & -8 & 6 & -4 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 16 & -16 & -12 & 16 & -16 & 12 & 5 & -8 & 6 & -4 & 1 & 0 & 0 & 0 & 0 & 0 \\
-4 & 0 & -4 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0
\end{array}\right) 
\end{equation}
\noindent \framebox{68} {\tt rank(verifN3)==size(N3);//vrai } \\
\begin{equation} \label{eq:67}
vrai
\end{equation}
\noindent \framebox{69} {\tt a4:=N2[0]; } \\
\begin{equation} \label{eq:68}
[8,-8,12,-12,6,-6,1,-1,0,0,0,0,0,0,0,0,0]
\end{equation}
\noindent \framebox{70} {\tt a5:=N2[1]; } \\
\begin{equation} \label{eq:69}
[8,0,4,0,-6,0,-5,0,-1,0,0,0,0,0,0,0,0]
\end{equation}
\noindent \framebox{71} {\tt N1:=ker(N); size(N1); } \\
\begin{equation} \label{eq:70}
\left(\begin{array}{ccccccccccccccccc}
32 & -48 & 48 & -48 & 0 & 24 & -40 & 48 & -30 & 21 & -9 & 3 & -1 & 0 & 0 & 0 & 0 \\
96 & -112 & 96 & -96 & -48 & 72 & -96 & 104 & -42 & 33 & -6 & 0 & 0 & -1 & 0 & 0 & 0 \\
0 & 96 & -112 & 96 & -96 & -48 & 72 & -96 & 104 & -42 & 33 & -6 & 0 & 0 & -1 & 0 & 0 \\
-192 & 288 & -192 & 176 & 96 & -240 & 192 & -216 & 84 & -22 & 12 & 15 & 0 & 0 & 0 & -1 & 0 \\
480 & -912 & 1008 & -912 & 176 & 456 & -840 & 912 & -666 & 399 & -157 & 57 & 0 & 0 & 0 & 0 & -1
\end{array}\right) ,5
\end{equation}
\noindent \framebox{72} {\tt verifN2:=[seq(j,j=N1),N{\tt\symbol{94}}3*a1,N{\tt\symbol{94}}3*a2,N*a3,a4,a5]; } \\
\begin{equation} \label{eq:71}
\left(\begin{array}{ccccccccccccccccc}
32 & -48 & 48 & -48 & 0 & 24 & -40 & 48 & -30 & 21 & -9 & 3 & -1 & 0 & 0 & 0 & 0 \\
96 & -112 & 96 & -96 & -48 & 72 & -96 & 104 & -42 & 33 & -6 & 0 & 0 & -1 & 0 & 0 & 0 \\
0 & 96 & -112 & 96 & -96 & -48 & 72 & -96 & 104 & -42 & 33 & -6 & 0 & 0 & -1 & 0 & 0 \\
-192 & 288 & -192 & 176 & 96 & -240 & 192 & -216 & 84 & -22 & 12 & 15 & 0 & 0 & 0 & -1 & 0 \\
480 & -912 & 1008 & -912 & 176 & 456 & -840 & 912 & -666 & 399 & -157 & 57 & 0 & 0 & 0 & 0 & -1 \\
64 & -96 & -48 & 136 & -120 & 84 & 52 & -126 & 90 & -47 & -6 & 33 & -26 & 15 & -6 & 1 & 0 \\
0 & 64 & -96 & -48 & 136 & -120 & 84 & 52 & -126 & 90 & -47 & -6 & 33 & -26 & 15 & -6 & 1 \\
-16 & 8 & -8 & 4 & 12 & -6 & 10 & -5 & 2 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
8 & -8 & 12 & -12 & 6 & -6 & 1 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
8 & 0 & 4 & 0 & -6 & 0 & -5 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0
\end{array}\right) 
\end{equation}
\noindent \framebox{73} {\tt rank(verifN2)==size(N2);//si on a des a4 a5 qui ne marchent pas on peut faire ainsi: } \\
\begin{equation} \label{eq:72}
vrai
\end{equation}
\noindent \framebox{74} {\tt [a4,a5]:=ranm(2,size(N2))*N2;// on prend donc une combinaison lineaire random deslignes } \\
\begin{equation} \label{eq:73}
\left(\begin{array}{ccccccccccccccccc}
-177424 & 145344 & -174936 & 168800 & -23836 & 50296 & 11918 & -44 & -48 & -82 & -48 & -55 & 65 & 20 & -72 & 86 & 16 \\
201544 & -204776 & 239132 & -240684 & 75902 & -73150 & 1965 & -77 & 46 & 28 & 28 & -23 & 26 & 46 & 87 & -88 & -6
\end{array}\right) 
\end{equation}
\noindent \framebox{75} {\tt verifN2:=[seq(j,j=N1),N{\tt\symbol{94}}3*a1,N{\tt\symbol{94}}3*a2,N*a3,a4,a5]; } \\
\begin{equation} \label{eq:74}
\left(\begin{array}{ccccccccccccccccc}
32 & -48 & 48 & -48 & 0 & 24 & -40 & 48 & -30 & 21 & -9 & 3 & -1 & 0 & 0 & 0 & 0 \\
96 & -112 & 96 & -96 & -48 & 72 & -96 & 104 & -42 & 33 & -6 & 0 & 0 & -1 & 0 & 0 & 0 \\
0 & 96 & -112 & 96 & -96 & -48 & 72 & -96 & 104 & -42 & 33 & -6 & 0 & 0 & -1 & 0 & 0 \\
-192 & 288 & -192 & 176 & 96 & -240 & 192 & -216 & 84 & -22 & 12 & 15 & 0 & 0 & 0 & -1 & 0 \\
480 & -912 & 1008 & -912 & 176 & 456 & -840 & 912 & -666 & 399 & -157 & 57 & 0 & 0 & 0 & 0 & -1 \\
64 & -96 & -48 & 136 & -120 & 84 & 52 & -126 & 90 & -47 & -6 & 33 & -26 & 15 & -6 & 1 & 0 \\
0 & 64 & -96 & -48 & 136 & -120 & 84 & 52 & -126 & 90 & -47 & -6 & 33 & -26 & 15 & -6 & 1 \\
-16 & 8 & -8 & 4 & 12 & -6 & 10 & -5 & 2 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
-177424 & 145344 & -174936 & 168800 & -23836 & 50296 & 11918 & -44 & -48 & -82 & -48 & -55 & 65 & 20 & -72 & 86 & 16 \\
201544 & -204776 & 239132 & -240684 & 75902 & -73150 & 1965 & -77 & 46 & 28 & 28 & -23 & 26 & 46 & 87 & -88 & -6
\end{array}\right) 
\end{equation}
\noindent \framebox{76} {\tt rank(verifN2)==size(N2); } \\
\begin{equation} \label{eq:75}
vrai
\end{equation}
\noindent \framebox{77} {\tt  } \\
\noindent \framebox{78} {\tt tP:=[seq(N{\tt\symbol{94}}k*a1,k=4..0),seq(N{\tt\symbol{94}}k*a2,k=4..0),seq(N{\tt\symbol{94}}k*a3,k=2..0),seq(N{\tt\symbol{94}}k*a4,k=1..0),seq(N{\tt\symbol{94}}k*a5,k=1..0)]; } \\
\begin{equation} \label{eq:77}
\left(\begin{array}{ccccccccccccccccc}
1920 & -4224 & 3168 & -960 & -2784 & 6336 & -5712 & 3552 & -648 & -1896 & 2454 & -2124 & 1362 & -624 & 234 & -60 & 6 \\
64 & -96 & -48 & 136 & -120 & 84 & 52 & -126 & 90 & -47 & -6 & 33 & -26 & 15 & -6 & 1 & 0 \\
16 & -16 & -12 & 16 & -16 & 12 & 5 & -8 & 6 & -4 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\
4 & -2 & -2 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
768 & 384 & -2880 & 2208 & -1632 & -576 & 3936 & -3504 & 2592 & -888 & -1092 & 1386 & -1302 & 852 & -360 & 138 & -30 \\
0 & 64 & -96 & -48 & 136 & -120 & 84 & 52 & -126 & 90 & -47 & -6 & 33 & -26 & 15 & -6 & 1 \\
0 & 16 & -16 & -12 & 16 & -16 & 12 & 5 & -8 & 6 & -4 & 1 & 0 & 0 & 0 & 0 & 0 \\
0 & 4 & -2 & -2 & 1 & -2 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
-64 & 64 & -16 & 0 & 96 & -96 & 56 & -32 & -28 & 36 & -33 & 24 & -10 & 4 & -1 & 0 & 0 \\
-16 & 8 & -8 & 4 & 12 & -6 & 10 & -5 & 2 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
-4 & 0 & -4 & 0 & -1 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\
-729024 & 937504 & -570848 & 485248 & 490160 & -758496 & 573024 & -548864 & 132652 & -39158 & 31082 & -23244 & 48729 & -42833 & 21451 & -10157 & 2774 \\
-177424 & 145344 & -174936 & 168800 & -23836 & 50296 & 11918 & -44 & -48 & -82 & -48 & -55 & 65 & 20 & -72 & 86 & 16 \\
883232 & -1332400 & 987376 & -817648 & -436736 & 1076424 & -1000504 & 970496 & -406862 & 120437 & -18533 & -37401 & 2855 & 13559 & -8699 & 6533 & -2129 \\
201544 & -204776 & 239132 & -240684 & 75902 & -73150 & 1965 & -77 & 46 & 28 & 28 & -23 & 26 & 46 & 87 & -88 & -6
\end{array}\right) 
\end{equation}
\noindent \framebox{79} {\tt P:=transpose(tP);// car la matrice de passage veut les coord des vecteurs en colonne } \\
\begin{equation} \label{eq:78}
\left(\begin{array}{ccccccccccccccccc}
1920 & 64 & 16 & 4 & 1 & 768 & 0 & 0 & 0 & 0 & -64 & -16 & -4 & -729024 & -177424 & 883232 & 201544 \\
-4224 & -96 & -16 & -2 & 0 & 384 & 64 & 16 & 4 & 1 & 64 & 8 & 0 & 937504 & 145344 & -1332400 & -204776 \\
3168 & -48 & -12 & -2 & 0 & -2880 & -96 & -16 & -2 & 0 & -16 & -8 & -4 & -570848 & -174936 & 987376 & 239132 \\
-960 & 136 & 16 & 1 & 0 & 2208 & -48 & -12 & -2 & 0 & 0 & 4 & 0 & 485248 & 168800 & -817648 & -240684 \\
-2784 & -120 & -16 & -2 & 0 & -1632 & 136 & 16 & 1 & 0 & 96 & 12 & -1 & 490160 & -23836 & -436736 & 75902 \\
6336 & 84 & 12 & 1 & 0 & -576 & -120 & -16 & -2 & 0 & -96 & -6 & 0 & -758496 & 50296 & 1076424 & -73150 \\
-5712 & 52 & 5 & 0 & 0 & 3936 & 84 & 12 & 1 & 0 & 56 & 10 & 0 & 573024 & 11918 & -1000504 & 1965 \\
3552 & -126 & -8 & 0 & 0 & -3504 & 52 & 5 & 0 & 0 & -32 & -5 & 0 & -548864 & -44 & 970496 & -77 \\
-648 & 90 & 6 & 0 & 0 & 2592 & -126 & -8 & 0 & 0 & -28 & 2 & 0 & 132652 & -48 & -406862 & 46 \\
-1896 & -47 & -4 & 0 & 0 & -888 & 90 & 6 & 0 & 0 & 36 & -1 & 0 & -39158 & -82 & 120437 & 28 \\
2454 & -6 & 1 & 0 & 0 & -1092 & -47 & -4 & 0 & 0 & -33 & 0 & 0 & 31082 & -48 & -18533 & 28 \\
-2124 & 33 & 0 & 0 & 0 & 1386 & -6 & 1 & 0 & 0 & 24 & 0 & 0 & -23244 & -55 & -37401 & -23 \\
1362 & -26 & 0 & 0 & 0 & -1302 & 33 & 0 & 0 & 0 & -10 & 0 & 0 & 48729 & 65 & 2855 & 26 \\
-624 & 15 & 0 & 0 & 0 & 852 & -26 & 0 & 0 & 0 & 4 & 0 & 0 & -42833 & 20 & 13559 & 46 \\
234 & -6 & 0 & 0 & 0 & -360 & 15 & 0 & 0 & 0 & -1 & 0 & 0 & 21451 & -72 & -8699 & 87 \\
-60 & 1 & 0 & 0 & 0 & 138 & -6 & 0 & 0 & 0 & 0 & 0 & 0 & -10157 & 86 & 6533 & -88 \\
6 & 0 & 0 & 0 & 0 & -30 & 1 & 0 & 0 & 0 & 0 & 0 & 0 & 2774 & 16 & -2129 & -6
\end{array}\right) 
\end{equation}
\noindent \framebox{80} {\tt rank(P); } \\
\begin{equation} \label{eq:79}
17
\end{equation}
\noindent \framebox{81} {\tt P{\tt\symbol{94}}(-1)*N*P==J([5,5,3,2,2]);// Elles sont bien semblables } \\
\begin{equation} \label{eq:80}
vrai
\end{equation}
\noindent \framebox{82} {\tt  } \\
\noindent \framebox{83} {\em SL\_n(Z) est engendre par les transvections. Cf operations ligne/colonne \/} \\
\noindent \framebox{84} {\tt  T(a,b,l,n):=\{\\
     local M ;\\
     M:=idn(n);\\
     if(a !=b)\{ M[a,b]:=l\};\\
     M;\}; } \\
{\em // Interprète T\\
// Succès lors de la compilation T\\
\/} \\
\begin{equation} \label{eq:83}
\mathrm{expr}\left(\mathrm{ (a,b,l,n)-{\tt\symbol{62}} \\
\{ local M; \\
  M:=idn(n);  \\
  if (a{\tt\symbol{60}}{\tt\symbol{62}}b) M[a,b]:=l; ;  \\
  M;  \\
\}},0\right)
\end{equation}
\noindent \framebox{85} {\tt  T(2,3,l,5); } \\
\begin{equation} \label{eq:84}
\left(\begin{array}{ccccc}
1 & 0 & 0 & 0 & 0 \\
0 & 1 & 0 & 0 & 0 \\
0 & 0 & 1 & l & 0 \\
0 & 0 & 0 & 1 & 0 \\
0 & 0 & 0 & 0 & 1
\end{array}\right) 
\end{equation}
\noindent \framebox{86} {\tt  purge(a);// ou bien: } \\
\begin{equation} \label{eq:85}
5
\end{equation}
\noindent \framebox{87} {\tt  a:='a';//NB: 'a' est la forme inerte, "a" est la chaine de caracteres. } \\
\begin{equation} \label{eq:86}
\mathrm{No such variable a}
\end{equation}
\noindent \framebox{88} {\tt  A:=matrix(5,5,(u,v)-{\tt\symbol{62}}a[u,v]); } \\
{\em // Attention: a, declared as global variable(s). If symbolic variables are required, declare them as local and run purge\\
\/} \\
\begin{equation} \label{eq:87}
\left(\begin{array}{ccccc}
a[0,0] & a[0,1] & a[0,2] & a[0,3] & a[0,4] \\
a[1,0] & a[1,1] & a[1,2] & a[1,3] & a[1,4] \\
a[2,0] & a[2,1] & a[2,2] & a[2,3] & a[2,4] \\
a[3,0] & a[3,1] & a[3,2] & a[3,3] & a[3,4] \\
a[4,0] & a[4,1] & a[4,2] & a[4,3] & a[4,4]
\end{array}\right) 
\end{equation}
\noindent \framebox{89} {\tt  } \\
\noindent \framebox{90} {\tt randSL(n):=\{\\
 local j,m,M,a,b,l;\\
 m:=alea(15*n);//pour ne pas avoir trop de zeros selon n.\\
 M:=idn(n);\\
 for(j:=0;j{\tt\symbol{60}}m;j++)\{\\
    a:=alea(n);b:=alea(n);l:=alea(2*n)-n;\\
     M:=M*T(a,b,l,n);\\
 \}\\
M;\} } \\

\begin{verbatim}
randSL(n):={
 local j,m,M,a,b,l;
 m:=alea(15*n);//pour ne pas avoir trop de zeros selon n.
 M:=idn(n);
 for(j:=0;j<m;j++){
    a:=alea(n);b:=alea(n);l:=alea(2*n)-n;
     M:=M*T(a,b,l,n);
 }
M;}
\end{verbatim}
{\em // Interprète randSL\\
// Succès lors de la compilation randSL\\
\/} \\
\begin{equation} \label{eq:89}
\mathrm{expr}\left(\mathrm{ (n)-{\tt\symbol{62}} \\
\{ local j,m,M,a,b,l; \\
  m:=alea(15*n);  \\
  M:=idn(n);  \\
  for (j:=0;j{\tt\symbol{60}}m;j++) \{ \\
      a:=alea(n);  \\
      b:=alea(n);  \\
      l:=alea(2*n)-n;  \\
      M:=M*T(a,b,l,n);  \\
    \};  \\
  M;  \\
\}},0\right)
\end{equation}
\noindent \framebox{91} {\tt M:=randSL(10);det(M); } \\
\begin{equation} \label{eq:90}
\left(\begin{array}{cccccccccc}
313 & -688 & -85 & -116602 & -3872 & 0 & 1877 & -4817 & 4098 & 29295 \\
39350 & -88591 & -10948 & -14948512 & -497284 & 96 & 234536 & -620137 & 525233 & 3755654 \\
326634 & -731489 & -90395 & -123516560 & -4107427 & 762 & 1947134 & -5120423 & 4338900 & 31032172 \\
-37 & -5449 & -681 & -860404 & -30932 & -3 & -281 & -38151 & 32921 & 216277 \\
105 & -48 & -6 & -14519 & -413 & -3 & 651 & -336 & 501 & 3647 \\
16562 & -29797 & -3673 & -5134816 & -167716 & 1 & 99389 & -208614 & 177416 & 1289942 \\
18323 & -23448 & -2875 & -4179779 & -131663 & 15 & 109834 & -164139 & 138905 & 1049797 \\
24 & 280 & 35 & 42994 & 1568 & 0 & 144 & 1961 & -1662 & -10808 \\
2245 & -4256 & -525 & -730394 & -23968 & 0 & 13470 & -29797 & 25363 & 183491 \\
8547 & -460 & -33 & -313319 & -2636 & -9 & 51569 & -3220 & 2609 & 78372
\end{array}\right) ,1
\end{equation}
\noindent \framebox{92} {\tt  } \\

\end{document}
