While the Python language has extension frameworks such as NumPy and SciPy for providing functionality involving numerical arrays and scientific computing, these frameworks can be cumbersome to use in contrast to the well-established Matlab language. The issues include: a focus on operations involving multi-dimensional arrays rather than matrices, nested organisation of functions which increases code verbosity (leading to reduced user productivity), and syntax that significantly differs from Matlab. To address these shortcomings, we propose PyArmadillo, a streamlined linear algebra library for Python, with an emphasis on ease of use. PyArmadillo aims to provide a high-level syntax and functionality deliberately similar to Matlab/Octave, allowing mathematical operations to be expressed in a familiar and natural manner. Objects for matrices and cubes are provided, as well as over 200 associated functions for manipulating data stored in the objects. Integer, floating point and complex numbers are supported. Various matrix factorisations are provided through integration with LAPACK, or one of its high performance drop-in replacements such as Intel MKL or OpenBLAS. PyArmadillo is open-source software, distributed under the Apache 2.0 license; it can be obtained at https://pyarma.sourceforge.io or via the Python Package Index in precompiled form.
翻译:Python 语言具有扩展框架, 如 NumPy 和 SciPy 等扩展框架, 以提供涉及数字阵列和科学计算功能的功能, 这些框架的使用可能很繁琐, 与成熟的Matlab 语言相对, 其内容包括: 侧重于涉及多维阵列而不是矩阵的操作, 嵌套式组织功能, 增加代码动词变异性( 导致用户生产率下降), 以及与 Matlab 有很大差异的语法。 为了解决这些缺陷, 我们提议 PyArmadillo 和 SciPy 等为 Python 简化的线性向代数库, 重点是便于使用。 PyArmadillo 的目的是提供一种与 Matlab/ Octave 有意相似的高级语法和功能, 允许以熟悉和自然的方式表达数学动作。 提供了矩阵和立方体的物件, 以及管理对象中存储数据的200多个相关功能。 支持 Integer、 浮动点和复杂数字。 各种矩阵化因数是通过LACK 整合而提供,, 或通过 Plasmasl Exlievol 得到的 Plial-forl 。