Armadillo(线性代数库)
v9.600.5 官方版- 软件大小:6.60 MB
- 更新日期:2019-10-15 15:44
- 软件语言:简体中文
- 软件类别:编程工具
- 软件授权:免费版
- 软件官网:待审核
- 适用平台:WinXP, Win7, Win8, Win10, WinAll
- 软件厂商:
软件介绍 人气软件 下载地址
Armadillo是用于C ++语言的高质量线性代数库(矩阵数学),旨在在速度和易用性之间取得良好的平衡,提供类似于Matlab 的高级语法和功能,可用于直接在C ++中进行算法开发,或将研究代码快速转换为生产环境(例如,软件和硬件产品),能够为向量、矩阵和立方体提供有效的类(一阶,二阶和三阶张量),支持密集和稀疏矩阵,并支持整数、浮点数和复数。其通过与LAPACK或其高性能替代产品之一集成(例如,多线程Intel MKL或OpenBLAS),可以提供各种矩阵分解。其还具有复杂的表达式评估器(基于模板元编程)可自动组合多个操作以提高速度和效率,可以自动使用OpenMP多线程(并行化)来加快计算量大的操作,根据许可许可提供,对开放源代码和专有(封闭源)软件均有用,可用于机器学习,模式识别,计算机视觉,信号处理,生物信息学,统计,金融等方面。
软件功能
Armadillo是一个全面的,基于模板的C ++线性代数库,为LAPACK和ATLAS库设计了替代接口。
该工具的创建旨在提供速度和易用性,以及类似于Matlab的熟悉语法(或API)。
Armadillo允许您编写各种类型的数学函数的脚本,这些函数可以集成到组件或应用程序中。它可以帮助您开发机器学习中的算法,处理信号,生成统计信息甚至识别模式。
它可以方便地用于生物信息学,统计学或其他科学研究,并为您提供向量,矩阵,立方体函数类。
它可以处理多种类型的数字,例如整数,浮点数或复数,以及三角函数。
Armadillo与LAPACK或其他类似工具很好地集成在一起,使您可以继承和扩展其功能。它允许您创建用于求解线性方程式和矩阵的例程或分解矩阵。
Armadillo是一个C ++矩阵库,捆绑了LAPACK和ATLAS库的接口,还提供统计功能并支持复数。
软件特色
通过与库集成,例如英特尔MKL,AMD ACML或某些版本的BLAS,可以提供类似的代数解决方案。
该工具为您提供了一个自动表达式评估器,您可以通过特定模板访问该评估器,并使用它来组合多种算法。
它允许您通过同时执行多个操作来提高编译效率和编译速度。
Armadillo可以与一种受支持的开发环境(例如C ++或Visual C ++)以及GCC,Intel pr MSVC C ++编译器一起使用。
此外,该工具还具有详细的文档,可让您习惯于生成的语法和功能。
Armadillo还随附模板和示例,旨在帮助您开始定义函数或算法。
安装方法
Armadillo是一个C++开发的线性代数库,比如在vs2010上安装的具体步骤如下:
1、下载解压后把其中的include文件夹完整拷贝出来,放到某处,我放在了D:\Armadillo里;
2、修改D:\Armadillo\include\armadillo_bits\config.hpp,将
#define ARMA_USE_LAPACK
#define ARMA_USE_BLAS
这两句取消注释。表示使用这两个库。
3、安装lapack和blas。实际上第一步中下载的压缩包里自带了这两个库,但是在vs2010中用这两个库会出现卡死现象,其他编译环境没有测试。可以去下载blas.lib,libf2c.lib,lapack.lib三个库,并在编译环境的额外依赖库中添加这三个库。(linker-> input-> additional dependencies)
4、在编译器的include目录中添加include文件夹的路径以及第三步中三个库文件所在位置。如图:
5、使用代码如下:
常见问题
我可以在没有LAPACK和BLAS的情况下使用Armadillo吗?
基本功能将可用(例如矩阵加法和乘法),但本征分解之类的功能将不可用。矩阵乘法(主要用于大型矩阵)可能不那么快。
我在哪里可以获得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安装程序应该确定它们在您的系统上可用。否则,您可以直接与此类库链接-请参阅先前问题的答案。
如何将Armadillo与在非标准位置安装的OpenBLAS一起使用?
打开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格式存储稀疏矩阵
添加randperm()以生成具有整数序列的随机排列的向量
人气软件
-
redis desktop manager2020.1中文 32.52 MB
/简体中文 -
s7 200 smart编程软件 187 MB
/简体中文 -
GX Works 2(三菱PLC编程软件) 487 MB
/简体中文 -
CIMCO Edit V8中文 248 MB
/简体中文 -
JetBrains DataGrip 353 MB
/英文 -
Dev C++下载 (TDM-GCC) 83.52 MB
/简体中文 -
TouchWin编辑工具(信捷触摸屏编程软件) 55.69 MB
/简体中文 -
信捷PLC编程工具软件 14.4 MB
/简体中文 -
TLauncher(Minecraft游戏启动器) 16.95 MB
/英文 -
Ardublock中文版(Arduino图形化编程软件) 2.65 MB
/简体中文