Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

g_algebra of FreeAlgebra is commutative #38047

Open
2 tasks done
tdupu opened this issue May 21, 2024 · 2 comments
Open
2 tasks done

g_algebra of FreeAlgebra is commutative #38047

tdupu opened this issue May 21, 2024 · 2 comments

Comments

@tdupu
Copy link

tdupu commented May 21, 2024

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.

#26173
#26911
#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

- **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
@tdupu tdupu added the t: bug label May 21, 2024
@tdupu
Copy link
Author

tdupu commented May 21, 2024

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.

@tscrim
Copy link
Collaborator

tscrim commented May 28, 2024

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."

@fchapoton fchapoton self-assigned this Jun 30, 2024
vbraun pushed a commit to vbraun/sage that referenced this issue Jul 20, 2024
fixing sagemath#38047

### 📝 Checklist

- [x] The title is concise and informative.
- [ ] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [x] I have created tests covering the changes.
- [ ] I have updated the documentation and checked the documentation
preview.

URL: sagemath#38382
Reported by: Frédéric Chapoton
Reviewer(s): Travis Scrimshaw
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants