restart;
<Text-field layout="Heading 1" style="Heading 1"/>taille:=proc(A) local t,u,n,p; t:=[op(2,evalm(A))]; n:=op(2,t[1]);p:=op(2,t[2]); [n,p]; end:produit:=proc(A,B) local k,C,n,p,q,i,j,t; t:=taille(A); n:=t[1]; p:=t[2]; t:=taille(B); q:=t[2]; if (t[1]<>p) then RETURN(IMPOSSIBLE); fi; C:=array(1..n,1..q); for i from 1 to n do for j from 1 to q do C[i,j]:=add(A[i,k]*B[k,j],k=1..p); od; od; RETURN(evalm(C)); end:MatPermut:=proc(i,j,n) local k,l,P; P:=array(1..n,1..n); for k from 1 to n do for l from 1 to n do P[k,l]:=0; od; P[k,k]:=1; od; P[i,i]:=0;P[j,j]:=0;P[i,j]:=1;P[j,i]:=1; evalm(P); end: MatDilat:=proc(a,j,n) local k,l,P; P:=array(1..n,1..n); for k from 1 to n do for l from 1 to n do P[k,l]:=0; od; P[k,k]:=1; od; P[j,j]:=a; evalm(P); end:MatTransvect:=proc(i,a,j,n) local k,l,P; P:=array(1..n,1..n); for k from 1 to n do for l from 1 to n do P[k,l]:=0; od; P[k,k]:=1; od; P[i,j]:=a; evalm(P); end:
Exercice 2bisEtant donn\351 que les op\351rations \351l\351mentaires s'obtiennent par produit de la matrice initiale par des matrices \351l\351mentaires d\351j\340 construites on a:question a)Permut_ligne:=proc(i,j,A) local B,k,t; t:=taille(A); B:=array(1..t[1],1..t[2]); B:=MatPermut(i,j,t[1]); evalm(Produit(B,A)); end: question b)Dilat_ligne:=proc(a,i,A) local B,k,t; t:=taille(A); B:=array(1..t[1],1..t[2]); B:=MatDilat(a,i,t[1]); evalm(Produit(B,A)); end: question c)Transvect_ligne:=proc(i,a,j,A) local B,k,t; t:=taille(A); B:=array(1..t[1],1..t[2]); B:=MatTransvect(i,a,j,t[1]); evalm(Produit(B,A)); end: question e)Permut_colonne:=proc(i,j,A) local B,k,t; t:=taille(A); B:=array(1..t[1],1..t[2]); B:=MatPermut(i,j,t[1]); evalm(Produit(A,B)); end: