您的位置:首页 > 其它

安装Armadillo 进行矩阵计算(Install Armadillo on Windows for Visual Studio)

2013-08-19 21:14 417 查看
Armadillo是一个C++开发的线性代数库,可以方便的把用 Matlab 开发的算法移植到 C++。只需要头文件就可以使用,也可以选用高效的 LAPACK 和 BLAS 进行加速。安装过程如下:
1、去
Download 下载 Source Code,解压到任意目录,比如 X:\Armadillo,将 \include 目录添加到 visual studio 包含文件目录中,VS2008 是在 “工具->选项->VC++目录->包含文件” 这里设置,其它版本类似。
2、修改 X:\Armadillo\include\armadillo_bits\config.hpp 文件,取消掉下面两行的注释
#define ARMA_USE_LAPACK

#define ARMA_USE_BLAS
取消注释表示使用 LAPACK 和 BLAS 进行更高效的计算,否则使用内建的函数进行计算,这样可能会带来一定性能的下降。
3、安装 LAPACK 和 BLAS,去http://icl.cs.utk.edu/lapack-for-windows/clapack/index.html 下载blas.lib,libf2c.lib,lapack.lib三个库,并在编译环境的额外依赖库中添加这三个库。(blasd.lib,libf2cd.lib,lapackd.lib
是 debug 版本的库,调试程序的时候可以使用)。同步骤 1 将存放 .lib 文件的路径添加到 visual studio 的库文件路径中。
4、在项目属性中的链接器中添加
blas.lib,libf2c.lib,lapack.lib
5、Okay,写个 Demo 测试一下
#include <iostream>
#include <armadillo>

int main()
{
arma::mat A = arma::randu<arma::mat>(4, 5) * 10;
arma::mat B = arma::randu<arma::mat>(4, 5) * 10;
arma::mat C = A % B;
A.print("A = \n");
B.print("B = \n");
C.print("A .* B = \n");
return 0;
}


运行结果:

A =
0.0125 5.8501 8.2284 7.1050 0.9140

5.6359 4.7987 7.4660 5.1353 3.6445

1.9330 3.5029 1.7411 3.0399 1.4731

8.0874 8.9596 8.5894 0.1498 1.6590

B =

9.8853 0.0891 6.0176 4.5079 7.8332

4.4569 3.7788 6.0717 3.5212 8.0261

1.1908 5.3166 1.6623 0.5704 5.1988

0.0467 5.7118 6.6305 6.0768 3.0195

A .* B =

0.1237 0.5213 49.5155 32.0286 7.1598

25.1186 18.1335 45.3313 18.0827 29.2511

2.3019 18.6237 2.8943 1.7340 7.6585

0.3776 51.1760 56.9518 0.9106 5.0093

请按任意键继续. . .
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐