-
-
Notifications
You must be signed in to change notification settings - Fork 713
Description
Steps To Reproduce
R.<x,y,z> = FreeAlgebra(QQ, 3)
P=R.g_algebra(relations={},order='lex')
P.inject_variables() #makes variables x,y,z available to this method
P.is_commutative()
print([x*y-y*x,x*z-z*x,y*z-z*y])
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.
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
- **OS**:Cocalc, May 21, 2024
- **Sage Version**:'SageMath version 10.3, Release Date: 2024-03-19'Checklist
- I have searched the existing issues for a bug report that matches the one I want to file, without success.
- I have read the documentation and troubleshoot guide