?Python又添一大科学计算库,PyArmadillo发布

机器之心发布
机器之心编辑部
目前 , Python拥有众多科学计算库 , 最为著名的如NumPy和SciPy 。 但从代数运算以及使用语法来看 , 这些库往往会带来不必要的繁琐 , 没办法直观地管理其中的数据类型 。 因此将Armadillo作为底层的PyArmadillo库基于这一点 , 重新塑造了类似Matlab和Octave等简单易用的语法 。 此外 , 由于pybind11的用法相对简单 , PyArmadillo将pybind11用来连接C++与Python 。 该库已于近日正式发布 。
作为C++中与Eigen并驾齐驱的一大科学计算库 , Armadillo因其简单易用的特性深受广大程序员和科学家的喜爱 , 也获得了Facebook、NASA、Boeing、Siemens、DeutscheBank、MIT、CMU、Stanford等公司和高校的广泛使用 。 此外 , Armadillo的主作者和Rcpp的主作者联合开发了RcppArmadillo , 作为R语言中的主要科学计算库 , 在Github每月下载量高达97.2万次 。 除此以外 , Armadillo还在著名开源机器学习库mlpack中被用作主要的依赖库之一 , 获得了极高的知名度 。
此次PyArmadillo库的开发耗时2个月 , 在Armadillo主作者ConradSanderson的指导建议下 , 由Data61的实习生并在读于昆士兰科技大学(QUT)本科的JasonRumengan和在读于新南威尔士大学(UNSW)本科的TerryYueZhuo开发完成 。 其中 , Terry受Conrad邀请参与到PyArmadillo中与Jason共同开发两大类型mat与cube , 也是唯一一位华人 。 Jason主要负责mat部分以及编译方面而Terry则负责cube部分以及文档和测试 。
项目地址:https://github.com/terryyz/PyArmadillo
具体而言 , PyArmadillo是一个Python语言的线性代数库 , 强调易用性 。 该库旨在提供类似于Matlab或者Octave的高级语法和功能 , 使得用户以熟悉且自然的方式表达数学运算 。
PyArmadillo还提供了用于矩阵和多维数据集(cube)的对象 , 以及200多个用于处理对象中存储数据的相关函数 。 所有功能都可以在一个平面结构中访问 , 并且支持整数、浮点数和复数 。 通过集成LAPACK或者IntelMKL、OpenBLAS等高性能替代产品 , 该库可以提供各种矩阵分解 。
安装指南
PyArmadillo库的具体用例如下图所示:

?Python又添一大科学计算库,PyArmadillo发布
文章图片
安装PyArmadillo需要满足以下要求:大于Python3.6 , 推荐为3.8及以上;支持至少C++11标准的C++编译器;至少8GRAM;64-bit的CPU,最好4核以上;安装之前已安装好OpenBLAS和LAPACK 。目前支持的操作系统:
Linux;MacOS;Windowx64(x86暂不支持) 。当前PyArmadillo仅为MVP(minimumviableproduct) , 更多的功能还在开发当中 。 如果使用途中遇到问题 , 可以通过官网作者的联系方式与他们交流或者在GitLab的仓库内汇报 。
作者简介
JasonRumengan , 昆士兰科技大学信息技术本科生 。 研究兴趣在于软件开发、信息安全、网络连接、数据分析等 。
JasonRumengan个人主页:https://www.jasonrumengan.my.id
ConradSanderson为Armadillo的主要作者 , 曾受YoshuaBengio弟弟SamyBengio指导进入博士后(PostDoc)研究 。 在SamyBengio为数不多的学生之中 , Conrad是唯一一个他指导过的PostDoc 。 后来 , Conrad来到早期为NICTA而现今为CSIRO一部分的Data61担任研究科学进行研究 , 并且从计算机视觉研究过渡到开源科学计算库的开发工作 。 在Armadillo大获成功之后 , Conrad开始与Debian和R的主要开发人之一以及Rcpp的主作者DirkEddelbuettel合作进行RcppArmadillo的开发 。 主要研究兴趣在于机器学习、AI、模式识别、计算机视觉、高性能数值计算等 。
ConradSanderson个人主页:https://conradsanderson.id.au
华人作者TerryYueZhuo现为新南威尔士大学(UNSW)计算机科学本科生 , 主要研究兴趣在于自然语言处理(NLP)、AI和图像处理等 。
【?Python又添一大科学计算库,PyArmadillo发布】TerryYueZhuo个人主页:https://terryyz.github.io