​Python又添一大科学计算库,基于Armadillo矩阵库的PyArmadillo发布

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

  • 支持至少 C++ 11 标准的 C++ 编译器;

  • 至少 8G RAM;

  • 64-bit 的 CPU, 最好 4 核以上;

  • 安装之前已安装好 OpenBLAS 和 LAPACK。

目前支持的操作系统:
  • Linux;

  • MacOS;

  • Window x64 (x86 暂不支持)。

当前 PyArmadillo 仅为 MVP(minimum viable product),更多的功能还在开发当中。如果使用途中遇到问题,可以通过官网作者的联系方式与他们交流或者在 GitLab 的仓库内汇报。
作者简介
Jason Rumengan,昆士兰科技大学信息技术本科生。研究兴趣在于软件开发、信息安全、网络连接、数据分析等。
Jason Rumengan 个人主页:https://www.jasonrumengan.my.id
Conrad Sanderson 为 Armadillo 的主要作者,曾受 Yoshua Bengio 弟弟 Samy Bengio 指导进入博士后(PostDoc)研究。在 Samy Bengio 为数不多的学生之中,Conrad 是唯一一个他指导过的 PostDoc。后来,Conrad 来到早期为 NICTA 而现今为 CSIRO 一部分的 Data61 担任研究科学进行研究,并且从计算机视觉研究过渡到开源科学计算库的开发工作。在 Armadillo 大获成功之后,Conrad 开始与 Debian 和 R 的主要开发人之一以及 Rcpp 的主作者 Dirk Eddelbuettel 合作进行 RcppArmadillo 的开发。主要研究兴趣在于机器学习、AI、模式识别、计算机视觉、高性能数值计算等。
Conrad Sanderson 个人主页:https://conradsanderson.id.au
华人作者 Terry Yue Zhuo 现为新南威尔士大学(UNSW)计算机科学本科生,主要研究兴趣在于自然语言处理(NLP)、AI 和图像处理等。
Terry Yue Zhuo 个人主页:https://terryyz.github.io
相关链接:
PyArmadillo 官网:https://pyarma.sourceforge.io
PyArmadillo 技术报告:https://pyarma.sourceforge.io/pyarmadillo_tech_report_2021.pdf
Armadillo 官网:http://arma.sourceforge.net
GitLab 开源地址:https://gitlab.com/jason-rumengan/pyarma
RcppArmadillo 官方仓库:https://github.com/RcppCore/RcppArmadillo
(0)

相关推荐

  • Python-EEG工具库MNE-Python详细安装与使用

    更多技术,第一时间送达 主要内容如下: 安装Python(推荐安装Anaconda) 安装MNE-python 下载MNE-Python中案例数据 测试是否安装成功以及简单使用 1.安装Python( ...

  • Python|线代矩阵问题

    问题描述 Python中含有丰富的库提供我们使用,学习数学分支线性代数时,矩阵问题是核心问题.Numpy库通常用于python中执行数值计算,并且对于矩阵操作做了特殊的优化,numpy库通过向量化避免 ...

  • Python之joblib:joblib库的简介、安装、使用方法之详细攻略

    Python之joblib:joblib库的简介.安装.使用方法之详细攻略 joblib库的简介 Joblib是一组在Python中提供轻量级管道的工具.特别是: 函数的透明磁盘缓存和延迟重新计算(记 ...

  • Py之cvxopt:cvxopt库的简介、安装、使用方法之详细攻略

    Py之cvxopt:cvxopt库的简介.安装.使用方法之详细攻略 cvxopt库的简介 CVXOPT是一个基于Python编程语言的凸优化的免费软件包.它可以与交互式Python解释器一起使用,也可 ...

  • 代码审计工具汇总

    女装只有一次与无数次 --著名女装学家  阿~浪 趁着放假,还没什么活,抓紧学,娘的,怎么越学越菜 可以收藏,CSDN要我43积分,有点贵了.来源于CSDN哦 代码阅读IDE  集成开发环境(IDE. ...

  • Python常用科学计算库有哪些?

    大家都知道,编程语言有很多,其中包括Python.Java.PHP等.对比其他编程语言来讲,Python具有非常独特的优势,它拥有很多第三方库,可应用于各大领域,比如人工智能.科学计算.那么Pytho ...

  • 3段极简代码带你入门Python科学计算库SciPy

    大数据DT 提供大数据.AI等领域干货学习资源的「宝藏号」,跟50万技术人共同成长,一起玩转大数据.Python.数据分析.数据科学.人工智能!还会有各种好玩又奇葩的数据解读,边学习边吃瓜! 510篇 ...

  • 【Python科学计算】使用NumPy水平组合数组和垂直组合数组

    【Python科学计算】使用NumPy水平组合数组和垂直组合数组

  • 三天搞定Python基本功,Day 2科学计算篇

    很多朋友给我留言说为什么没有更新了.实在抱歉,这几天确实有点焦头烂额,晚上回家很累就直接睡了.终于今天忙完,所以今天更新第二篇. 这些课件我参考了很多的资料,有网上资源,也有一些教材,然后自己整理出来 ...

  • Python科学计算之简单环境搭建

    这个是对于Python做科学计算,一张相对完整的思维导图 在以前的科学计算是没有conda的地位的,都是这个python(x,y)的项目 你可以尝试的使用,我这里就是一个推荐 https://pyth ...

  • Python科学计算之ufunc操作上

    http://www.bizhi88.com/bizhi/102085.html ufunc是universal function的缩写,它是一种能对数组的每个元素进行操作的函数.NumPy内置的许 ...

  • 篮彩技巧:科学计算大小分

    预设总分数的计算其实并不复杂,实际上就是主客两队得分能力之和.例如,洛杉矶快船场均得98.6分.失96.6分,总分数为195.2,爵士场均得96.8分,失95.6分,总分数为192.4,那么两队交锋的 ...

  • 算出基础代谢,减肥事半功倍!一个公式教你科学计算基础代谢!

    算出基础代谢,减肥事半功倍!一个公式教你科学计算基础代谢!

  • 通过科学计算表明 旋转的黑洞可以被潮汐力所变形

    据巴黎天文台和巴西物理研究中心的新计算,一些旋转的双体黑洞在合并时可以发生潮汐变形. 研究人员表示,超大质量黑洞会在恒星质量的天体以螺旋的方式进行合并时潮汐性地膨胀. 这些结果为今后测量这种黑洞合并所 ...