help-gsl
[Top][All Lists]

## Re: [Help-gsl] Question about solving linear equation with GSL

 From: Leo Razoumov Subject: Re: [Help-gsl] Question about solving linear equation with GSL Date: Wed, 7 Jan 2009 04:10:37 -0500

On 1/6/09, Sheng Yu <address@hidden> wrote:
> Hi,
>
>  I'm new to GSL. I'm trying to solve equation Ax=b, using one of the
>  solvers in Linear Algebra pack.
>  A is a 914x914 matrix. It is symmetric and positive definite. I use
>  Cholesky Decomposition to decomposite A first and then
>  solve it. Here is the pseudo code:
>
>   const size_t N = 914;
>   gsl_matrix *A = gsl_matrix_alloc(N, N);
>   gsl_vector *b = gsl_vector_alloc(N);
>   gsl_vector *x = gsl_vector_alloc(N);
>
>   // code to initialize A and b
>
>   gsl_linalg_cholesky_decomp(A);
>   gsl_linalg_cholesky_solve(A, b, x);
>
>  It takes 0.25 seconds for the code to do Cholesky Decomposition and
>  solve. However, when I do it with Matlab with A\b, it only
>  takes 0.045 seonds (It even does not take advantage of the fact that A
>  is symmetric and positive definite). I'm wondering why
>  Matlab is much faster. Did I do something wrong?
>
>  Thank you!
>
>  Yu Sheng
>

Few Questions:
(1) What platform do you use (CPU type, Operation System, compiler, etc)?
(2) What optimization flags do you use to compile GSL and your code.
In the case of GCC "-O2" or "-O3" sould speed up things considerably.
Dropping "-g" could also help.