Matrice échelonné

Signaler
Messages postés
2
Date d'inscription
jeudi 23 novembre 2006
Statut
Membre
Dernière intervention
23 novembre 2006
-
Messages postés
2
Date d'inscription
jeudi 23 novembre 2006
Statut
Membre
Dernière intervention
23 novembre 2006
-
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

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

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

C++ (@++)<!--
Messages postés
2
Date d'inscription
jeudi 23 novembre 2006
Statut
Membre
Dernière intervention
23 novembre 2006

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!