

创建该工具的目的是提供速度和易用性,以及类似于Matlab 的熟悉语法(或API)。
Armadillo 允许您编写可以集成到组件或应用程序中的各种类型的数学函数的脚本。它可以帮助您开发机器学习算法、处理信号、生成统计数据甚至识别模式。
它可以轻松地用于生物信息学、统计学或其他科学研究,并为您提供向量、矩阵、三次函数类。
它可以处理多种类型的数字,例如整数、浮点或复数,以及三角函数。
Armadillo 与LAPACK 或其他类似工具集成良好,允许您继承和扩展其功能。它允许您创建求解线性方程和矩阵或因式分解矩阵的例程。
Armadillo 是一个C++ 矩阵库,它捆绑了LAPACK 和ATLAS 库的接口,还提供统计函数并支持复数。
软件特色
通过与Intel MKL、AMD ACML 或某些版本的BLAS 等库集成,可以提供类似的代数解决方案。
该工具为您提供了一个自动表达式评估器,您可以通过特定模板访问该评估器并使用它来组合多种算法。
它允许您通过同时执行多个操作来提高编译效率和速度。
Armadillo 可以与受支持的开发环境之一一起使用,例如C++ 或Visual C++ 以及GCC、Intel 或MSVC C++ 编译器。
此外,该工具还提供详细的文档,可帮助您熟悉生成的语法和功能。
Armadillo 还附带了模板和示例,旨在帮助您开始定义函数或算法。
安装方法
Armadillo 是一个用C++ 开发的线性代数库。以vs2010上安装为例,具体步骤如下:
1.下载并解压后,复制整个include文件夹并将其放在某处。我把它放在D:\Armadillo中;
2.修改D:\Armadillo\include\armadillo_bits\config.hpp并更改
#定义ARMA_USE_LAPACK
#定义ARMA_USE_BLAS
取消这两句话的注释。表示这两个库的使用。
3.安装lapack和blas。其实第一步下载的压缩包自带了这两个库,但是在vs2010中使用这两个库时,会出现卡顿的现象,其他编译环境没有测试过。您可以下载三个库:blas.lib、libf2c.lib、lapack.lib,并将这三个库添加到编译环境的附加依赖库中。 (链接器-输入-附加依赖项)
4、将include文件夹的路径和第三步中的三个库文件的位置添加到编译器的include目录中。如图所示:
5.使用代码如下:
常见问题
我可以在没有LAPACK 和BLAS 的情况下使用犰狳吗?
基本函数将可用(例如矩阵加法和乘法),但特征分解等函数将不可用。矩阵乘法(主要针对大矩阵)可能没那么快。
从哪里可以获得LAPACK、BLAS 等?
对于基于Linux 的系统(例如Fedora 和Ubuntu),可以使用预构建的OpenBLAS、LAPACK、BLAS 和ATLAS 软件包。您需要在安装Armadillo 之前明确安装它们。确保还安装了相关的开发包(包括头文件)。
macOS 附带了Accelerate 框架,它是BLAS 和LAPACK 的优化实现。默认情况下,CMake 安装程序可以使用Accelerate 框架。
对于Windows 系统,Armadillo 附带预编译的64 位版本的标准LAPACK 和BLAS。请参阅下载页面了解更多信息。
我可以使用高速LAPACK 和BLAS 替代方案(例如OpenBLAS、MKL)吗?
是的。 CMake 安装程序应确定它们在您的系统上可用。否则,您可以直接链接到这样的库- 请参阅上一个问题的答案。
如何在非标准位置安装OpenBLAS 的情况下使用Armadillo?
解压Armadillo tar.xz 存档,不要使用CMake 安装程序安装它。
使用以下命令编译程序:
g++ prog.cpp -o prog -O2 -I /home/blah/armadillo-7.600.2/include -DARMA_DONT_USE_WRAPPER -L /home/blah/OpenBLAS-0.3.5 -lopenblas
将/home/blah 替换为您的主目录名称
将/home/blah/OpenBLAS-0.3.5 替换为包含OpenBLAS 库的目录名称
您可能还需要告诉系统链接器在哪里可以找到OpenBLAS 库(例如,通过修改Linux 中的LD_LIBRARY_PATH 环境变量)
更新日志
通过vectorise() 更快地处理立方体
行驶速度index_min()和index_max()
扩展join_rows() 和join_cols() 可处理最多4 个矩阵的连接
.save() 和.load() 已扩展为允许稀疏矩阵以CSV 格式存储
关于本次Armadillo下载 Armadillo(v1.19.11)最新版和小编亲测优质的APP的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。

-
DNF手游:平民买导师套还是等夏日套? 2025-01-30
-
【DNF】手游:突破300限制、四大摸金方法、狂赚泰拉、 2025-01-30
-
做超声检查时,医生为什么要在患者肚子上涂粘粘的东西 2025-01-30
-
妄想山海怎么加好友 加好友方法大全 2025-01-30
-
绯红之境兑换码最新2021 礼包兑换码大全 2025-01-30
-
小米mix fold有前置摄像头吗 2025-01-30
用户评论
终于把Armadaillo下载下来了,准备跟着教程学习一下。
有14位网友表示赞同!
听说Armadillo用的比较广泛,想试试看。
有9位网友表示赞同!
最近在研究数据分析,Armadillo应该很有用吧?
有14位网友表示赞同!
v1.19.11这个版本新功能会不会很多捏?
有17位网友表示赞同!
下载下来之后需要安装吗?还是直接就能用?
有20位网友表示赞同!
有没有哪个网站推荐下载,比较安全可靠的 ?
有10位网友表示赞同!
Armadillo官方网站上应该有详细的使用文档吧。
有13位网友表示赞同!
不知道Armadillo学起来会不会太难,希望能顺利上手!
有10位网友表示赞同!
最近在学习机器学习,想知道这块工具会不会常用到的。
有20位网友表示赞同!
Armadillo支持哪些编程语言啊?
有7位网友表示赞同!
看介绍 Armadillo 是个高性能的线性代数库吧?挺期待的。
有15位网友表示赞同!
我已经用过其他类似的库了,来对比一下Armadillo怎么样?
有19位网友表示赞同!
学习一个新的工具总觉得很有成就感!
有11位网友表示赞同!
刚开始学编程,这个好像很基础的吧?先试试看。
有18位网友表示赞同!
朋友推荐我下载这个,说挺好用的。
有6位网友表示赞同!
看到最新版本了,说明这软件还在发展呢?
有15位网友表示赞同!
不知道Armadillo有什么特色功能,想了解一下。
有5位网友表示赞同!
之前写代码的时候遇到过一些线性代数运算,估计Armadillo能帮到我!
有20位网友表示赞同!
感觉Armadillo能提高编程效率,值得尝试。
有9位网友表示赞同!