1. armadillo说明

armadillo是目前使用比较广的C++矩阵运算库之一,相当于Matlab的C++替代库。许多Matlab的矩阵操作函数都可以找到对应,这对习惯了Matlab的人来说实在是非常方便,另外如果要将Matlab下做研究的代码改写成C++,使用Armadillo也会很方便。

armadillo特性如下:

  • Armadillo是一种用于C ++语言的高质量线性代数库(矩阵数学),旨在在速度和易用性之间取得良好的平衡

  • 提供类似于Matlab的高级语法和功能

  • 可用于直接在C ++中进行算法开发,或将研究代码快速转换为生产环境

  • 为向量,矩阵和立方体提供有效的类(一阶,二阶和三阶张量);支持密集和稀疏矩阵

  • 支持整数,浮点数和复数

  • 复杂的表达式评估器(基于模板元编程)可自动组合多个操作以提高速度和效率

  • 通过与LAPACK或其高性能替代产品之一(例如MKL或OpenBLAS)集成,可以提供各种矩阵分解(本征,SVD,QR等)

  • 可以自动使用OpenMP多线程(并行化)来加快计算量大的操作

  • 根据许可许可提供,对开放源代码和专有(封闭源)软件均有用

  • 可用于机器学习,模式识别,计算机视觉,信号处理,生物信息学,统计,金融等

2. Ubuntu装armadillo库

1.安装依赖库
Armadillo安装前需要先安装依赖库: OpenBLAS and LAPACK

执行命令:

sudo apt-get install libopenblas-dev
sudo apt-get install liblapack-dev
sudo apt-get install libarpack2-dev
sudo apt-get install libsuperlu-dev

2.下载Armadillo包,链接:https://sourceforge.net/projects/arma/files/armadillo-9.600.6.tar.xz/download

3.在Armadillo的安装目录打开终端执行:

cmake .
make

超级用户执行sudo make install

非超级用户执行make install DESTDIR=my_usr_dir,my_usr_dir这个目录是用来存储C++的头文件与源文件的。

到此,安装完成。

3. 测试程序

// test.cpp
#include <iostream>
#include <armadillo>using namespace std;
using namespace armaint main(int argc, char **argv)
{mat A = randu(4, 5);mat B = randu(4, 5);cout << A*trans(B) << endl;return 0;
}

4. 编译

g++ test.cpp -std=c++11 -larmadillo  -o test

5. 运行及结果

./test
//结果如下:
0.8635   0.6455   1.2309   0.3664
0.9823   0.7291   1.3008   0.7792
1.0882   1.0004   1.6399   0.6935
1.4101   0.9859   2.0146   0.7092

ubuntu安装armadillo说明相关推荐

  1. ubuntu 14.04 下安装Armadillo库 进行稀疏矩阵特征分解

    图像处理中往往会遇到大型稀疏矩阵的特征值分解问题,如果采用一般的密集矩阵求解方法,对内存要求比较大.所以在稀疏矩阵的基础上进行特征值分解,更加合理.opencv2.49版本中还没有对稀疏矩阵的特征值分 ...

  2. Ubuntu安装MongoDB

    https://jingyan.baidu.com/article/e5c39bf5f5ddd539d76033a9.html Ubuntu安装MongoDB4.0: https://www.jian ...

  3. ubuntu安装OpenCV详细教程(建议收藏)

    记录一篇"如何安装ubuntu下C++接口的opencv"的文章.由于转载格式有问题,直接贴个链接:ubuntu安装opencv的正确方法 注意:本人根据此博客安装遇到的问题:2. ...

  4. Linux/ubuntu 安装 redis 4.0报错解决:redis-server.service: Can't open PID file /var/run/redis/redis-server.

    此文首发于我的个人博客:Linux/ubuntu 安装 redis 4.0报错解决:redis-server.service: Can't open PID file /var/run/redis/r ...

  5. debian,ubuntu 安装mongodb 允许外网访问,修改端口,设置用户和密码

    使用apt安装mongodb: apt update && apt install mongodb 查看运行状态: systemctl status mongodb.service 结 ...

  6. ubuntu安装KVM

    ubuntu安装KVM 现在官网下载ubuntu镜像,桌面版或者服务端都可,这里以桌面端为例. 安装之前确保磁盘有足够大的空间(这很重要) 安装KVM sudo apt install qemu-kv ...

  7. 解决Ubuntu安装依赖问题

    解决Ubuntu安装依赖问题 解决Ubuntu安装依赖问题 最主要问题,修改的国内镜像源可能不是对应的ubuntu版本,大部人直接找了个镜像源就复制到source.list里面了,其实需要对应版本的, ...

  8. Ubuntu安装Ceres库-安装依赖时报错:E:无法定位软件包 libcxsparse3.1.2_朱国鑫的博客-CSDN博客

    Ubuntu安装Ceres库-安装依赖时报错:E:无法定位软件包 libcxsparse3.1.2_朱国鑫的博客-CSDN博客

  9. ubuntu 安装Pangolin 过程_余辉亮的学习笔记的博客-CSDN博客_pangolin安装

    ubuntu 安装Pangolin 过程_余辉亮的学习笔记的博客-CSDN博客_pangolin安装

最新文章

  1. MySQL添加、删除字段
  2. 专注于网络安全的数据中心在莫斯科开通运营
  3. win10下的python3.5+ opencv安装攻略
  4. java-接口与多态-
  5. CentOS7 安装或迁移 wordpress(完整迁移)
  6. Android网络课程笔记-----本地音乐播放
  7. 浅谈javascript数值类型转换
  8. [转载]与索引相关的概念---聚簇因子
  9. 如何战胜软件开发的复杂性?
  10. 蓝桥杯 入门训练 Fibonacci数列 JAVA
  11. c++ set用法详解
  12. “二十一天好习惯”第一期-20
  13. 阿里云电脑无影云桌面收费标准(CPU内存/云盘/互联网访问带宽)
  14. 判断内存条参数信息 版本 频率,以及主板最大支持内存
  15. uniapp 收藏功能实现及组件封装
  16. java ifpresent_java – 正确使用Optional.ifPresent()
  17. 服务器ocs系统,ocs的部署与应用(一)
  18. JFreeChart 生成 蜘蛛网/刻度 雷达图
  19. 【Python核心】输入与输出
  20. 中小企业的规范化管理

热门文章

  1. 回文日期(日期合法判断)
  2. 《图神经网络综述》Graph Neural Networks: A Review of Methods and Applications
  3. 文思海辉bg1到bg7_BG的完整形式是什么?
  4. 苏宁面试题,笔试题回顾
  5. 创意自画像及简单交互
  6. 随性而为_2015/08/21 周五 晴
  7. 如何从零打造爆款小程序
  8. 梅科尔工作室-杜涵宁-鸿蒙笔记4
  9. Unity 解决远距离模型闪烁(Z-Fighting )方案
  10. 智慧交通引领不一样的未来出行