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

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 
#include 

int main()
{
	arma::mat A = arma::randu(4, 5) * 10;
	arma::mat B = arma::randu(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
请按任意键继续. . .

你可能感兴趣的:(科学计算,C/C++,矩阵计算)