Windows下使用GSL(GNU Scientific Library)

来源:互联网 发布:数据保密性指的是() 编辑:程序博客网 时间:2024/05/02 06:11

GSL的主页:http://www.gnu.org/software/gsl/,非windows版本的下载地址:ftp://ftp.gnu.org/gnu/gsl/

如题说说想在windows下使用GSL,有多种办法,这里只说说我试过并且成功的:


第一种:

安装 Cygwin,主页是:http://www.cygwin.com/。提供类linux环境并且自带GSL。


第二种:
1.下载windows版本的GSL。
GSL1.4下载:http://www6.in.tum.de/~kiss/WinGsl.htm
GSL多个版本下载(最高1.8):http://sourceforge.net/projects/gnuwin32/files/gsl/
GSL 1.13 for Windows下载:http://david.geldreich.free.fr/dev.html


2.安装GSL。假设安装位置在F:\Program Files\GnuWin32,则在VS中“工具”->“选项”->“项目和解决方案”->“VC++目录”中设置:“可执行文件”目录添加F:\Program Files\GnuWin32\bin;“包含文件”目录添加F:\Program Files\GnuWin32\include;库文件目录添加F:\Program Files\GnuWin32\lib即可。


3.最后来个例子:
#include <stdio.h>#include <gsl/gsl_linalg.h>#pragma comment(lib, "libgsl.a")#pragma comment(lib, "libgslcblas.a")////////////////////////////////////////////////////////////// Solve Ax = b with LU and choleskyint main(int argc, char **argv){printf("=========== tst2 ===========\n");double a_data[] = { 2,1,1,3,2,1,2,2,1,1,1,2,9,1,5,3,1,1,7,1,2,1,5,1,8 };double b_data[] = { -2,4,3,-5,1 };gsl_vector *x = gsl_vector_alloc (5);gsl_permutation * p = gsl_permutation_alloc (5);gsl_matrix_view m = gsl_matrix_view_array(a_data, 5, 5);gsl_vector_view b= gsl_vector_view_array(b_data, 5);int s;gsl_linalg_LU_decomp (&m.matrix, p, &s);gsl_linalg_LU_solve (&m.matrix, p, &b.vector, x);printf ("x = \n");gsl_vector_fprintf(stdout, x, "%g");double a2_data[] = { 2,1,1,3,2,1,2,2,1,1,1,2,9,1,5,3,1,1,7,1,2,1,5,1,8 };double b2_data[] = { -2,4,3,-5,1 };gsl_matrix_view m2 = gsl_matrix_view_array(a2_data, 5, 5);gsl_vector_view b2 = gsl_vector_view_array(b2_data, 5);gsl_linalg_cholesky_decomp(&m2.matrix);gsl_linalg_cholesky_solve(&m2.matrix, &b2.vector, x);printf ("x = \n");gsl_vector_fprintf(stdout, x, "%g");gsl_permutation_free (p);gsl_vector_free(x);return 0;}



参考1:http://blog.sina.com.cn/s/blog_721fcbfe0100nqq1.html
参考2:http://blog.csdn.net/flyingworm_eley/article/details/6517727