système linéaire non carré

Utilisation à l'épreuve de modélisation de l'agrégation de mathématiques

Modérateur : xcasadmin

Denizou
Messages : 61
Inscription : mer. juin 13, 2012 7:23 am

système linéaire non carré

Message par Denizou » dim. oct. 28, 2012 9:38 am

Bonjour,

J'écris un algorithme qui à partir d'une base de F1, d'une base de F2 et d'un élément V de F1+F2 donne des coordonnées de V sur F1 et F2.
Si le nombre total de vecteurs des bases de F1 et F2 est inférieur ou égal à N dimension de l'espace vectoriel, en utilsant la fonction rref, je trouve des coordonnées solutions.
Si le nombre total de vecteurs des bases F1 et F2 est supérieur à N, alors rref ne me renvoit pas une matrice diagonale et je n'arrive pas à résoudre le système avec Xcas (à partir de la matrice obtenue par rref je peux résoudre le système à la main mais je ne vois pas comment le programmer de façon simple).
Dans le manuel, il est bien précisé que la matrice obtenue avec rref est "diagonale" et si c'était le cas, j'aurais rapidement les valeurs des inconnues principales et les inconnues manquantes étant des paramètres que je mets à 0.
J'ai testé la fonction rref avec une matrice de 5 lignes et 7 colonnes.

Merci

François

PS Je ne sais pas trop si le message est posté sur le bon forum.

parisse
Messages : 5734
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: système linéaire non carré

Message par parisse » lun. oct. 29, 2012 1:45 pm

A mon avis, le plus simple dans ce cas c'est de chercher le noyau de la matrice dont les colonnes sont les vecteurs de F1 puis de F2 et en derniere colonne le vecteur que l'on cherche a decomposer, puis tester si un des vecteurs de la base renvoyee est de la forme [x y z ... -1], s'il n'y en a pas, alors il n'y a pas de telle decomposition, s'il y en a alors il existe une solution et les autres s'obtiennent en ajoutant n'importe quelle combinaison lineaire des autres vecteurs de la base du noyau.

Denizou
Messages : 61
Inscription : mer. juin 13, 2012 7:23 am

Re: système linéaire non carré

Message par Denizou » lun. oct. 29, 2012 2:33 pm

parisse a écrit :A mon avis, le plus simple dans ce cas c'est de chercher le noyau de la matrice dont les colonnes sont les vecteurs de F1 puis de F2 et en derniere colonne le vecteur que l'on cherche a decomposer, puis tester si un des vecteurs de la base renvoyee est de la forme [x y z ... -1], s'il n'y en a pas, alors il n'y a pas de telle decomposition, s'il y en a alors il existe une solution et les autres s'obtiennent en ajoutant n'importe quelle combinaison lineaire des autres vecteurs de la base du noyau.
Je n'y avais pas du tout pensé ! Je partais de l'hypothèse que le vecteur était bien un élément de la somme des deux sev, votre méthode permet de tester en plus si c'est le cas et sans se préoccuper du nombre de vecteurs de chaque base.
Merci bien
François

Répondre