Approximation d'un système matriciel

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
Emmele
Messages: 2
Enregistré le: 17 Avr 2022, 02:09

Approximation d'un système matriciel

par Emmele » 17 Avr 2022, 02:27

Bonjour à tous,
Pour un projet immersif, j'ai besoin d'automatiser la résolution de systèmes matriciels linéaires. Il me FAUT une solution à chaque système, même s'il n'en existe pas (matrice non inversible) : la solution peut être une approximation.

Je sais très bien résoudre ce genre de problème : J'ai déjà mes fonctions de calcul de déterminant, de transposée, et de comatrice. Mon problème, c'est que certaines matrices ont un déterminent nul, donc non inversible. J'ai eu une idée pour faire mon approximation, pour les cas où le déterminent est nul : ajouter une quantité négligeable au coefficient {1, 1} de la matrice (Je sais que ce coefficient est de l'ordre de la centaine, donc je voulais ajouter 1), mais j'ai rapidement démontré que ça ne m'aiderai pas systématiquement. Vous avez des solutions à me proposer ?

Quelques précisions sur mon système : c'est un système linéaire donc, avec une matrice carré de dimension 8. Aussi quand je parle de systèmes, c'est un abus de langage. J'ai des inéquations large. Je me place dans le cas limite de l'égalité stricte car c'est quelque chose que je sais traité. Je ne sais pas si le fait que ce soient des inégalités peut m'aider à faire mon approximation ? A priori non car il y a pas d'impact sur ma matrice, mais c'est "grâce à elles" que je pensais l'ajoute de 1 au coefficient {1, 1} était une bonne idée.

Merci par avance



Avatar de l’utilisateur
fatal_error
Modérateur
Messages: 6610
Enregistré le: 22 Nov 2007, 14:00

Re: Approximation d'un système matriciel

par fatal_error » 17 Avr 2022, 08:23

hi

simplifions et considérons les matrices carrées d'ordre 2
tu as AX = B, B = [1,1]
comment trouves tu X si A = [0, 0; 0, 0]
la vie est une fête :)

Emmele
Messages: 2
Enregistré le: 17 Avr 2022, 02:09

Re: Approximation d'un système matriciel

par Emmele » 17 Avr 2022, 11:30

Hola !

C'est un cas particulier très peu pertinent, jamais j'aurai une matrice nulle. Mes coefficients sont dans R+* Surtout il n'y a même pas d'équation dans le cas que tu me proposes.
Un système 2*2, on l'interprète comme la recherche de l'intersection de 2 droites dans le plan. Là il n'y a pas de droites... Où alors 2 points en {0,0} donc la solution serait X = {0,0} ? Mais bon là c'est de la branlette intellectuelle ma manière de résoudre, je pense que je dis une grosse bêtise.
Essaies-tu de me dire que je ne trouverais aucune solution, même approximative ?
Si c'est le cas j'ai 2 possibilités : Soit j'ai trop de contraintes, soit j'ai trop de variables.

Avatar de l’utilisateur
fatal_error
Modérateur
Messages: 6610
Enregistré le: 22 Nov 2007, 14:00

Re: Approximation d'un système matriciel

par fatal_error » 17 Avr 2022, 13:46

> Mes coefficients sont dans R+*
ca ne t'empêche pas d'avoir une matrice non inversible (cf qd tu dis que tu as trop de variables)

> Surtout il n'y a même pas d'équation dans le cas que tu me proposes.
AX = B est une équation d'inconnue X

> Essaies-tu de me dire que je ne trouverais aucune solution, même approximative ?
ce que je veux dire c'est qu'assez evidemment si tu n'imposes aucune contrainte, alors n'importe quel vecteur est solution de manière approximative (même si c'est approximativement gros...)
e.g: [1,1] est solution, [1, 2] est solution ...


si ce que tu cherches c'est juste X, tq AX ~= B (A et B donnés...) sous contrainte lb <= X <= ub (lower bound, upper bound des vecteurs)

alors tu peux essayer de minimiser


min_X norm(AX - B)
s.c lb <= X <= ub


tu as e.g sqp de octave

si tu as pas les contraintes on peu être un peu cheap et remarquer que
si jamais A est pas inversible, alors une de ses valeurs propres est nulle
si on note lambdas le vecteur des valeurs propres
alors il suffit de trouver un a tq lambdas + a soit non non nul (typiquement a = 1e-7)
ce qui rendra ta matrice A + a*I inversible
la vie est une fête :)

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 37 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