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

Two algorithms for k-charge do not give same answer #15444

Closed
anneschilling opened this issue Nov 22, 2013 · 11 comments
Closed

Two algorithms for k-charge do not give same answer #15444

anneschilling opened this issue Nov 22, 2013 · 11 comments

Comments

@anneschilling
Copy link

Currently, the two implementations of k-charge do not give the same answer:

sage: T = WeakTableaux(4,[4,3,2,1],[2,2,2,2,1,1],representation='bounded')
sage: for t in T:
    print t.k_charge(), t.k_charge(algorithm='J')
....:
9 10
10 10
8 8
9 9
10 10
8 9
11 11

Comparing against the expansion of Hall-Littlewood symmetric functions in terms of k-Schur functions, it seems that the I-implementation is correct

sage: Sym = SymmetricFunctions(QQ['t'])
sage: Qp = Sym.hall_littlewood().Qp()
sage: ks = Sym.kschur(4)
sage: ks(Qp[2,2,2,2,1,1])[Partition([4,3,2,1])]
t^11 + 2*t^10 + 2*t^9 + 2*t^8

Compared to the book http://arxiv.org/abs/1301.3569 pg. 84
the bug seems to be in the method _height_of_restricted_subword in k_tableau.py.

CC: @sagetrac-sage-combinat @zabrocki

Component: combinatorics

Keywords: tableaux, charge

Author: Anne Schilling

Branch/Commit: public/combinat/k-charge-15444 @ 8df6474

Reviewer: Mike Zabrocki

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

@zabrocki
Copy link
Mannequin

zabrocki mannequin commented Nov 22, 2013

comment:1

Proposition 3.15 on p. 84 of our book states that the k-charge with the two algorithms are equal. Am I correct to assume that since you opened a ticket that the error is in the algorithm and not in that proposition?

To clarify

sage: T = WeakTableau([[1, 1, 2, 3], [2, 4, 4], [3, 6], [5]],4,representation='bounded')
sage: T.k_charge()
9
sage: T.k_charge(algorithm='J')
10

@anneschilling
Copy link
Author

comment:2

Yes, I think the implementation that Avi and Nate did is not quite correct. If you look at the second standard subword of your example above, then the program computes the height of the restricted subword incorrectly for the letter r=3.

@anneschilling
Copy link
Author

Commit: 8df6474

@anneschilling
Copy link
Author

Branch: public/combinat/k-charge-15444

@anneschilling
Copy link
Author

New commits:

[8df6474](https://github.com/sagemath/sagetrac-mirror/commit/8df6474)Fixed bug in k-charge implementation for J-algorithm

@anneschilling
Copy link
Author

Author: Anne Schilling

@anneschilling

This comment has been minimized.

@anneschilling
Copy link
Author

comment:5

I ran the following code for k=3 and 4 and now the two implementations seem to agree:

sage: for n in range(10):
    for la in Partitions(n,max_part=k):
        for mu in Partitions(n,max_part=k):
            T = WeakTableaux(k,la,mu,representation='bounded')
            if not all(t.k_charge() == t.k_charge(algorithm="J") for t in T):
                print la,mu
....:         

@zabrocki
Copy link
Mannequin

zabrocki mannequin commented Nov 24, 2013

comment:6

Looks good to me. I tested it on much larger examples and everything seems to be correct now.

Thanks for fixing it.

@anneschilling
Copy link
Author

comment:7

Thank you for the swift review! Anne

@jdemeyer jdemeyer modified the milestones: sage-5.13, sage-6.0 Nov 24, 2013
@anneschilling
Copy link
Author

Reviewer: Mike Zabrocki

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

3 participants