Procédure sous Maple

Tout ce qui concerne notamment les outils de calcul numérique, de calcul formel ou de géométrie.
[participation réservée aux membres inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
Kazik

Message non lu par Kazik »

un Begin/End ?
guiguiche
Modérateur général
Modérateur général
Messages : 8149
Inscription : vendredi 06 janvier 2006, 15:32
Statut actuel : Enseignant
Localisation : Le Mans

Message non lu par guiguiche »

Je ne sais pas si c'est la syntaxe de Maple, mais il faut lui expliquer qu'à chaque tour de la boucle FOR, il doit effectuer les deux tâches (évaluation de m puis combinaison des lignes) sinon il risque de ne prendre en compte que la première (calcul de m) et alors, comme i0=n+1 à l'issue de la boucle, il ne peut combiner donc il attend, attend, attend, ... (du moins je l'imagine ainsi).
Pas d'aide par MP : les questions sont publiques, les réponses aussi.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.
Kazik

Message non lu par Kazik »

Je crois avoir réussi, mais bon ...
Y'aurai il quelqu'un avec qui on pourrait discuter sur msn ?
(j'enverai mon fichier qui semble tourner).
guiguiche
Modérateur général
Modérateur général
Messages : 8149
Inscription : vendredi 06 janvier 2006, 15:32
Statut actuel : Enseignant
Localisation : Le Mans

Message non lu par guiguiche »

Tu le postes ici, un copier/coller devrait faire l'affaire pour celui/celle qui veut le tester.
J'essairais avec Maxima (sans garantie de réussite).
Pas d'aide par MP : les questions sont publiques, les réponses aussi.
Tu as apprécié l'aide qui t'a été fournie ? Alors n'hésite pas à rendre la pareille à quelqu'un d'autre.
Un peu d'autopromotion.
Kazik

Message non lu par Kazik »

Voila le corrigé (donné par le prof),
j'aurai besoin d'aide à la compréhension de celui-ci! Le plus tot serait le mieux (je sais que ca ne se fait pas, mais la je suis dans l'urgence!!)

Merci.
Dernière modification par Kazik le samedi 16 décembre 2006, 00:19, modifié 1 fois.
Kazik

Message non lu par Kazik »

Pourquoi c'est tant que i inférieur au minimun de n et m ?
Arnaud
Modérateur honoraire
Modérateur honoraire
Messages : 7095
Inscription : lundi 28 août 2006, 13:18
Localisation : Allemagne

Message non lu par Arnaud »

Le rang d'une matrice de $M_{m,\ n}(\R)$ est inférieur à $\min \{m,\ n\}$.

En gros on regarde le rang d'une matrice carrée la plus grande possible dans la matrice rectangulaire.
C'est mal dit, mais c'est ça.

On regarde d'abord les termes diagonaux ( $B[i,i]$ ) et si c'est non-nul on élimine tout ce qui est en dessous avec.
Sinon on cherche un autre terme "en-dessous" de $B[i,i]$ qui est non-nul pour le faire à sa place.
Kazik

Message non lu par Kazik »

Est ce que tu peut m'expliquer un peu en détail les instructions ? (ou j'en demande trop ?)
Arnaud
Modérateur honoraire
Modérateur honoraire
Messages : 7095
Inscription : lundi 28 août 2006, 13:18
Localisation : Allemagne

Message non lu par Arnaud »

Là j'ai pas trop le temps....désolé :oops:
Arnaud
Un peu d'info - Pyromaths - Pas d'aide en MP (non plus)
Kazik

Message non lu par Kazik »

ah ... mince, même si c'est urgent :cry:
Kazik

Message non lu par Kazik »

vraiment personne ?
Arnaud
Modérateur honoraire
Modérateur honoraire
Messages : 7095
Inscription : lundi 28 août 2006, 13:18
Localisation : Allemagne

Message non lu par Arnaud »

Je ne connais pas toutes les commandes sous maple.

Par exemple la syntaxe de RowOperation, même si pour cette dernière, cela reste à peu près compréhensible.
Arnaud
Un peu d'info - Pyromaths - Pas d'aide en MP (non plus)
Kazik

Message non lu par Kazik »

The RowOperation(A, K, s) (ColumnOperation(A, K, s)) function, where K is an integer, returns a Matrix which has the same entries as A except that the Kth row (column) is multiplied by s.

Code : Tout sélectionner

> with(LinearAlgebra):
> A := <<1,2,3>|<4,5,6>|<7,8,9>>;
$\begin{pmatrix}1&4&7\\2&5&8\\3&6&9\end{pmatrix}$

Code : Tout sélectionner

RowOperation(A, 3, 3);
$\begin{pmatrix}1&4&7\\2&5&8\\9&18&27\end{pmatrix}$

c'est peut être plus clair ainsi ?
Arnaud
Modérateur honoraire
Modérateur honoraire
Messages : 7095
Inscription : lundi 28 août 2006, 13:18
Localisation : Allemagne

Message non lu par Arnaud »

Hum, cela n'explique pas ce genre d'opérations :

Code : Tout sélectionner

B:=RowOperation(B,[i,j]);
    P:=RowOperation(P,[j,i],-B[j,i]/B[i,i]); 
De plus, je t'ai expliqué la méthode général utilisée dans le programme, cela ne t'a pas suffit à en comprendre les grandes lignes ?
Arnaud
Un peu d'info - Pyromaths - Pas d'aide en MP (non plus)
pihro

Message non lu par pihro »

Kazik a écrit :
Alphonse BC a écrit :Il te suffit de créer un programme qui reduit ta matrice grace à l'algorithme de Gauss (par exemple) et ensuite tu compte le nombre de ligne de ta matrice qui possède au moins un élément non nul. C'est enfantin. Il faut juste connaitre le langage de programmation de Maple et il n'est pas très compliqué!!!

Sinon je pense également que Maple possède déjà une fonction qui calcul le rang d'une matrice.

Alphonse \$BC\$
Oui c'est bien cela Alphonse :
la procéduire doit renvoyer $PAQ=B$
où $Q\in Gl_n(\mathbb{R})$, $P\in Gl_m(\mathbb{R})$ et $B\in M_{(n,m)}(\mathbb{R})$
C'est enfantin, mais pas pour moi :(

Le sujet est un peu vieux, mais sait-on jamais, ca peut encore intéresser !

On peut avoir directement le résultat avec :

Code : Tout sélectionner

 travail := proc(A) ;
jordan(A,'P');
print(jordan(A,P)=inverse(P)*A*evalm(P));
end;