Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1406 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  [C++]Factorisation Cholesky qui marche pas

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C++]Factorisation Cholesky qui marche pas

n°1477679
danikool
Posté le 17-11-2006 à 23:40:09  profilanswer
 

Bonsoir,
 
J'ai essayé d'écrire une procédure qui me donne la factorisation Cholesky d'une matrice supposé symétrique définie positive ( factorise une matrice en 2 matrices triangulaire dont l'une est transposé de l'autre) mais il y a un problème: Le programme compile bien (0 erreur qu'il me dit) mais lorsque je lance le programme pour une matrice de dimension supérieur ou égal à 3, ça fait planter MS-DOS !
 
Je précise que j'utilise codeblocks sous windows.
 
Voici le bout de code correspondant à la procédure:  
 

Code :
  1. void Cholesky(int n, float A[N][N], float L[N][N], float Lt[N][N])
  2. {
  3.     L[0][0]=sqrt(A[0][0]);
  4.     float somme;
  5.     for(int i=1;i<n;i++)
  6.     {
  7.         for(int j=0;j<i;j++)
  8.         {
  9.             somme=0;
  10.             for(int k=0;k<j;j++)
  11.             { 
  12.                 somme=somme+L[i][k]*L[j][k];
  13.             }
  14.             L[i][j]=(A[i][j]-somme)/L[j][j];
  15.         }
  16.         somme=0;
  17.         for(int k=0;k<i;k++)
  18.         {
  19.             somme=somme+L[i][k]*L[i][k];
  20.         }
  21.         L[i][i]=sqrt(A[i][i]-somme);
  22.     }
  23. }


 
(j'ai défini la valeur de N à 10 au début du programme)
 
Voilà, j'espère que vous pourrez m'aider à trouver d'ou vient le problème.
 
Merci d'avance!

mood
Publicité
Posté le 17-11-2006 à 23:40:09  profilanswer
 

n°1477709
Amonchakai
Posté le 18-11-2006 à 08:38:19  profilanswer
 

Salut !
   
   tu est sûr, que c'est bien j++ qu'il faut mettre comme incrémentation dans ton for ligne 11 et pas plutôt k++ ? Car là le le vois pas sortir de cette boucle...

n°1477770
danikool
Posté le 18-11-2006 à 14:01:02  profilanswer
 

Amonchakai a écrit :

Salut !
   
   tu est sûr, que c'est bien j++ qu'il faut mettre comme incrémentation dans ton for ligne 11 et pas plutôt k++ ? Car là le le vois pas sortir de cette boucle...


 
lol !
Merci, heureusement que tu me l'as fait remarqué. J'étais vraiment trop fatigué hier ..
 
Je viens de tester et ca plante plus en effet.

n°1484636
rui
Strike Out Looking..
Posté le 30-11-2006 à 21:05:38  profilanswer
 

le numerical recipes est ton ami sinon :o


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  [C++]Factorisation Cholesky qui marche pas

 

Sujets relatifs
Formulaire mailto ne marche pas sur IE[PHP] Marche sous Easyphp mais pas sous wamp?
Script vbs qui marche pas[SQL] noob, script arrêt/marche service SQL
[python] control+c ne marche pas ???[C] fgets ne marche qu'une fois...
Avis aux flasheurs experts // comment ca marche PreviewCity[Résolu]Client/serveur qui marche qu'en local
[C++] "typage dynamique" marche pasboost::bind, pourquoi this ne marche pas?
Plus de sujets relatifs à : [C++]Factorisation Cholesky qui marche pas


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR