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

Implement Symmetry Classes of Plane Partitions #28244

Closed
kevindilks mannequin opened this issue Jul 24, 2019 · 109 comments
Closed

Implement Symmetry Classes of Plane Partitions #28244

kevindilks mannequin opened this issue Jul 24, 2019 · 109 comments

Comments

@kevindilks
Copy link
Mannequin

kevindilks mannequin commented Jul 24, 2019

Create classes for the different symmetry classes of plane partitions (Cyclically symmetric, Totally Symmetric, etc.), along with methods taking elements in these symmetry classes to an object in a fundamental domain (usually an order ideal in some associated poset).

CC: @jessicapalencia @tscrim @mantepse

Component: combinatorics

Keywords: days99, IMA Coding Sprint

Author: Kevin Dilks, Spencer Cook, Jessica Striker

Branch/Commit: public/combinat/symmetry_classes_plane_partitions-28244 @ a3c1c58

Reviewer: Travis Scrimshaw

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

@kevindilks kevindilks mannequin added this to the sage-8.9 milestone Jul 24, 2019
@kevindilks
Copy link
Mannequin Author

kevindilks mannequin commented Jul 24, 2019

Branch: u/kdilks/SymPP

@kevindilks
Copy link
Mannequin Author

kevindilks mannequin commented Jul 24, 2019

Commit: fd46c9a

@kevindilks
Copy link
Mannequin Author

kevindilks mannequin commented Jul 24, 2019

comment:2

Current things to work on:

  • I changed all.py from being a lazy import to a regular import because I thought it might have been keeping something from working. That change will very likely be reverted once I get a chance to confirm that I was wrong.

  • Some of the poset/comparison structures at the beginning of various iterators can be streamlined or replaced with existing code (ie, posets.ProductOfChains is a thing, that code doesn't need to be duplicated).

  • Iterator code currently saves all the generated objects to a list, sorts the list, and then goes through them one at a time. Instead of adding a generated object to a list, it should just be yielded at that point, and the very last part of each iterator that iterates over the generated list can be removed.

  • Commented out existing code for iterating over plane partitions in a box using the SemistandardTableaux iterator with the code iterating over the my using antichain iterator on product of chains poset. Once the new code is cleaned up, the two should be compared.

  • Documentation and doc-tests are currently minimal/missing.

  • Additional methods need to be added to the various classes giving maps to order ideals in the various fundamental domains.

  • Would the various fundamental domains be something that we would really want added to the posets catalog ( http://doc.sagemath.org/html/en/reference/combinat/sage/combinat/posets/poset_examples.html )?


New commits:

fd46c9aA very rough initial implementation

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 25, 2019

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

38e8b71Potential class structure fix

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 25, 2019

Changed commit from fd46c9a to 38e8b71

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 25, 2019

Changed commit from 38e8b71 to 0e10ab4

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 25, 2019

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

0e10ab4added a few more base symmetry classes

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 25, 2019

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

241a6caSymmetry subclasses need to be based on the factory class, not the all class
f75ed2aSymmetry classes seem to know they are finite sets now

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 25, 2019

Changed commit from 0e10ab4 to f75ed2a

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 25, 2019

Changed commit from f75ed2a to d3a2f91

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 25, 2019

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

d3a2f91Added attribute for a PlanePartition instance that makes bounding box size of box of parent (if defined), and largest bounding box otherwise

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 25, 2019

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

1c6f7cdAdded import statement for cartesian product until iterator code refactored

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 25, 2019

Changed commit from d3a2f91 to 1c6f7cd

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 26, 2019

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

97bc8ddIterator for plane partitions of fixed size implemented, beginning of documentation

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 26, 2019

Changed commit from 1c6f7cd to 97bc8dd

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 26, 2019

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

d010cc9Output of fixed size iterator needes element constructor

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 26, 2019

Changed commit from 97bc8dd to d010cc9

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 26, 2019

Changed commit from d010cc9 to 6213c36

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 26, 2019

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

f1b90f0Added cardinality method for fixed size using recurrence relation
6213c36Added cardinality method for fixed size using recurrence relation

@kevindilks kevindilks mannequin self-assigned this Jul 26, 2019
@kevindilks
Copy link
Mannequin Author

kevindilks mannequin commented Jul 26, 2019

Version as of 11am CST July 26

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 26, 2019

Changed commit from 6213c36 to 1190398

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 26, 2019

comment:12

Attachment: plane_partition.py.gz

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

1190398Added skeleton of missing classes, organized them in standard order

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 26, 2019

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

b292277changed repr methods to not all caps
e843a52cleaned up iterator code some, fixed minor category issue

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 26, 2019

Changed commit from 1190398 to e843a52

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jul 26, 2019

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

507a8f6More minor iterator fixes
d91a333more changes

@jessicapalencia
Copy link
Mannequin

jessicapalencia mannequin commented Oct 28, 2022

comment:60

Any update? Wondering what is left to do to finish this.

@tscrim
Copy link
Collaborator

tscrim commented Oct 29, 2022

comment:61

I think all of my comments were addressed, but I am not 100% certain from the commits. This will need a rebasing to the latest develop and any commented out code should be removed. Otherwise it should be good to go.

@jessicapalencia
Copy link
Mannequin

jessicapalencia mannequin commented Jan 26, 2023

comment:62

Hi Travis, Can you finish this or recommend someone who could? I don't have time at the moment, or a working development version of Sage. But I have gotten some requests from Sage users for this functionality!

@tscrim
Copy link
Collaborator

tscrim commented Jan 27, 2023

Changed commit from 40842e8 to 77a5b52

@tscrim
Copy link
Collaborator

tscrim commented Jan 27, 2023

@tscrim
Copy link
Collaborator

tscrim commented Jan 27, 2023

comment:63

I did what I could, but it should be good to go. There are probably still some other cleanup stuff to do wrt to the code style, but it now works for me.


New commits:

29a0c4fMerge branch 'u/kdilks/SymPP' of https://github.com/sagemath/sagetrac-mirror into public/combinat/symmetry_classes_plane_partitions-28244
77a5b52A number of reviewer changes and cleanup.

@mkoeppe
Copy link
Member

mkoeppe commented Jan 27, 2023

comment:64

pyright complains:

  /__w/sagetrac-mirror/sagetrac-mirror/src/sage/combinat/plane_partition.py:49:20 - error: Expected class as second argument to NewType

@fchapoton
Copy link
Contributor

comment:65

Who asked for pyright compliance ? where is the report to be seen ?

On the other hand, the linter complains about many trailing whitespaces.
and about the documentation:

./sage/combinat/plane_partition.py:1173:1: RST214 Inline literal start-string without end-string.

@mkoeppe
Copy link
Member

mkoeppe commented Jan 27, 2023

comment:66

It's part of the "Build & Test" workflow.

@mkoeppe
Copy link
Member

mkoeppe commented Jan 27, 2023

comment:67

pyright is right; the file uses NewType incorrectly. https://docs.python.org/3/library/typing.html#typing.NewType

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 28, 2023

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

4390f31Removed NewType and other small fixes.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 28, 2023

Changed commit from 77a5b52 to 4390f31

@tscrim
Copy link
Collaborator

tscrim commented Jan 28, 2023

comment:69

Thanks. I removed the NewType and fixed the doc error.

@fchapoton
Copy link
Contributor

comment:71

still

./sage/combinat/plane_partition.py:3044:28: E111 indentation is not a multiple of 4
19
./sage/combinat/plane_partition.py:3136:1: W391 blank line at end of file

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 29, 2023

Changed commit from 4390f31 to a3c1c58

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Jan 29, 2023

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

a3c1c58Fixing pycodestyle.

@tscrim
Copy link
Collaborator

tscrim commented Jan 29, 2023

comment:73

This should take care of those.

@mkoeppe mkoeppe removed this from the sage-9.8 milestone Jan 29, 2023
vbraun pushed a commit that referenced this issue Apr 1, 2023
    
Implement symmetric classes on plane partitions #28244
    
URL: #35037
Reported by: Travis Scrimshaw
Reviewer(s): Frédéric Chapoton
@tscrim tscrim closed this as completed Apr 25, 2023
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