Armadillo是一款专业的线性代数库软件。最好用的线性代数库工具Armadillo。这是用于C ++语言的高质量线性代数库(矩阵数学),旨在在速度和易用性之间取得良好的平衡,提供类似于Matlab的高级语法和功能,可以直接在C ++算法开发中使用,也可以快速使用将研究代码转换为生产环境(例如,软件和硬件产品),可以为矢量,矩阵和立方体提供有效的类(一阶,二阶和三阶张量),并支持密集和稀疏矩阵,并且支持整数,浮点数和复数。通过与LAPACK或其高性能替代产品之一(例如,多线程Intel MKL或OpenBLAS)集成,它可以提供各种矩阵分解。它还具有一个复杂的表达式评估器(基于模板元编程),可以自动组合多个操作以提高速度和效率,并且可以自动使用OpenMP多线程(并行化)来加速在许可下提供的计算密集型操作,这很有用。适用于开放源代码和专有(封闭源)软件,并且可以用于机器学习,模式识别,计算机视觉,信号处理,生物信息学,统计,财务等。
软件功能:
Armadillo是一个全面的,基于模板的C ++线性代数库,可为LAPACK和ATLAS库设计替代接口。
该工具的创建旨在提供速度和易用性,以及类似于Matlab的熟悉语法(或API)。
Armadillo允许您编写各种类型的数学函数的脚本,这些脚本可以集成到组件或应用程序中。它可以帮助您开发机器学习算法,处理信号,生成统计信息,甚至识别模式。
它可以方便地用于生物信息学,统计学或其他科学研究,并为您提供向量,矩阵和多维数据集函数类。
它可以处理许多类型的数字,例如整数,浮点数或复数以及三角函数。
Armadillo与LAPACK或其他类似工具很好地集成在一起,使您可以继承和扩展其功能。它允许您创建用于求解线性方程式和矩阵的例程或分解矩阵。
Armadillo是一个C ++矩阵库,捆绑了LAPACK和ATLAS库的接口。它还提供统计功能并支持复数。
安装方法:
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.使用代码如下:
软件功能:
通过与诸如Intel MKL,AMD ACML或某些版本的BLAS的库集成,可以提供类似的代数解决方案。
该工具为您提供了一个自动表达式评估器,您可以通过特定模板访问该评估器,并使用它来组合多种算法。
通过同时执行多个操作,可以提高编译效率和编译速度。
Armadillo可以与受支持的开发环境(例如C ++或Visual C ++)和GCC,Intel pr MSVC C ++编译器一起使用。
此外,该工具还具有详细的文档,可让您习惯于生成的语法和函数。
Armadillo还附带了模板和示例,旨在帮助您开始定义函数或算法。
常见问题:
我可以在没有LAPACK和BLAS的情况下使用犰狳吗?
基本功能将可用(例如矩阵加法和乘法),但是本征分解等功能将不可用。矩阵乘法(主要用于大型矩阵)可能不会那么快。
在哪里可以获得LAPACK,BLAS等?
对于基于Linux的系统(例如Fedora和Ubuntu),您可以使用预构建的OpenBLAS
,LAPACK,BLAS和ATLAS软件包。您需要在安装Armadillo之前显式安装它们。确保您还安装了相关的开发包(包括头文件)。
MacOS附带了Accelerate框架,该框架是BLAS和LAPACK的优化实现。默认情况下,CMake安装程序可以使用Accelerate框架。
对于Windows系统,Armadillo带有标准LAPACK和BLAS的预编译64位版本。有关更多信息,请参见下载页面。
我可以使用高速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环境变量)