Bonjour , je n'arrive pas à faire marcher le code de jacobi de numerical recipes.
Voici ce que je fais :
Je prend le code tel-quel et je lui rajoute une petite fonction "main" (ci-dessous ) pour pouvoir le tester, censée me renvoyer les valeurs propres.
En parallèle , j'ai téléchargé nrutil.h et nrutil.c , que j'ai mis dans le même dossier que jacobi.c
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 void main() { float a[4][4],v[4][4]; float d[4]; int nrot,i; a[0][0]=1;a[0][1]=2;a[0][2]=3;a[0][3]=4; a[1][0]=2;a[1][1]=2;a[1][2]=5;a[1][3]=7; a[2][0]=3;a[2][1]=5;a[2][2]=3;a[2][3]=2; a[3][0]=4;a[3][1]=7;a[3][2]=2;a[3][3]=1; jacobi(a,4,d,v,nrot); for(i=0;i<4;i++) {printf("%f ",d[i]);}; }
ma commande pour compiler le tout est la suivante :
Ce qui ne semble pas poser de probleme car il ne recontre pas d'erreur et me sort bien un executable ( a.out )
Code : Sélectionner tout - Visualiser dans une fenêtre à part > gcc jacobi.c nrutil.c -lm
Seulement quand je le fais tourner il ne me sort qu'une erreur de segmentation.
Je me demande si mon erreur ne vient pas des déclarations de variables dans mon fonction main. Ou peut etre fallait il faire quelque chose de plus avec les fichiers nrutil ?
Partager