Open tdupu opened 1 month ago
So I think I was misunderstanding what a G-algebra is.
https://sheaves.github.io/Noncommutative-Sage/
I suppose they are related to (equal to?) Birkoff-Witt rings where the relations are quadratic. Also see Green. I'm not sure why Sage has both of these.
I think there are essentially two issues:
1) I am complaining about the monomial functionality in FreeAlgebra. This doesn't exist and it prevents anyone from implementing any of the Groebner basis algorithms. (I could also be making a stupid mistake here and not know what to call for this. If that is the case, it isn't documented well.)
2) The function "is_commutative" in this g_algebra thing is still broken even if I don't know what a g_algebra is.
Yes, there is no way for a $g$-algebra to have two generators be free. It is part of the definition as they are a generalization of the PBW basis of a Lie algebra's universal enveloping algebra.
That being said, yes, the is_commutative()
check should be refined. Generically it is true, but this is a special case that is not typically performed. +1 to adding a check that there are no "relations."
Steps To Reproduce
Here is the version. I'm running it on cocalc. 'SageMath version 10.3, Release Date: 2024-03-19'
Expected Behavior
Well, This is suppose to be a noncommutative ring, yet the commutators of the free variables are zero.
Actual Behavior
It's commutative.
Additional Information
It could be that relations={} is imposed incorrectly.
Here is the documentation I was using: https://doc.sagemath.org/pdf/en/reference/noncommutative_polynomial_rings/noncommutative_polynomial_rings.pdf#page83
The g_algebra function isn't well documented so I can't tell. As far as I can tell it has something to do with this package: https://galgebra.readthedocs.io/en/latest/tutorials/algebra.html
It seems poorly named to me.
I didn't open up the source.
This seems to be related to some other issues related to the incompleteness of the FreeAlgebras.
https://github.com/sagemath/sage/issues/26173 https://github.com/sagemath/sage/issues/26911 https://github.com/sagemath/sage/issues/31446
I want to implement this: Green-NoncommutativeGroebnerBasesAndProjectiveResolutions.pdf
I would be happy to work within just FreeAlgebra to implement the Groebner basis algorithm, but there isn't support for monomials in the FreeAlgebra rings it seems. Maybe I am wrong but without passing to the g_algebra it seems you can't pick two monomials and see if one divides another. Note that if m and n are monomials in a noncommutative ring we have m divides n if and only if there exists monomials p and q such that n = pmq.
Environment
Checklist