ubuntu安装armadillo说明
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说明相关推荐
- ubuntu 14.04 下安装Armadillo库 进行稀疏矩阵特征分解
图像处理中往往会遇到大型稀疏矩阵的特征值分解问题,如果采用一般的密集矩阵求解方法,对内存要求比较大.所以在稀疏矩阵的基础上进行特征值分解,更加合理.opencv2.49版本中还没有对稀疏矩阵的特征值分 ...
- Ubuntu安装MongoDB
https://jingyan.baidu.com/article/e5c39bf5f5ddd539d76033a9.html Ubuntu安装MongoDB4.0: https://www.jian ...
- ubuntu安装OpenCV详细教程(建议收藏)
记录一篇"如何安装ubuntu下C++接口的opencv"的文章.由于转载格式有问题,直接贴个链接:ubuntu安装opencv的正确方法 注意:本人根据此博客安装遇到的问题:2. ...
- 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 ...
- debian,ubuntu 安装mongodb 允许外网访问,修改端口,设置用户和密码
使用apt安装mongodb: apt update && apt install mongodb 查看运行状态: systemctl status mongodb.service 结 ...
- ubuntu安装KVM
ubuntu安装KVM 现在官网下载ubuntu镜像,桌面版或者服务端都可,这里以桌面端为例. 安装之前确保磁盘有足够大的空间(这很重要) 安装KVM sudo apt install qemu-kv ...
- 解决Ubuntu安装依赖问题
解决Ubuntu安装依赖问题 解决Ubuntu安装依赖问题 最主要问题,修改的国内镜像源可能不是对应的ubuntu版本,大部人直接找了个镜像源就复制到source.list里面了,其实需要对应版本的, ...
- Ubuntu安装Ceres库-安装依赖时报错:E:无法定位软件包 libcxsparse3.1.2_朱国鑫的博客-CSDN博客
Ubuntu安装Ceres库-安装依赖时报错:E:无法定位软件包 libcxsparse3.1.2_朱国鑫的博客-CSDN博客
- ubuntu 安装Pangolin 过程_余辉亮的学习笔记的博客-CSDN博客_pangolin安装
ubuntu 安装Pangolin 过程_余辉亮的学习笔记的博客-CSDN博客_pangolin安装
最新文章
- MySQL添加、删除字段
- 专注于网络安全的数据中心在莫斯科开通运营
- win10下的python3.5+ opencv安装攻略
- java-接口与多态-
- CentOS7 安装或迁移 wordpress(完整迁移)
- Android网络课程笔记-----本地音乐播放
- 浅谈javascript数值类型转换
- [转载]与索引相关的概念---聚簇因子
- 如何战胜软件开发的复杂性?
- 蓝桥杯 入门训练 Fibonacci数列 JAVA
- c++ set用法详解
- “二十一天好习惯”第一期-20
- 阿里云电脑无影云桌面收费标准(CPU内存/云盘/互联网访问带宽)
- 判断内存条参数信息 版本 频率,以及主板最大支持内存
- uniapp 收藏功能实现及组件封装
- java ifpresent_java – 正确使用Optional.ifPresent()
- 服务器ocs系统,ocs的部署与应用(一)
- JFreeChart 生成 蜘蛛网/刻度 雷达图
- 【Python核心】输入与输出
- 中小企业的规范化管理