[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: |
Steven Vancoillie |
Subject: |
Re: [Help-gsl] Question about solving linear equation with GSL |
Date: |
Tue, 6 Jan 2009 23:22:14 +0100 |
User-agent: |
KMail/1.9.9 |
On Tuesday 06 January 2009 22:25:17 Sheng Yu 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?
>
I don't think GSL is meant to be the fastest code out there, so this is not
really an issue.
As long as you get the same results from GSL or matlab I don't think you're
doing anything wrong.
If you're looking for speed, you should turn to some optimized linear algebra
routine like e.g. LAPACK.
grtz
Steven
signature.asc
Description: This is a digitally signed message part.