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 the Murnaghan-Nakayama formula for character values of symmetric groups #15555

Open
amritanshu-prasad mannequin opened this issue Dec 20, 2013 · 14 comments
Open

Comments

@amritanshu-prasad
Copy link
Mannequin

amritanshu-prasad mannequin commented Dec 20, 2013

The Murnaghan-Nakayama formula is a recursive formula for a character value of the symmetric group (for the statement, look at the second paragraph of Mark Wildon's answer http://mathoverflow.net/a/134620/9672 on mathoverflow, or Theorem 2.4.7 in Representation Theory of the Symmetric Group by James and Kerber).

CC: @tscrim @darijgr @sagetrac-sage-combinat @KPanComputes

Component: combinatorics

Keywords: partitions, character

Author: Keren Shao

Branch/Commit: public/mnRules @ 04d133d

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

@amritanshu-prasad amritanshu-prasad mannequin added this to the sage-6.1 milestone Dec 20, 2013
@sagetrac-vbraun-spam sagetrac-vbraun-spam mannequin modified the milestones: sage-6.1, sage-6.2 Jan 30, 2014
@sagetrac-vbraun-spam sagetrac-vbraun-spam mannequin modified the milestones: sage-6.2, sage-6.3 May 6, 2014
@sagetrac-vbraun-spam sagetrac-vbraun-spam mannequin modified the milestones: sage-6.3, sage-6.4 Aug 10, 2014
@amritanshu-prasad
Copy link
Mannequin Author

amritanshu-prasad mannequin commented Aug 17, 2014

Changed keywords from partitions to partitions, days60

@SmartestKen
Copy link
Mannequin

SmartestKen mannequin commented Nov 18, 2019

Branch: public/mnRules

@SmartestKen
Copy link
Mannequin

SmartestKen mannequin commented Nov 18, 2019

Commit: 04d133d

@SmartestKen
Copy link
Mannequin

SmartestKen mannequin commented Nov 18, 2019

Changed keywords from partitions, days60 to partitions, character

@SmartestKen
Copy link
Mannequin

SmartestKen mannequin commented Nov 18, 2019

New commits:

04d133dmurnaghan nakayama rule under Partition

@SmartestKen
Copy link
Mannequin

SmartestKen mannequin commented Nov 18, 2019

Author: Keren Shao

@SmartestKen SmartestKen mannequin added the s: needs review label Nov 18, 2019
@SmartestKen SmartestKen mannequin removed this from the sage-6.4 milestone Nov 18, 2019
@dimpase
Copy link
Member

dimpase commented Nov 21, 2019

comment:6

a couple of quick comments:

the 1st line of the docstring should be separated from the rest by an empty line, i.e.
not

+        r"""
+        Return `\chi^{\lambda/\mu}(\alpha)` value in Murnaghan-Nakayama formula
+        (Enumerative Combinatorics (Stanley) equation 7.75)
...

but

+        r"""
+        Return `\chi^{\lambda/\mu}(\alpha)` value in Murnaghan-Nakayama formula
+
+        (Enumerative Combinatorics (Stanley) equation 7.75)
...

The reference should be made properly (by the way, which volume it is , I guess vol. 2?)
we already have it, so just use [EnumComb2]_


I am not sure that the recursive function should be public, and not an internal function in the non-recursive one. Also, the debugging flag should be a function parameter (default value False)

@dimpase dimpase added this to the sage-9.0 milestone Nov 21, 2019
@tscrim
Copy link
Collaborator

tscrim commented Nov 22, 2019

comment:8

Some additional comments:

I don't see the point of making these static methods attached to Partition. That is not the natural place I would look for them. Furthermore, get_chi is a very non-descriptive name and needs to be changed. Actually, these might best as a normal method attached to SkewPartition (with a redirect in Partition with the skew being the empty partition).

I agree with Dima that the get_chi_recursive should not be public since it is essentially an internal function.

The ALGORITHM: block is over-indented (this is because it only (as it should) has one colon).

Do not return None if there is a check failure; raise an error message as intended.

Why are the keys for refDict strings and not the data as a tuple?

Please follow Python naming conventions (lower_case variable names). Also, try to avoid the extra blanklines.

@SmartestKen
Copy link
Mannequin

SmartestKen mannequin commented Nov 22, 2019

comment:9

Thanks for the comment.

Working on all issues Dima and tscrim mentioned. I have a few questions though.

  1. Are all the docstring rules the same for internal function? (i.e. Do I just copy/paste the entire docstring for the current get_chi_recursive())?
  2. The reason why I use static is
    i. it seems unnatural to call something like lda.get_chi(mu, alpha). And user will have to make Partition Object first before they can call the function.
    iii. I do not rely on any methods from Partition/Skewed-Partition Object and I cannot figure out how to extract the underlying list from a Partition Object (.get_part() does not look like a nice option...)
  3. By redirecting, you mean on the docstring or make a redirect in function call? Please teach me how to do if you mean docstring.

@dimpase
Copy link
Member

dimpase commented Nov 22, 2019

comment:10

by the way, did you look at @CachedFunction decorator, which provides memoization, so you don't need to carry around refDict at all?

this would make the code cleaner, and you could roll the two functions, recursive and non-recursive, into one.

@embray
Copy link
Contributor

embray commented Jan 6, 2020

comment:11

Ticket retargeted after milestone closed

@embray embray modified the milestones: sage-9.0, sage-9.1 Jan 6, 2020
@mkoeppe
Copy link
Member

mkoeppe commented Apr 14, 2020

comment:12

Batch modifying tickets that will likely not be ready for 9.1, based on a review of the ticket title, branch/review status, and last modification date.

@mkoeppe mkoeppe removed this from the sage-9.1 milestone Apr 14, 2020
@mkoeppe mkoeppe added this to the sage-9.2 milestone Apr 14, 2020
@mkoeppe mkoeppe modified the milestones: sage-9.2, sage-9.3 Sep 5, 2020
@mkoeppe
Copy link
Member

mkoeppe commented Feb 13, 2021

comment:14

Setting new milestone based on a cursory review of ticket status, priority, and last modification date.

@mkoeppe mkoeppe modified the milestones: sage-9.3, sage-9.4 Feb 13, 2021
@mkoeppe
Copy link
Member

mkoeppe commented Jul 19, 2021

comment:15

Setting a new milestone for this ticket based on a cursory review.

@mkoeppe mkoeppe modified the milestones: sage-9.4, sage-9.5 Jul 19, 2021
@mkoeppe mkoeppe modified the milestones: sage-9.5, sage-9.6 Dec 18, 2021
@mkoeppe mkoeppe modified the milestones: sage-9.6, sage-9.7 Apr 2, 2022
@mkoeppe mkoeppe modified the milestones: sage-9.7, sage-9.8 Sep 19, 2022
@mkoeppe mkoeppe removed this from the sage-9.8 milestone Jan 29, 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