Opened 10 years ago
Last modified 3 years ago
#6629 new defect
Implement the abstract ring of multivariate polynomials, with several bases (Schur schubert, ...)
Reported by:  nthiery  Owned by:  VivianePons 

Priority:  major  Milestone:  sage7.2 
Component:  combinatorics  Keywords:  multivariate polynomials, schubert polynomials, non symmetric polynomials, days54 
Cc:  sagecombinat, VivianePons, tscrim  Merged in:  
Authors:  Viviane Pons  Reviewers:  
Report Upstream:  N/A  Work issues:  
Branch:  public/combiat/6629newversion (Commits)  Commit:  46b6841f0b7ceb9877063c44230f25bf9b63b529 
Dependencies:  Stopgaps: 
Description (last modified by )
We build an implantation of polynomials as formal sum of exponents. This allows to work on any number of variables with some easy morphism. We use some actions of Weyl group on the exponents to create operators (especially divided difference operators).
These operators allow us to build different bases that comes from geometry and have nice combinatorial description.
Attachments (1)
Change History (20)
comment:1 Changed 6 years ago by
 Cc VivianePons added
 Description modified (diff)
 Owner changed from mhansen to VivianePons
 Report Upstream set to N/A
comment:2 Changed 6 years ago by
comment:3 Changed 6 years ago by
What is the status of this ticket? Is it still in development?
comment:4 Changed 6 years ago by
Yes, sorry for taking such a long time but this is a big implementation and I work on it only when I have time (which is not so often). My plan is to finish a first version of it on the upcoming Sage days in Paris and find someone to work on the review. In the meantime, the patch is working already and some people use it.
Changed 6 years ago by
comment:5 Changed 6 years ago by
Just attached the last version of the patch to apply on Sage 5.9
comment:6 Changed 6 years ago by
 Milestone changed from sage5.11 to sage5.12
comment:7 Changed 5 years ago by
 Branch set to public/combinat/6629SchubertGrothendieckKeypolynomials
 Commit set to 066a1b9dd3dfc521ee097e144bc9cf02abb7643d
New commits:
[changeset:066a1b9]  typo fix 
[changeset:2149df9]  #6629 Implement the abstract ring of multivariate polynomials, with several bases (monomials, Schur schubert, Demazure ...) 
comment:8 Changed 5 years ago by
 Cc tscrim added
 Keywords days54 added
comment:9 Changed 5 years ago by
 Commit changed from 066a1b9dd3dfc521ee097e144bc9cf02abb7643d to e0118458589d794f4566cf3dec26dd69e5d6fd59
Branch pushed to git repo; I updated commit sha1. New commits:
e011845  Merge branch 'master' into 6629SchubertGrothendieckKeypolynomials

comment:10 Changed 5 years ago by
 Milestone changed from sage6.1 to sage6.2
comment:11 Changed 5 years ago by
 Commit changed from e0118458589d794f4566cf3dec26dd69e5d6fd59 to 933a033b0555ed39570078e9d594282feaeab007
Branch pushed to git repo; I updated commit sha1. New commits:
933a033  Merge remotetracking branch 'origin/develop' into polynomials

comment:12 Changed 5 years ago by
 Milestone changed from sage6.2 to sage6.3
comment:13 Changed 5 years ago by
 Milestone changed from sage6.3 to sage6.4
comment:14 Changed 3 years ago by
 Commit changed from 933a033b0555ed39570078e9d594282feaeab007 to b92a96e4a03cd1be423bb8d035d265e8a697227b
Branch pushed to git repo; I updated commit sha1. New commits:
b92a96e  Merge branch 'public/combinat/6629SchubertGrothendieckKeypolynomials' of trac.sagemath.org:sage into public/combinat/6629SchubertGrothendieckKeypolynomials

comment:15 Changed 3 years ago by
 Milestone changed from sage6.4 to sage7.2
comment:16 Changed 3 years ago by
 Commit changed from b92a96e4a03cd1be423bb8d035d265e8a697227b to 0271f6713b72d069b1097a2b0338f3186c4b53e3
comment:17 Changed 3 years ago by
Viviane, when you get a chance, could you push the code that you currently have or are you still working on this?
comment:18 Changed 3 years ago by
 Branch changed from public/combinat/6629SchubertGrothendieckKeypolynomials to public/combiat/6629newversion
 Commit changed from 0271f6713b72d069b1097a2b0338f3186c4b53e3 to 46b6841f0b7ceb9877063c44230f25bf9b63b529
Just pushed my latest code. Mostly everything is working but the tests and examples are all messed up (and, for some reason, I still cannot run any tests).
I have simplified many things, removing useless classes and so on. Now, I consider the monomial basis to be a "generator", I call it x and write:
sage: A.<x> = MultivariatePolynomialAlgebra(QQ) sage: x[1,2,3] + x[2,3] x[2, 3, 0] + x[1, 2, 3]
I think it makes more sense and it is more natural to use. The goal is to hide the inner mechanics as much as possible. "New example" are written in this manner, old ones still use the m notation.
All basis are combinatorial free module using a common "key wrapper" class that handles lists and ambient space basis elements.
In terms of mathematical meaning, remember that all bases are indexed by vectors, for Grothendieck and Schubert, they correspond to the Lehmer code of the permutation.
The only part that is not working is the "Double polynomial" one, but it's quite independent from the rest.
I let you have a look at it, it's not finished yet. Feel free to change it if you feel like it. I will be on holidays for the next 2 weeks.
New commits:
e0d9682  Merge remotetracking branch 'origin/public/combinat/6629SchubertGrothendieckKeypolynomials' into local6629

d9c033a  Work in progress: simplifying the structure, cleaning stuff, writting docs

1db580d  Refactoring / commenting, Work in progress

7805a1e  Merge branch 'develop' into local6629wip

43d86b0  Merge branch 'local6629wip' into local6629wip2

a40f3a8  small fixes

f777a78  Merge branch 'local6629wip2' into local66297.3

46b6841  Fixing some broken things

comment:19 Changed 3 years ago by
Thank you Viviane, I appreciate it. I will take a look at it soon and pass it along to the REU students. Enjoy your holidays!
the patch apply on 5.6 and is mostly working. It is not yet ready for review though, it needs more tests and docs and possibly a few fixes.