安裝Armadillo 進行矩陣計算(Install Armadillo on Windows for Visual Studio)

來源:互聯網
上載者:User

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
請按任意鍵繼續. . .

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.