PyArmadillo

PyArmadillo: an alternative approach to linear algebra in Python

PyArmadillo is a linear algebra library for the Python language, with an emphasis on ease of use. It 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. PyArmadillo provides objects for matrices and cubes, as well as over 200 associated functions for manipulating data stored in the objects. All functions are accessible in one flat structure. 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.

While frameworks such as NumPy and SciPy are available for Python, they tend to be unnecessarily verbose and cumbersome to use from a linear algebra point of view. These frameworks require users to handle data types that are not immediately intuitive, have a structure that complicates the use of common functions, and use syntax that considerably differs from Matlab.

This library is co-led by Jason Rumengan, me and Conrad Sanderson.

Why do we choose Gitlab as our codebase?

  • We choose GitLab, as Microsoft has acquired GitHub.
  • Microsoft is a nefarious entity with a long and consistent history of unconscionable & unethical behaviour.
  • I still consider Github as a lovely community and hence will update the code package here when the new version comes ?

Main site:
pyarma.sourceforge.io

Citation:
pyarma.sourceforge.io/pyarmadillo_tech_report_2021.pdf

Git repo at GitLab:
gitlab.com/jason-rumengan/pyarma

Releases:
pyarma.sourceforge.io/download.html

API Documentation:
pyarma.sourceforge.io/docs.html

GitHub

https://github.com/terryyz/PyArmadillo