sagemath / sage

Main repository of SageMath
https://www.sagemath.org
Other
1.45k stars 481 forks source link

Path_Tableaux #25434

Closed BruceWestbury closed 4 years ago

BruceWestbury commented 6 years ago

This is a project to implement an abstraction of rectification, evacuation and promotion. These are conventionally defined on standard tableaux using jeu-de-taquin. The file catalan.py gives a toy implementation. I intend to provide other implementations.

CC: @sagetrac-sage-combinat @tscrim @mantepse @anneschilling @deinst @kevindilks

Component: combinatorics

Keywords: fpsac2019

Author: Bruce Westbury

Branch/Commit: 9d3a838

Reviewer: Ben Salisbury, Travis Scrimshaw

Issue created by migration from https://trac.sagemath.org/ticket/25434

BruceWestbury commented 6 years ago
comment:1

I have been unable to push my commits. I get Permission Denied. I will try again in the morning.

BruceWestbury commented 6 years ago

Branch: u/Bruce/pathtableaux

BruceWestbury commented 6 years ago

Commit: b4a14f9

BruceWestbury commented 6 years ago

Description changed:

--- 
+++ 
@@ -1 +1,2 @@
-
+This is a project to implement an abstraction of rectification, evacuation and promotion. These are conventionally defined on standard tableaux using jeu-de-taquin. The file catalan.py gives a toy implementation. The file semistandard.py gives the implementation on (dual) semistandard tableaux.
+Once I am satisfied that these are working and reproduce the existing constructions, I intend to provide other implementations. 
embray commented 6 years ago
comment:6

It seems there was something about this branch causing the git merge plugin to break so I have deleted the branch for now and will investigate further later.

embray commented 6 years ago

Changed commit from b4a14f9 to none

embray commented 6 years ago

Changed branch from u/Bruce/pathtableaux to none

embray commented 6 years ago
comment:7

It seems the branch was just the current develop with no new commits on it, so maybe something about that scenario broke the plugin.

BruceWestbury commented 6 years ago
comment:8

Replying to @embray:

It seems the branch was just the current develop with no new commits on it, so maybe something about that scenario broke the plugin.

Thanks for sorting that out. I struggled to follow the instructions and no doubt got it messed up.

BruceWestbury commented 6 years ago

Branch: u/Bruce/path_tableaux

darijgr commented 6 years ago

Commit: 3090a75

darijgr commented 6 years ago

New commits:

e09a7bbThis is the initial commit for the project on Path Tableaux
934c015Corrected path
7157b1fEdited a couple of doc tests
3090a75A few trivial changes.
darijgr commented 6 years ago

Changed branch from u/Bruce/path_tableaux to u/Bruce/pathtableaux

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Changed commit from 3090a75 to 8944c6e

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

a89516eChanged all.py
8944c6eFixed imports so doc tests now run.
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

7d6fef0Imports into semistandard.py fixed
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Changed commit from 8944c6e to 7d6fef0

embray commented 6 years ago
comment:13

Replying to @BruceWestbury:

Replying to @embray:

It seems the branch was just the current develop with no new commits on it, so maybe something about that scenario broke the plugin.

Thanks for sorting that out. I struggled to follow the instructions and no doubt got it messed up.

No problem, not your fault at all.

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Changed commit from 7d6fef0 to 391ffd0

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

bfcfc84Added doc tests
391ffd0More doc testing
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

f9abd6bStarted doc testing semistandard.py
0d1e91fAdded rectify and multiply
16c04c4Added rectify
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Changed commit from 391ffd0 to 16c04c4

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

e5cb861Rectify added
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Changed commit from 16c04c4 to e5cb861

BruceWestbury commented 6 years ago
comment:17

I now have the basic functionality in the two implementations I have committed. I would appreciate some feedback before I commit other implementations. I have attempted to explain the purpose of this project but no doubt I could do better.

BruceWestbury commented 6 years ago

Author: Bruce Westbury

tscrim commented 6 years ago
comment:18

I strongly believe that PathTableaux should not be a category. You should just have an abstract base class (ABC) for the *Tableau objects (the ElementMethods is currently playing this role, but you're using a sledgehammer in place of a ball-peen). It is something that is easy to change back if there becomes a practical use/need for the category, but I think it puts more distance between the concrete class and the ABC code, which makes it harder to maintain.

At this point, I am thinking it might be best to make a new folder in the combinat folder called tableau with your new code (one file for the ABC and your other two files). Then it will become the eventual home for all tableau files (but moving those should be done on separate tickets).

Some other misc comments:

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Changed commit from e5cb861 to 0ae66fe

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

0ae66feCorrected formatting of doctests
BruceWestbury commented 6 years ago
comment:20

Hi Travis, Thank you for the feedback.

"At this point, I am thinking it might be best to make a new folder in the combinat folder called tableau with your new code (one file for the ABC and your other two files). Then it will become the eventual home for all tableau files (but moving those should be done on separate tickets)."

Could you please expand on this? I understand your suggestion to use an ABC instead of a category. I am not clear on how this should be done within the trac system. I understand that I could open a new ticket, copy the files by hand, and at some point delete the existing ticket. However I suspect you may mean a different approach.

Is the first step to create a new ticket with the new folder called tableau containing just one file with the ABC?

darijgr commented 6 years ago
comment:21

You can keep making commits and pushing to the same branch (and set the ticket back to needs_review once you're done fixing the issues you're aware of).

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Changed commit from 0ae66fe to cdef4c8

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

cdef4c8Corrections to doctests with ellipsis
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Changed commit from cdef4c8 to d562246

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

d562246Files moved to new directory
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Changed commit from d562246 to 5aa14e1

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

8d0191aEdited and added files all.py
18aaf93File __init__.py added
5aa14e1Moved directory from tableau to pathtableau
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

f20a5d1Parent classes added
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Changed commit from 5aa14e1 to f20a5d1

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

4adad87All tests passed!
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Changed commit from f20a5d1 to 4adad87

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

9c0cd75PathTableau_partitions added and more doctests
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Changed commit from 4adad87 to 9c0cd75

BruceWestbury commented 6 years ago
comment:28

I have made the changes suggested by Travis, including removing the Category and using an ABC instead. I am working on missing doctests. I would appreciate further feedback.

BruceWestbury commented 6 years ago

Description changed:

--- 
+++ 
@@ -1,2 +1 @@
-This is a project to implement an abstraction of rectification, evacuation and promotion. These are conventionally defined on standard tableaux using jeu-de-taquin. The file catalan.py gives a toy implementation. The file semistandard.py gives the implementation on (dual) semistandard tableaux.
-Once I am satisfied that these are working and reproduce the existing constructions, I intend to provide other implementations. 
+This is a project to implement an abstraction of rectification, evacuation and promotion. These are conventionally defined on standard tableaux using jeu-de-taquin. The file catalan.py gives a toy implementation. I intend to provide other implementations. 
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Changed commit from 9c0cd75 to 8715ae9

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

f4d341fmultiply doctest added
7cb9d1fMore doctests
8b21628rule changed to avoid use of vector
c751cc0Moved tests. Use `_test_` and other minor changes on tests.
bb2caa0Moved PathTableaux class back
8715ae9All doctests pass
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Branch pushed to git repo; I updated commit sha1. New commits:

800560cModified all.py
7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Changed commit from 8715ae9 to 800560c

7ed8c4ca-6d56-4ae9-953a-41e42b4ed313 commented 6 years ago

Changed commit from 800560c to 6229e0d