Bonjour ,
je demande si on peut calculer (en Fortran ) l inverse d une matrice qui depend d un parametre sans donner une valeur a ce parametre,
Ou bien de résoudre un systeme linéaire dépendant d un parametre?
merci
Bonjour ,
je demande si on peut calculer (en Fortran ) l inverse d une matrice qui depend d un parametre sans donner une valeur a ce parametre,
Ou bien de résoudre un systeme linéaire dépendant d un parametre?
merci
Salut !
Deux remarques préliminaires:
1) Pourquoi veux-tu inverser une matrice, si ce n'est pas demandé explicitement dans un exercice de ton damné bouquin. En général, ça ne sert à rien.
2) Ton problème n'est pas spécifique du Fortran. C'est plutôt la question d'un algorithme.
Pour exprimer analytiquement la solution d'un système en fonction d'un paramètre, c'est du calcul formel et non du calcul numérique. Dans ce cas, il faut utiliser un logiciel spécialisé comme Mathematica ou Maple.
Si, dans ton système, tu as un paramètre qui se trouve à une ou plusieurs places, et que tu veux le résoudre pour un nombre fini de valeurs de ce paramètre, tu peux utiliser les formules de Sherman-Morrison ou de Woodbury: Le temps de calcul sera en n3 pour la première valeur et en n2 seulement pour les suivantes. Personnellement, je n'ai jamais essayé, mais regarde dans Numerical Recipes.
Bonne chance!
Jean-Marc Blanc
C est pour la resolution d une edp qui depend d un parametre...........
ce n est pas un exos mais autre
Salut !
1) Quelle est ton équation aux dérivées partielles?
2) Quel est le domaine d'intégration?
3) Quelles sont les conditions aux limites?
4) Si la fonction cherchée dépend du temps, quelles sont les conditions initiales?
5) Quelle méthode d'intégration utilises-tu?
Quand tu auras répondu à ces questions, on pourra aller un peu plus loin.
Jean-Marc Blanc
Je n entre pas trop en detail, on a une edo de forme (a(r)u')'=0, et a(r) de la forme 1+mr^2 ou meme autre, on connait u(R)=h par ex, (h constant) et on connait a(R)u'(R)=k par ex ,
on est a la recherche de m, par difference finis, on obtient un systeme lineaire dependant de m, Mais on connait la valeur de u_N(m)=h, donc en resolvant le systeme lineaire on tire la valeur de u_N en fonction de m, et on aura une equation non lineaire en m a resoudre, on applique Newton par exemple, Mais le probleme c est la resolution du systeme lineaire
Voila Jean Marc, j espere que c est claire
Une inversion de matrice, ça peut-etre très lourd.
En général on évite de le faire...
utilise plutot une méthode du genre cholesky par exemple (méthode directe) très simple à programmer (Numerical Recipe) ou un gauss (methode itérative).
Je n'ai pas regardé en profondeur tes équations, tu devra peut-etre utiliser des méthodes un peu plus complexes, selon les systèmes que tu as a résoudre.
Partager