Windows下使用GSL(GNU Scientific Library)

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 cholesky
int 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;
}




评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值