Trigonalisation Gauss Matrice

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
jocelyn93
Messages: 9
Enregistré le: 04 Déc 2009, 18:04

Trigonalisation Gauss Matrice

par jocelyn93 » 04 Déc 2009, 18:05

Bonjour !

Je voudrais trigonaliser une matrice par la méthode du pivot de Gauss pour ensuite en calculer le déterminant. Je dois le réaliser en C donc il faut que ce soit une méthode itérative donc pas de méthode "humaine".

Il faut qu'a la deuxième occurrence il n'y ai que des zeros sur la première colonne sauf le premier coefficient.

Merci d'avance !



Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

par fatal_error » 04 Déc 2009, 18:15

salut,

méthode humaine ou itérative c'est a peu pres la même chose...

Il faut qu'a la deuxième occurrence il n'y ai que des zeros sur la première colonne sauf le premier coefficient.


Tu prends la premiere ligne L1
L2<=L2-aL1, avec un coefficient a qui fait en sorte que le coeff dans la premiere colonne de L2 fasse 0
L3<=L3-bL1, idem avec b qui fait que t'as 0 dans la premiere colonne de L3
etc...
Une fois que ta fait ta premiere colonne, tu prends L2 comme référence :
L3<=L3-aL2, avec a que tu choisis pour que ca fasses 0 dans la deuxieme colonne de L3...
Jpense que t'as saisi le principe
la vie est une fête :)

jocelyn93
Messages: 9
Enregistré le: 04 Déc 2009, 18:04

par jocelyn93 » 04 Déc 2009, 19:06

Oui sa je le comprend, mais le gros soucis est justement sur a parce que tout le monde lui donne une valeur différente et donc je ne sais pas quoi prendre

Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21709
Enregistré le: 11 Nov 2009, 21:53

par Ben314 » 04 Déc 2009, 19:22

Bonsoir,
vu la formule donnée par fatal_error :
"L2<=L2-aL1, avec un coefficient a qui fait en sorte que le coeff dans la premiere colonne de L2 fasse 0"
tu n'as pas vraiment le choix pour a !!!!!
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

par fatal_error » 04 Déc 2009, 19:22

As-tu un exemple? Et propose ce que tu ferais?

edit : roh, il a sorti le starter!
la vie est une fête :)

jocelyn93
Messages: 9
Enregistré le: 04 Déc 2009, 18:04

par jocelyn93 » 04 Déc 2009, 19:46

Donnez moi un exemple je n'ai rien de précis en tête tant que je comprend bien l'algo

jocelyn93
Messages: 9
Enregistré le: 04 Déc 2009, 18:04

par jocelyn93 » 05 Déc 2009, 14:50

S'il vous plait !

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

par fatal_error » 05 Déc 2009, 17:53

ce que je pense, c'est que tu es un peu feignant(e).
Jtai proposé un algo. Si c'est pas clair, ben tu dis ce qui te dérange !
Et ce n'est pas forcément à nous de proposer un exemple. Tu peux aussi proposer ce que tu as fait, quit a écrire des conneries. ( ca sera certainement pas moi qui rirai vu celles que j'ai déjà pu sortir ( et je me suis pas encore arrêté ) )
la vie est une fête :)

jocelyn93
Messages: 9
Enregistré le: 04 Déc 2009, 18:04

par jocelyn93 » 05 Déc 2009, 18:16

Ba je voudrais savoir par quoi doit-on remplacer le a.

J'ai trouvé sa :

entre ces deux lignes d'une matrice
a1 b1 c1 ...
a2 b2 c2 ...

la seconde ligne (a2 ; b2 ; c2 ...) sera remplacée par

(a2*a1-a1*a2 ; a2*b1-a1*b2 ; a2*c1-a1*c2 ....)

mais quand je passe à la troisième ligne je ne sais pas si je dois reprendre les élèments de la matrice d'originie ou ceux de la 2e ligne une fois changée.

Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21709
Enregistré le: 11 Nov 2009, 21:53

par Ben314 » 05 Déc 2009, 18:27

L'"exemple" que tu donne (en terme d'exemple, on attendait plutot des "vrai chiffres") marche bien, mais en général, on prend plutôt l'opposé de ce que tu as pris. de plus, fait attention :
Tu as multiplié la ligne 2 par a1 et ça, tu n'a le droit de le faire QUE SI a1 est non nul
(l'équation 3x+2y-5z=8n'est évidement pas équivalente à
0x(3x+2y-5z)=0x8 )!!!
Pour la ligne 3, tu fait pareil, tu la multiplie par a1 et tu lui retranche a3 fois la première ligne....

Attention seulement au cas où a1=0. Dans ce cas, tu échange la première ligne avec une autre...
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

jocelyn93
Messages: 9
Enregistré le: 04 Déc 2009, 18:04

par jocelyn93 » 05 Déc 2009, 18:40

Je suis partie de :

2 1 4
5 3 1
-1 2 -3

Puis L2=L2-5/2L1 =>
2 1 4
0 0.5 -9
-1 2 -3

Puis L3=L3+1/2L1 =>
2 1 4
0 0.5 -9
0 2.5 -1

Puis L3=L3-3L2 =>
2 1 4
0 0.5 -9
0 0 26

Donc le determinant serait 26 or je trouve avec ma calculatrice un détermiant de 44.

Ai-je fait une erreur de calcul ?

Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21709
Enregistré le: 11 Nov 2009, 21:53

par Ben314 » 05 Déc 2009, 18:48

Pour la dernière étape, 2.5-?0.5=0 ne donne pas tout à fait ?=3..... :zen:

Sinon, le principe est parfaitement compris.
Pour la programation, tu fait "tout pareil" en faisant attention au cas où le "pivot" est nul...
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

jocelyn93
Messages: 9
Enregistré le: 04 Déc 2009, 18:04

par jocelyn93 » 05 Déc 2009, 20:44

Merci beaucoup !

Alors oui justement si au début j'avais :
0 1 4
5 3 1
-1 2 -3

qu'est-ce que j'aurais du faire ?

Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21709
Enregistré le: 11 Nov 2009, 21:53

par Ben314 » 05 Déc 2009, 20:52

Echanger la ligne 1 avec la 2 ou la 3 (i.e. avec une ligne ou il n'y a pas de 0 au début).

Ensuite, se pose évidement la question "et si y'a que des 0 je fait quoi ?"
Essaye de voir sur quelques exemples ce que cela signifie....
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

jocelyn93
Messages: 9
Enregistré le: 04 Déc 2009, 18:04

par jocelyn93 » 05 Déc 2009, 20:55

Bein si j'ai que des zeros sur une ligne le déterminant est nul non ?

Avatar de l’utilisateur
Ben314
Le Ben
Messages: 21709
Enregistré le: 11 Nov 2009, 21:53

par Ben314 » 05 Déc 2009, 21:30

C'est parfait.
Qui n'entend qu'un son n'entend qu'une sonnerie. Signé : Sonfucius

jocelyn93
Messages: 9
Enregistré le: 04 Déc 2009, 18:04

par jocelyn93 » 05 Déc 2009, 23:23

Merci beaucoup !!!!!!

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 18 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite