onjour,
pour résoudre l'équation de la chaleur en 2D, j'ai transformé l'équation en systéme linéaire de la forme AX=b.
j'ai assayé de résoudre le systéme par l'utilisation de:
Bibliothèque LINALG (Fortran 90)
interfaçage f90 de LINPACK (partiel)
version 0.2 -- 14 Novembre 2003
(C) Édouard CANOT -- IRISA/CNRS
E-mail : Edouard.Canot@irisa.fr
src : ~ecanot/tools/fortran/numerical/linalg_f90/
________________________________________________________________________
Interfaçage fortran 90 pour quelques routines (basic) de 'linalg' :
- 'sgefa' : factorise (LU) une matrice carrée A
- 'sgeco' : idem 'sgefa', mais fournit en plus une estimation de rcond
(rcond = reciprocal condition number = 1/CN)
- 'sgesl' : résoud un système linéaire du type : A.x = b, la matrice A
ayant été factorisée (LU) au préalable
je fais le calcul de tous les coeficients de la matrice et le vectuer second membre .Ensuite je fais l'appel à la subroutine sgefa et sgesl pour résoudre mon systéme
mais j'ai tombé sur une matrice singuliére dont j'arrive pas à comprendre comment je trouve la solution.
Code fortran : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 call f90_geco (A, ipvt, rcond ) write(*,*) 'rcond=',rcond call f90_gesl ( A, ipvt, vect )
j'ai bien vérifié que ma matrice est quelconque n'est pas définie positive ,creuse et à diagonale strictement dominante
svp aider moi à résoudre ce probléme par vos propositions et vous expériences.
merci
Partager