On 1/6/09, Sheng Yu <[email protected]> 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-- _______________________________________________ Help-gsl mailing list [email protected] http://lists.gnu.org/mailman/listinfo/help-gsl
