Ubuntu21.10下安装使用Armadillo库

Ubuntu21.10下安装使用Armadillo库,第1张

文章目录

  • 一、前言


  • 二、下载安装文件


  • 三、编译与安装


  • 四、代码示例


  • 五、总结



一、前言

Armdillo class="superseo">class="superseo">矩阵运算速度跟 MATLAB 一个量级,为目前使用比较广的 C++ 矩阵运算库之一,是在 C++ 下使用 MATLAB 方式 *** 作矩阵很好的选择,许多 MATLAB 的矩阵 *** 作函数都可以找到对应,这对习惯了Matlab的人来说实在是非常方便,另外如果要将 MATLAB 下做研究的代码改写成 C++,使用 Armadillo 也会很方便,这里有一个简易的 MATLAB 到Armadillo 的语法转换。




二、下载安装文件

官网链接如下:http://arma.sourceforge.net/download.html


这里我下载的为稳定版 10.8.2 版本。




三、编译与安装

进入到 Downloads 目录,解压压缩文件:

cd ~/Downloads
tar -xvf armadillo-10.8.2.tar.xz

进入到解压后文件目录:

cd ./armadillo-10.8.2/

运行相关配置:

./configure

部分输出如下:

/home/zq/Downloads/armadillo-10.8.2> ./configure
-- *** set cmake policy CMP0025 to NEW
-- CMAKE_CXX_STANDARD = 11
-- The CXX compiler identification is GNU 11.2.0
-- The C compiler identification is GNU 11.2.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
				......
-- Generating '/home/zq/Downloads/armadillo-10.8.2/InstallFiles/ArmadilloConfigVersion.cmake'
-- Copying /home/zq/Downloads/armadillo-10.8.2/misc/ to /home/zq/Downloads/armadillo-10.8.2/tmp/misc/
-- Generating '/home/zq/Downloads/armadillo-10.8.2/tmp/misc/armadillo.pc'
-- Configuring done
-- Generating done
-- Build files have been written to: /home/zq/Downloads/armadillo-10.8.2

接着执行 make 命令:

make

输出如下:

接着执行安装:

sudo make install

部分输出如下:

/home/zq/Downloads/armadillo-10.8.2> sudo make install
[sudo] password for zq: 
[100%] Built target armadillo
Install the project...
-- Install configuration: ""
-- Up-to-date: /usr/include
-- Installing: /usr/include/armadillo_bits
-- Installing: /usr/include/armadillo_bits/op_diagvec_meat.hpp
-- Installing: /usr/include/armadillo_bits/injector_bones.hpp
					......
-- Installing: /usr/share/Armadillo/CMake/ArmadilloLibraryDepends.cmake
-- Installing: /usr/share/Armadillo/CMake/ArmadilloLibraryDepends-noconfig.cmake
-- Installing: /usr/share/Armadillo/CMake/ArmadilloConfig.cmake
-- Installing: /usr/share/Armadillo/CMake/ArmadilloConfigVersion.cmake
-- Installing: /usr/lib/x86_64-linux-gnu/pkgconfig/armadillo.pc


四、代码示例

一段使用 Armdillo 库的代码:

#include 
#include 

using namespace std;
using namespace arma;

int main()
{
  mat A(4, 5, fill::randu);
  mat B(4, 5, fill::randu);
  
  cout << A*B.t() << endl;
  
  return 0;
}

注意这里编译的时候不能直接 g++,不然会出现如下报错:

这里我们使用如下命令编译:

g++ test1.c -o test1 -std=c++11 -O2 -larmadillo

运行结果如下:



五、总结

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/571841.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-09
下一篇 2022-04-09

发表评论

登录后才能评论

评论列表(0条)

保存