-
-
Notifications
You must be signed in to change notification settings - Fork 517
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
More Schubert polynomial shenanigans #23443
Comments
comment:2
I've updated the ticket description to better describe where the error is coming from (rather than the symptom). There does seem to be some issue with symmetrica and empty lists:
More shenanigans:
So one of the definite problems is that the indexing set could be considered too big. However, we could also consider |
This comment has been minimized.
This comment has been minimized.
comment:3
The way I understand Schubert polynomials, you either deal with them in a fixed number of indeterminates (in which case the basis is indexed by |
comment:4
By doing the tower approach, you can get a little bit of both worlds: you are considering a fixed number of variables that you can arbitrarily move between different rings (i.e., you do not have to deal with coercions between different parents). I do not have any preference on what approach is taken; I am just stating how I understand the code. However, there are some large inconsistencies between the code parts (and possibly the doc). Those do need to be fixed. We might just be better off changing the entire class to perhaps do some slight adjustments to the permutations when sending them back and forth with symmetrica. |
Attachment: schubert-1.diff.gz Fixing X([]) misbehaving and X([1]).expand() not properly coercing |
comment:5
The attached schubert-1.diff file (I can't push for some stupid security reasons) fixes two basic bugs: the X([]) shenanigans (it's X([1]) now) and the problems stemming from X([1]).expand() landing in Z[x] instead of Z[x0] (which led to the product X([1]).expand() * X([1,2]).expand() being undefined). The basis() method still needs to be fixed. |
Reviewer: Travis Scrimshaw |
comment:6
Is there anything else that is needed for this ticket? If not, then you can set a positive review if I have applied your patch correctly. New commits:
|
Commit: |
Author: Darij Grinberg |
comment:8
The basis still needs fixing (it has too many elements because it doesn't enforce the "no unnecessary fixed points at the end" rule for its permutation). But I'll open a new ticket for that. Thanks for posting and reviewing, Travis! |
comment:9
Note: one can use something like
to properly indicate authorship when committing someone else's code. Or as an afterthought, |
comment:10
I didn't know that. Thank you. Could you push the revision? I am away from my computer until next week. |
Branch pushed to git repo; I updated commit sha1 and set ticket back to needs_review. This was a forced push. New commits:
|
comment:12
Same commit, now with author Darij Grinberg. |
comment:13
Thank you! The wrong basis is now #33766, so this ticket can be closed once merged. |
comment:14
Replying to @slel:
Thank you. I appreciate it. |
comment:15
|
comment:16
Ack, |
comment:18
I finally was able to fix this. I checked the doc builds. Since the change is trivial, I am allowing myself to reset to a positive review. |
comment:19
Thank you, Travis! |
Changed branch from public/combinat/schubert_shenanigans-23443 to |
Title stolen from Stanley, but this is, alas, a bug, not a determinant conjecture:
Normally,
X(perm)
reduces the permutationperm
by removing all fixed points attached to its right end (i.e., if a permutation inS_n
sendsn
ton
, then it reduces it to a permutation inS_{n-1}
and so on, until this reduction is no longer possible). And rightfully so, since the Schubert basis is indexed by reduced permutations.However, it fails to reduce
[1]
to[]
due to the behavior ofPermutation.remove_extra_fixed_points
.Can we just fix it, or does symmetrica break on contact with the empty list? In the latter case, should we reduce
[]
to[1]
instead?Related: #23403.
CC: @tscrim @sagetrac-sage-combinat @anneschilling @VivianePons
Component: combinatorics
Keywords: schubert, polynomials, divided differences
Author: Darij Grinberg
Branch/Commit:
94d9d75
Reviewer: Travis Scrimshaw
Issue created by migration from https://trac.sagemath.org/ticket/23443
The text was updated successfully, but these errors were encountered: