Skip to content

Conversation

@few
Copy link
Contributor

@few few commented Oct 12, 2024

As a first step for #364, I have created some scripts and data files.

linear_magmas/list_restrictions.py reads all equations, inserts x ◇ y = a*x + b*y as the operation, expands the equation assuming that a and b don't commute, and computes the coefficient of each variable in the equation. The result is written to data/linear_magma_restrictions.txt.

Example:

Equation101 x = x ◇ ((x ◇ y) ◇ x) 
-> (a*x + b*(a*(a*x + b*y) + b*x)) -(x)
-> a*x + b*a*b*y + b*a**2*x + b**2*x - x
-> [b*a*b, -1 + a + b*a**2 + b**2]

linear_magmas/reduce.py then uses this list and calls Singular to compute a Gröbner basis for each set of restrictions. This is done once assuming commutativity and once without.

The restrictions for Equation101 then become: [ab+b**2+a-1, a**2-b**2-2a+1, b**3-b**2-a-b+1] and [ab+b**2+a-1, a**2-b**2-2a+1, b**3+ab-b]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant