[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Help-gsl] gsl_eigen_symmv
From: |
Ralph Silva |
Subject: |
Re: [Help-gsl] gsl_eigen_symmv |
Date: |
Wed, 27 Feb 2008 09:47:44 +1100 |
Hi Mat,
I compiled it and ran it in my PC. I didn't get any segmentation fault. Are
those results OK?
Ralph.
Fedora 2.6.23.15-137.fc8
g++ (GCC) 4.1.2 20070925 (Red Hat 4.1.2-33)
IntelCore2Quad
GSL-1.10
$ g++ -static -W -Wall test.c -lgsl -lgslcblas -lm
$ ./a.out
eigenvalue = 9.67023e-05
eigenvector =
-0.0291933
0.328712
-0.791411
0.514553
eigenvalue = 0.00673827
eigenvector =
-0.179186
0.741918
-0.100228
-0.638283
eigenvalue = 0.169141
eigenvector =
0.582076
-0.370502
-0.509579
-0.514048
eigenvalue = 1.50021
eigenvector =
0.792608
0.451923
0.322416
0.252161
On Tue, Feb 26, 2008 at 6:49 AM, <address@hidden> wrote:
> 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
>
>
> _______________________________________________
> Help-gsl mailing list
> address@hidden
> http://lists.gnu.org/mailman/listinfo/help-gsl
>