-
-
Notifications
You must be signed in to change notification settings - Fork 491
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
Groebner bases for exterior algebras native to Sage #34138
Comments
Last 10 new commits:
|
Commit: |
Branch: u/tkarn/exterior-gb-34138 |
Dependencies: #32369 |
Changed branch from u/tkarn/exterior-gb-34138 to public/algebras/exterior_groebner-34138 |
Branch pushed to git repo; I updated commit sha1. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
Branch pushed to git repo; I updated commit sha1. This was a forced push. Last 10 new commits:
|
comment:10
All tests still pass in |
comment:11
There appears to be a bug in the following example
where it gets stuck in an infinite while loop on line 206 of
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:26
Here is an improvement to multiplication by a single term:
versus b227973:
The difference with the left versus right is because we do not choose which term to slide past the other. We can maybe address that here, along with removing the code duplication I have introduced. |
Branch pushed to git repo; I updated commit sha1. New commits:
|
comment:28
Here is an update for the GBs that does the reduction in-place, which required me to remove duplicate entries during the GB. For "small" examples, it is slower:
versus before
However, I think that is just due to the extra amount of information we have to store and manipulate. I strongly believe that will get dominated (and become insignificant) once the examples get larger. The data structure for that is not very efficient and could be improved. Yet, I still haven't gotten it to be anywhere close to what M2 can do; in particular this example that took you ~7s in M2:
|
comment:29
My guess is M2 is doing something very special and particular with the linear algebra (and maybe some stuff in parallel). Anyways, this is as best as I can get for now. |
comment:30
Yay, green patchbot. |
comment:32
Thank you. Next steps for followup tickets:
cc-ing Simon to let him know about this as he might be interested in it. |
comment:33
Replying to @tscrim:
Indeed I'm interested. General question (before heaving looked at the code): What was the rationale for a "native" implementation (aka "reinventing the wheel" instead of using what (e.g.) Singular has to offer? |
comment:34
Replying to @simon-king-jena:
I couldn't find a dedicated implementation of GB and the exterior algebra through some (not super extensive) Google searching. With Singular using the generic |
comment:35
I may be wrong, but I thought that the main feature of "exterior algebra" is being graded-commutative. And that's provided by what Singular calls "super-commutative". And that belongs to the parts of Plural that are wrapped in Sage already. |
comment:36
Looking at |
comment:37
To build quotients using
Indeed, the interface for GBs does seem to be missing from these ideals. So I cannot run timings. The specialized multiplication for the exterior algebra is apparently faster:
So it should be possible to make the version of GBs here faster. It should just require being more clever about how we do the linear algebra. Another reason why it is good to have a Sage version is this can handle any field that Sage has, which I believe is a lot more than what Singular can do (and take advantage of the corresponding specialized linear algebra code). With some hopefully minor future tweaks, this could work over more general (skew?) commutative rings. |
comment:38
Also, do you know if Plural handles left/right and two-sided ideals? |
Changed branch from public/algebras/exterior_groebner-34138 to |
Add a native Sage implementation to compute a Groebner basis for an ideal of a Sage
ExteriorAlgebra
Depends on #32369
CC: @tscrim @simon-king-jena
Component: algebra
Keywords: groebner basis, gsoc2022, f4
Author: Trevor K. Karn, Travis Scrimshaw
Branch/Commit:
36b6b20
Reviewer: Travis Scrimshaw, Trevor K. Karn
Issue created by migration from https://trac.sagemath.org/ticket/34138
The text was updated successfully, but these errors were encountered: