Opened 8 years ago
Closed 6 years ago
#14107 closed enhancement (fixed)
Expose quantum LittlewoodRichardson coefficients from lrcalc
Reported by:  nthiery  Owned by:  sagecombinat 

Priority:  major  Milestone:  sage6.9 
Component:  combinatorics  Keywords:  days45, lrcalc 
Cc:  tscrim  Merged in:  
Authors:  Frédéric Chapoton, Travis Scrimshaw  Reviewers:  Frédéric Chapoton 
Report Upstream:  N/A  Work issues:  
Branch:  4637407 (Commits, GitHub, GitLab)  Commit:  46374079d04c4cdfb7dc72f6dd12691d396ec9da 
Dependencies:  Stopgaps: 
Description
Beside LittlewoodRichardson coefficient calculations and fusion products, Anders Buch's lrcalc C library implements quantum products, using the rimhook rewriting rule (this corresponds to cup products in the cohomology of quantum Grassmanian variety). The latter functionality needs to be exposed in Sage's interface to lrcalc.
Roadmap:
Change mult to accept a "quantum" argument:
def mult(part1, part2, maxrows=None, level=None, quantum=None): """ ...  ``quantum``  an element of a ring ... EXAMPLES:: sage: var('q') sage: mult([1],[2,1],2,2, quantum=q) {[2, 2]: 1, []: q} sage: mult([2,1],[2,1],2,2, quantum=q) {[2]: q, [1,1]: q} """
If quantum
is set, then maxrows
and level
should be
set. Looking at <lrcalc>src/mult.c one would just need to call the
quantum_reduce function function on the result of lrcalc's
mult_c
. The result is a list of hash tables, each giving one
homogeneous pieces of the result w.r.t. q
.
Attachments (1)
Change History (14)
comment:1 Changed 8 years ago by
 Milestone changed from sage5.11 to sage5.12
Changed 8 years ago by
comment:2 Changed 8 years ago by
comment:3 Changed 7 years ago by
 Cc tscrim added
comment:4 Changed 7 years ago by
 Milestone changed from sage6.1 to sage6.2
comment:5 Changed 7 years ago by
 Milestone changed from sage6.2 to sage6.3
comment:6 Changed 7 years ago by
 Milestone changed from sage6.3 to sage6.4
comment:7 Changed 7 years ago by
 Branch set to u/chapoton/14107
 Commit set to d0e9d3588672cdd3b080ab352824ea89027ab1b1
comment:8 Changed 6 years ago by
 Branch changed from u/chapoton/14107 to u/tscrim/quantum_LR_coeff14107
 Commit changed from d0e9d3588672cdd3b080ab352824ea89027ab1b1 to 37e2e9d18eb73df0f631366117b95cbfb79cd1c2
 Milestone changed from sage6.4 to sage6.9
 Status changed from new to needs_review
comment:9 Changed 6 years ago by
 Commit changed from 37e2e9d18eb73df0f631366117b95cbfb79cd1c2 to 46374079d04c4cdfb7dc72f6dd12691d396ec9da
Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:
4637407  Implementing the quantum product from lrcalc and some cython cleanup.

comment:10 Changed 6 years ago by
I also added some more explicit cdef/type info, which should result in faster code.
comment:11 Changed 6 years ago by
 Reviewers set to Frédéric Chapoton
 Status changed from needs_review to positive_review
Thanks a lot Travis.
ok, good to go. Next step would be to wrap that into an algebra.
comment:12 Changed 6 years ago by
Thanks for doing the review. I could finally do this ticket now that I've learned more Cython. I agree that is definitely the next step. Will you be creating said wrapper?
(Sorry, I have to do a Matrix pun: I know CyFu. :P)
comment:13 Changed 6 years ago by
 Branch changed from u/tscrim/quantum_LR_coeff14107 to 46374079d04c4cdfb7dc72f6dd12691d396ec9da
 Resolution set to fixed
 Status changed from positive_review to closed
Here is a patch which is not working !
I have been unable to sort things out.
Maybe some Cython expert can help to correct it ?