LAPACK/CLAPACK超级无敌算法库

LAPACK是用Fortran编写的算法库,顾名思义,Linear Algebra PACKage,是为了解决通用的线性代数问题的。另外必须要提的算法包是BLAS(Basic Linear Algebra Subprograms),其实LAPACK底层是使用了BLAS库的。不少计算机厂商都提供了针对不同处理器进行了优化的BLAS/LAPACK算法包,例如IntelMKL(Math Kernel Library,很不幸是收费的)AMDACML等。在Matlabbin目录里可以发现MKLACML动态链接库的踪影,所以由此推断,Matlab底层应该也是使用了BLAS/LAPACK库的。CLAPACK使用f2c工具将LAPACK Fortran代码转换成C语言代码的C语言算法包。

这里有一篇如何配置使用的文章:http://hi.baidu.com/kaien_space/blog/item/dcb84b8b96347bd4fd1f1011.html 

按照上篇文章的配置方法,我在VS2005中导入了响应的头文件和静态链接库,运行第一个测试程序时,会遇到这样一个错误:error LNK2005: __invoke_watson 已经在 MSVCRTD.lib(MSVCR80D.dll) 中定义 。

解决方法:http://www.cnblogs.com/yanglp/archive/2010/12/9.html 该文章第一部分介绍的方式就可以搞定。

这就是我使用CLAPACK算法库的整个过程。 

posted on 2011-01-18 16:16  非常笑  阅读(4939)  评论(1编辑  收藏  举报

导航