[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
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.
(3) Is your matrix sparse?
--Leo--