IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Fortran Discussion :

Matrice tridiagonale par bloc


Sujet :

Fortran

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    386
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 386
    Par défaut Matrice tridiagonale par bloc
    Bonjour,
    est ce quelqu un connait comment on construit une matrice tridiagonale par bloc en fortran?
    merci pour votre aide

  2. #2
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Par défaut
    Salut!
    Tout dépend de ce que tu veux mettre dedans.
    Jean-Marc Blanc

  3. #3
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    386
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 386
    Par défaut
    C est à dire ?
    C est logique, c est une matrice qui vient d une méthode de difference finis ou elements finis 2D

  4. #4
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Par défaut
    Salut!
    C est logique, c est une matrice qui vient d une méthode de difference finis ou elements finis 2D
    Ce n'est pas logique du tout: si tu appliques la méthode des différences finies à un domaine rectangulaire, tu obtiens sur la diagonale principale des matrices qui sont elles-même tridiagonales et toutes de même taille, et de part et d'autre des matrices carrées et diagonales; en revanche, si tu appliques la méthode des éléments finis à un domaine de forme quelconque, tu peux, par un maillage judicieux, obtenir sur la diagonale des matrices de tailles diverses, et de part et d'autre des matrices rectangulaires, ce qui est totalement différent. Alors, il faut savoir exactement ce que tu veux.
    Jean-Marc Blanc

  5. #5
    Membre éclairé
    Inscrit en
    Juillet 2007
    Messages
    386
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 386
    Par défaut
    supposons que je travail avec difference finis (2D), alors coment tu programme ta matrice?

  6. #6
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Par défaut
    Salut!
    Supposons que ta grille comporte m rangées de k noeuds, soit au total m * k noeuds. Tu dois d'abord te demander si ta matrice tiendra en mémoire vive ou si tu dois la stocker sur disque. Tu as
    • m matrices k * k sur la diagonale principale; comme ces matrices sont symétriques définies positives, il suffit de stocker un triangle de chacune, soit m * k * (k + 1) / 2 termes.
    • m - 1 matrices k * k au-dessus ou au-dessous; au départ, ces matrices sont diagonales, mais, lors de la résolution, elles se remplissent peu à peu, pour devenir finalement triangulaires; elles comportent donc au total (m - 1) * k * (k + 1) / 2 termes.

    A toi donc de calculer la place dont tu as besoin et de voir si tu disposes de suffisamment de mémoire.
    Jean-Marc Blanc

Discussions similaires

  1. Créer une matrice diagonale par blocs
    Par antonb dans le forum MATLAB
    Réponses: 5
    Dernier message: 08/12/2011, 20h10
  2. parallélisation d'un système tridiagonale par bloc
    Par ninikosim dans le forum Fortran
    Réponses: 0
    Dernier message: 29/06/2011, 11h31
  3. implémenter matrice tridiagonale par bloc
    Par soussoua1 dans le forum Signal
    Réponses: 5
    Dernier message: 13/06/2010, 18h35
  4. Factorisation LU matrice tridiagonale par blocs
    Par djocin dans le forum Fortran
    Réponses: 3
    Dernier message: 26/10/2009, 21h27
  5. Matrice par bloc
    Par feynman dans le forum Scilab
    Réponses: 6
    Dernier message: 14/05/2008, 14h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo