Armadillo 是一种基于C++语言的高质量线性代数库 (矩阵数学),旨在在速度和易用性之间实现良好的平衡;
提供类似于Matlab的高级语法和功能;
可用于直接在C++中开发算法,或将研究代码快速转换到生产环境(如软件和硬件产品);
为矢量、矩阵和多维数据集(第一阶、二阶和三阶张量)提供高效的类,支持密集和稀疏矩阵;
支持整数、浮点和复数;
通过与LAPACK集成来提供各种矩阵分解或其高性能替换(例如多线程Intel MKL或OpenBLAS);
复杂的表达式评估器(基于模板元编程)自动组合多个操作以提高速度和效率;
可以自动使用 OpenMP 多线程(并行化)来加速计算高成本的操作;
在许可下可使用,适用于开源和专有(非源代码)软件;
可用于机器学习、模式识别、计算机视觉、信号处理、生物信息学、统计学、金融等。
Armadillo采用的许可是 Apache License 2.0,不具有GPL许可的感染性。
对于Apache License 与GPL之间的关系,官方文档中解释“The Apache license and the GPL are completely separate and distinct licenses. Unlike the GPL, the Apache license does not "infect" your source code. See also the comparison of open-source software licenses on Wikipedia.
”