help-gsl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Help-gsl] gsl_eigen_symmv


From: mat . father
Subject: [Help-gsl] gsl_eigen_symmv
Date: Mon, 25 Feb 2008 20:49:35 +0100

Hi!

I have compiled and linked successfully the example program from the gnu 
homepage on my AIX machine with the g++ compiler and gsl version 1.10. When 
executing the progam I get an error message (Segmentation fault (coredump)) 
when the following line is executed "gsl_eigen_symmv (&m.matrix, eval, evec, 
w); ". 

Does anyone have an idea what is going wrong? 

Thanks a lot for your comments.

Mat


#include<iostream>
using std::cout;
using std::endl;
using std::cin;
#include <gsl/gsl_math.h>
#include <gsl/gsl_eigen.h>
     
     int main ()
     {
       double data[] = { 1.0  , 1/2.0, 1/3.0, 1/4.0,
                         1/2.0, 1/3.0, 1/4.0, 1/5.0,
                         1/3.0, 1/4.0, 1/5.0, 1/6.0,
                         1/4.0, 1/5.0, 1/6.0, 1/7.0 };
   
            gsl_matrix_view m 
         = gsl_matrix_view_array (data, 4, 4);
  
                 gsl_vector *eval = gsl_vector_alloc (4);
       gsl_matrix *evec = gsl_matrix_alloc (4, 4);
    
       gsl_eigen_symmv_workspace * w = 
         gsl_eigen_symmv_alloc (4);
       
          gsl_eigen_symmv (&m.matrix, eval, evec, w); // Here occurrs 
Segmentation fault (coredump)    
       gsl_eigen_symmv_free (w);
     
       gsl_eigen_symmv_sort (eval, evec, 
                             GSL_EIGEN_SORT_ABS_ASC);
       

       {
         int i;
     
         for (i = 0; i < 4; i++)
           {
             double eval_i 
                = gsl_vector_get (eval, i);
             gsl_vector_view evec_i 
                = gsl_matrix_column (evec, i);
     
             printf ("eigenvalue = %g\n", eval_i);
             printf ("eigenvector = \n");
             gsl_vector_fprintf (stdout, 
                                 &evec_i.vector, "%g");
           }
       }
     
       gsl_vector_free (eval);
       gsl_matrix_free (evec);
     
return 0;
     }
-- 
Psssst! Schon vom neuen GMX MultiMessenger gehört?
Der kann`s mit allen: http://www.gmx.net/de/go/multimessenger




reply via email to

[Prev in Thread] Current Thread [Next in Thread]