PyMaths
Python
SDL2
Object-oriented implementation of mathematical notions and data-structures complementary to Python
Github PyMaths
Source code

The libraries had in priority a simple syntax and an intuitive usage.

Vectors: arbitrary dimensions, value access by indices or letters, angles between two 2D vectors, etc...
Most operations implicitely supports using a vector with another vector, scalars, lists or matrices.

bool
abs
sum
ceil
floor
round
invert
str
a==b
-a
and
or
a%b
a*b
a+b
a-b
a/b
a//b
a**b
a[k]
a[k]=v
len
hash
repr
range
<
>
<=
>=
~a

Matrices: discriminants, inverse, Euler matrices (by vector or individual x;y;z axis), removing rows, removing columns, rotates a matrix with a given axis and angle (degrees or radians), indentities.

~a
-a
a/b
a**b
a-b
a+b
a*b
repr
str
a[k]=v
a[x,y]=v
a[k]
a[x,y]
range
abs
round
trunc
ceil
floor

Other data-structures written are binary trees, stacks, queue, transforms, linked lists.

Given the context of a code written in Python, the goal of this library was not sheer performance, but the ease of use and educative value it offers.
They have been used in educational settings, where the introduction of data structures is done in Python, but previously used archaic libraries.

Github

remifrancois5@gmail.com