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.
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 »

Normalement k=1 puisque le premier "pivot" convient (pas besoin de permuter).
Kazik

Message non lu par Kazik »

C'est bon, j'ai testé cherche_le_pivot chez moi, ca marche.

1 2 3
4 5 6
cherche_le_pivot(A,1) renvoi [1,1] .

0 2 3
4 5 6
cherche_le_pivot(A,1) renvoi [2,1]

0 2 3
0 0 6
cherche_le_pivot(A,1) renvoi [1,2]

C'est cela?
On peut donc trouver [i,j] tel que $a_{i,j}$ différent de 0 mais ensuite?
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 »

Une fois que l'on a un pivot en (i,j), il faut combiner chaque ligne k>i avec la ligne i pour que le coefficient (k,j) soit nul (la combinaison utilise le pivot).
Kazik

Message non lu par Kazik »

par exemple pour
1 2 3
4 5 6

cherche_le_pivot renvoi [1,1].
donc on doit combiner [2,1] avec [1,1] pour obtenir un 0 en [2,1] ?
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 »

Oui, c'est cela : regarde mes premiers messages, je t'avais donné les combinaisons.
Kazik

Message non lu par Kazik »

[2,1]-4[1,1] dans ce cas.
Mais plus généralement?
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 »

Un réel non nul sert essentiellement dans un quotient où il figure au dénominateur : peux-tu généraliser toi-même sous la forme :
$$L_k \leftarrow L_k - \alpha L_i$$
avec $\alpha$ à préciser en fonction du pivot et d'un autre coefficient.
Kazik

Message non lu par Kazik »

Je dirais :
$\alpha=\frac{L_k}{L_i}$ mais il faudrait des coefficients en faite non ?
Arnaud
Modérateur honoraire
Modérateur honoraire
Messages : 7095
Inscription : lundi 28 août 2006, 13:18
Localisation : Allemagne

Message non lu par Arnaud »

Non !

$L_i$ désigne une ligne, et donc il est difficile de diviser un ligne d'une matrice par une autre.

L'opération décrite au-dessus permet d'éliminer certaines valeurs dans une même ligne.
Arnaud
Un peu d'info - Pyromaths - Pas d'aide en MP (non plus)
Kazik

Message non lu par Kazik »

Si [i,j] désigne le coefficient que renvoi cherche_le_pivot alors on regarde [i+1,j].
S'il est différent de 0, on fait $L_{i+1}-[i+1,j]L_i$ ?
S'il est égale à 0, on passe a la ligne suivante $L_{i+2}$

C'est mieux?
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_{i+1}-\dfrac{[i+1,j]}{[i,j]} \times L_i$$

Raison pour laquelle cela doit être différent de 0 :wink:
Arnaud
Un peu d'info - Pyromaths - Pas d'aide en MP (non plus)
Kazik

Message non lu par Kazik »

Arnaud a écrit :$$L_{i+1}-\dfrac{[i+1,j]}{[i,j]} \times L_i$$

Raison pour laquelle cela doit être différent de 0 :wink:
Ca roule!!
Mais comment qu'on fait pour dire a maple de faire ceci?
(je matrise pas encore toutes les fonctionalités de ce super log)
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 n'utilise plus Maple depuis un certain temps, donc là je ne peux pas t'aider....désolé.
Arnaud
Un peu d'info - Pyromaths - Pas d'aide en MP (non plus)
Kazik

Message non lu par Kazik »

Arnaud a écrit :Je n'utilise plus Maple depuis un certain temps, donc là je ne peux pas t'aider....désolé.
Ok c'est pas grave, je crois avoir trouver avec l'aide en ligne :
on utilise la commande Addrow.

On obtient alors
4 5 6
0 3/4 3/2

(la matrice étant
4 5 6
1 2 3).

Une fois ceci fait, que doit on faire?
Arnaud
Modérateur honoraire
Modérateur honoraire
Messages : 7095
Inscription : lundi 28 août 2006, 13:18
Localisation : Allemagne

Message non lu par Arnaud »

Tu as comme exemple une matrice assez simple, mais il se peut que tu doives refaire la même manipulation pour d'autres lignes afin d'obtenir une matrice traingulaire supérieure, quitte à avoir des colonnes nulles.

Supposons maintenant qu'ayant fait toutes ces opérations tu obtiennes une matrice tri-sup.
Dans ce cas tu refais la même chose pour les colonnes.
Une fois ça de fait, tu réordonnes les colonnes de façon à avoir les colonnes nulles ( si il y en a ) à la fin, et dans ce cas le rang de ta matrice sera le nombre de colonnes non-nulles.

Dans ton exemple, on obtiendra
$$\left(
\begin{array}{ccc}
4 & 0 & 0\\
0 & \dfrac{3}{4} & 0
\end{array} \right)$$

Donc la matrice est de rang 2.
Arnaud
Un peu d'info - Pyromaths - Pas d'aide en MP (non plus)
Kazik

Message non lu par Kazik »

Je ne comprend pas comment on arrive a la matrice que vous obtenez ?
Arnaud
Modérateur honoraire
Modérateur honoraire
Messages : 7095
Inscription : lundi 28 août 2006, 13:18
Localisation : Allemagne

Message non lu par Arnaud »

Dans la première ligne, le but est d'éliminer les termes $5$ et $6$.
Pour cela on ajoute un multiple de la première colonne ( respectivement $-\dfrac{5}{4}$ et $-\dfrac{6}{4}$ ).

On fait pareil avec la 2e ligne : on essaye d'éliminer le terme $\dfrac{3}{2}$, en choisissant comme pivot $\dfrac{3}{4}$...
Arnaud
Un peu d'info - Pyromaths - Pas d'aide en MP (non plus)
Kazik

Message non lu par Kazik »

J'essaye de vous dire ce que j'ai pour l'instant compris :
Je prend une matrice
1 2 3
4 5 6
7 8 9

on cherche le pivot, ici on va trouver $[1,1]$
on fait alors
$L_2 \leftarrow L_2 - \dfrac{[2,1]}{[1,1]} L_1$
$L_3 \leftarrow L_3 - \dfrac{[3,1]}{[1,1]} L_1$

On obtient alors
1 2 3
0 -3 -6
0 -6 -12

Qu'est qu'on fait ensuite ?
Arnaud
Modérateur honoraire
Modérateur honoraire
Messages : 7095
Inscription : lundi 28 août 2006, 13:18
Localisation : Allemagne

Message non lu par Arnaud »

On reste cool, on se tutoit :wink:

Tu as choisit comme pivot $1$, puis éliminé tous les coeffs en-dessous dans la même colonne.
Faut faire pareil avec la 2e colonne, c'est-à-dire éliminer tout ce qui est en dessous de la diagonale ( bref le $-6$ ).
Comme tu as un $0$ dans la 2e ligne, c'est mieux de l'utiliser.

Donc tu additionnes $-2$ fois la 2e ligne....bla bla.

Une fois ça de fini, tu as une matrice triangulaire supérieure, c'est-à-dire qu'il n'y a que des $0$ sous la diagonale.

On recommence la même chose pour les termes au-dessus de la diagonale, cette fois-ci en opérant sur les colonnes.
Arnaud
Un peu d'info - Pyromaths - Pas d'aide en MP (non plus)
Kazik

Message non lu par Kazik »

Ok on peut se tutoyer!
Mais je comprend pas comment je vais faire ceci sous Maple !!

J'arrive a trouver le pivot mais ensuite :/
Tu peut m'aider ?