Matrice échelonné

skouatteur Messages postés 2 Date d'inscription jeudi 23 novembre 2006 Statut Membre Dernière intervention 23 novembre 2006 - 23 nov. 2006 à 08:52
skouatteur Messages postés 2 Date d'inscription jeudi 23 novembre 2006 Statut Membre Dernière intervention 23 novembre 2006 - 23 nov. 2006 à 17:13
bonjour tout le monde
je me suis inscrit sur ce site afin d'avoir un coud de main sur un logiciel qui s'appelle maple et j'espere que l'on pourra m'aider
je m'escuse d'avance si j'ai postez sur le mauvais forum
voila ce que je doit faire:
En fait, j'ai une matrice A de M(n,m) de R qui est une matrice rectangulaire à n lignes et m colonnes.
et moi je doit déterminer une procédure qui prend comme argument la matrice A et qui renvoie le rang de A et des matrices P appartenant à GL(n) de R,Q appartenant à GL(m) de R, B appartenant à M(n,m) de R telles que P*A*Q=B, avec B une matrice telle que si r est son rang, on ait b(1,1)....,b(r,r) non nuls et b(i,j)=0 si i>r ou si (j<=r et j with(student):

> pivot_cherche:=proc(A::matrix,k::integer)
local i,j;
for j from k to coldim(A) do
for i from k to rowdim(A) do
if A[i,j]<>0 then
return([i,j]);
end if;
end do;
end do;
return([0,0]);
end proc
>
pivot_elim:=proc(A::matrix,k::integer)
local B,i;
B:=A;
for i from (k+1) to rowdim(B) do
B:=addrow(B,k,i,-B[i,k]/B[k,k]);
end do;
return(B);
end proc;

gauss_elim:=proc(A::matrix)
local B,d,k,pivot;
B:=A;
d:=min(rowdim(B),coldim(B));
for k from 1 do
pivot:=pivot_cherche(B,k);
if pivot=[0,0] then
return(evalm(B),k-1);
else
B:=swaprow(B,k,pivot[1]);
B:=swapcol(B,k,pivot[2]);
B:=pivot_elim(evalm(B),k);
end if;
end do;
end proc;

mon probleme est que je suis censé écrire que une procédure et moi j'en ai plusieurs
de plus, dans le résultat final, P et Q doivent etre affiché mais moi je ne vois pas comment faire pour que celle ci s'affiche!

j'espere vraiment qu'on pourra m'aider!

merci d'avance et bonne journée

2 réponses

SAKingdom Messages postés 3212 Date d'inscription lundi 7 novembre 2005 Statut Membre Dernière intervention 16 février 2009 15
23 nov. 2006 à 16:42
Quel langage utilise tu? On dirait du Delphi.

Chose certaine, ce n'est pas du C/C++.

C++ (@++)<!--
0
skouatteur Messages postés 2 Date d'inscription jeudi 23 novembre 2006 Statut Membre Dernière intervention 23 novembre 2006
23 nov. 2006 à 17:13
je ne saurais vous dire quel language j'ai utilisé...je sais juste que c'est celui utilisé avec le logiciel maple!
de toute facon, j'ai trouver la solution en 1 seule procédure!
merci quand meme!
0
Rejoignez-nous