Python adds another big scientific computing library, pyarmadillo release based on armadillo matrix library

The heart of machine 2021-02-23 13:25:40
python adds big scientific computing

Machine heart release

Machine center editorial department

at present ,Python There are many scientific computing Libraries , The most famous ones are NumPy and SciPy. But in terms of algebraic operations and the use of Syntax , These libraries tend to be unnecessarily cumbersome , There's no way to intuitively manage the data types . So it will Armadillo As the bottom layer PyArmadillo It's based on this , Reshaping something like Matlab and Octave Simple and easy to use grammar . Besides , because pybind11 Its usage is relatively simple ,PyArmadillo take pybind11 Used to connect C++ And Python. The library has been officially released recently .

As C++ China and Eigen One of the largest scientific computing libraries in the world , Armadillo Because of its simple and easy-to-use features, it is popular among programmers and scientists , And I got it Facebook、NASA、Boeing、Siemens、Deutsche Bank、MIT、 CMU、Stanford And other companies and universities . Besides , Armadillo The lead author and Rcpp The lead authors of RcppArmadillo, As R The main scientific computing library in the language , stay Github Up to... Downloads per month 97.2 Ten thousand times . in addition to ,Armadillo And the famous open source machine learning library mlpack Is used as one of the main dependency Libraries , Got a high profile .

this PyArmadillo The development of the library takes time 2 Months , stay Armadillo The lead author Conrad Sanderson Under the guidance of , from Data61 I'm an intern at Queensland University of technology (QUT) Undergraduate Jason Rumengan And studying at the University of New South Wales (UNSW) Undergraduate Terry Yue Zhuo Development complete . among ,Terry suffer Conrad Invite to PyArmadillo China and Jason Jointly develop two types mat And cube, And the only Chinese .Jason Mainly responsible for mat Part and compilation Terry Is responsible for cube Parts as well as documentation and testing .

Project address :

To be specific ,PyArmadillo It's a Python The linear algebra Library of languages , Emphasis on ease of use . The library is designed to provide services similar to Matlab perhaps Octave The advanced grammar and function of , It enables users to express mathematical operations in a familiar and natural way .

PyArmadillo Also available for matrices and cubes (cube) The object of , as well as 200 Multiple correlation functions for processing data stored in objects . All functions can be accessed in a flat structure , And supports integers 、 Floating point and complex number . Through integration LAPACK perhaps Intel MKL、OpenBLAS And other high-performance alternative products , The library can provide various matrix factorizations .

Installation guide

PyArmadillo The specific use of the library is shown in the following figure :

install PyArmadillo The following requirements need to be met :

  • Greater than Python3.6, Recommended as 3.8 And above ;
  • Support at least C++ 11 The standard C++ compiler ;
  • At least 8G RAM;
  • 64-bit Of CPU, best 4 Supranuclear ;
  • Installed before installation OpenBLAS and LAPACK.

Currently supported operating systems :

  • Linux;
  • MacOS;
  • Window x64 (x86 Temporary does not support ).

At present PyArmadillo Only for MVP(minimum viable product), More functions are still being developed . If you encounter problems during use , You can communicate with them through the contact information of the authors on the official website or in GitLab Report to the warehouse of .

Author's brief introduction

Jason Rumengan, Queensland University of Technology Undergraduate in Information Technology . Research interest is in software development 、 Information security 、 network connections 、 Data analysis, etc .

Jason Rumengan Personal home page :

Conrad Sanderson by Armadillo Main authors of , Once received Yoshua Bengio Younger brother Samy Bengio Guide to postdoctoral (PostDoc) Research . stay Samy Bengio Among the few students ,Conrad It's the only one he's ever supervised PostDoc. later ,Conrad Come to the early stage for NICTA Now it's CSIRO Part of Data61 Act as a research scientist and conduct research , And from computer vision research to the development of open source Scientific Computing Library . stay Armadillo After great success ,Conrad Start with Debian and R One of the main developers of and Rcpp The lead author of Dirk Eddelbuettel Cooperation in RcppArmadillo Development of . My main research interest is machine learning 、AI、 pattern recognition 、 Computer vision 、 High performance numerical calculation, etc .

Conrad Sanderson Personal home page :

Chinese authors Terry Yue Zhuo Now University of New South Wales (UNSW) Computer science undergraduates , My main research interest is natural language processing (NLP)、AI And image processing, etc .

Terry Yue Zhuo Personal home page :

Related links :

PyArmadillo Official website :

PyArmadillo Technical report :

Armadillo Official website :

GitLab Open source address :

RcppArmadillo Official warehouse :

2021 year 2 The first week of the month , The heart of machine will join hands with more than 20 people AI Online live broadcast of famous guests , Through round table discussion 、 trend Talk, Report interpretation and case sharing , To pay attention to the development trend of artificial intelligence industry AI Human interpretation of the evolution trend of Technology , To explore the context of industrial development together . Seven days in a row , It's wonderful .

This article is from WeChat official account. - Almost Human (almosthuman2014)

The source and reprint of the original text are detailed in the text , If there is any infringement , Please contact the Delete .

Original publication time : 2021-02-04

Participation of this paper Tencent cloud media sharing plan , You are welcome to join us , share .

本文为[The heart of machine]所创,转载请带上原文链接,感谢

  1. Python notes: List
  2. Translation: practical Python Programming 02_ 03_ Formatting
  3. Python中的四种队列(queue)、堆(heap)
  4. Side effects of Python mutable types as default parameters of functions
  5. This is the best Python tutorial I've ever seen: ten minutes to get to know python
  6. 使用python编写量子线路打印的简单项目,并使用Sphinx自动化生成API文档
  7. Python happy enemy: crawler and anti crawler with a solution to give you New Year
  8. 使用python编写量子线路打印的简单项目,并使用Sphinx自动化生成API文档
  9. When writing python, you will encounter the following error: modulenotfounderror: no module named ' email.mime '; 'email' is not a package
  10. Python class call and private and public property method call
  11. Proprietary methods for Python classes
  12. Foundation of Python: number string and list
  13. Foundation of Python: number string and list
  14. Foundation of Python: number string and list
  15. 华为 Python网络自动化
  16. Python Cannot open E:\Python36\Scripts\
  17. Peeping into the future is not a dream, python data analysis is easy to achieve
  18. The practical skills summed up by Alibaba and Huawei Python engineers, only you haven't seen them yet?
  19. Sour! See the Python programmers on the tiktok get the pay slip...
  20. Foundation of Python: number string and list
  21. Python installation tutorial
  22. Python installation tutorial
  23. This article will familiarize you with the transformation process of Python - > Cafe - > om model
  24. Four kinds of queues and heaps in Python
  25. Using Python to write a simple project of quantum circuit printing, and using Sphinx to automatically generate API documents
  26. Using Python to write a simple project of quantum circuit printing, and using Sphinx to automatically generate API documents
  27. Huawei Python Network Automation
  28. Python Cannot open E:\Python36\Scripts\pip-
  29. 找不到Python问题解决
  30. PHP和Python哪个更有市场前景?我学的是PHP
  31. Python problem resolution not found
  32. Which has more market prospects, PHP or Python? I studied PHP
  33. Foundation of Python: number string and list
  34. python 编码问题之终极解决
  35. The ultimate solution to the problem of Python coding
  36. 能取值亦能赋值的Python切片
  37. Python slice with value and value
  38. 能取值亦能赋值的Python切片
  39. Python slice with value and value
  40. python 异常处理
  41. Python exception handling
  42. python 异常处理
  43. Python exception handling
  44. Orca: 基于DolphinDB的分布式pandas接口
  45. Orca: distributed panda interface based on dolphin DB
  46. 5个无聊Python程序,用Python整蛊你的朋友们吧
  47. Five boring Python programs, trick your friends with Python
  48. python进阶训练营
  49. Python advanced training camp
  50. 【免费】0基础也能轻松学的Python训练营来啦,限时抢位中!
  51. [free] Python training camp, which is easy to learn, is here. It's time to grab a place!
  52. 手把手教你把Python应用到实际开发 不再空谈语法
  53. 全面系统Python3.8入门+进阶 (程序员必备第二语言)
  54. Hand in hand to teach you how to apply Python to practical development
  55. Comprehensive system introduction to Python 3.8 + Advanced
  56. Python语言的排序算法有哪些?Python学习班!
  57. Python language sorting algorithm what? Python classes!
  58. Java、JavaScript、C、C++、PHP、Python都是用来开发什么?
  59. 为什么学习Python?什么途径学习Python合适?
  60. What are Java, JavaScript, C, C + +, PHP and python used to develop?