Opened 9 years ago
Closed 7 years ago
#14107 closed enhancement (fixed)
Expose quantum Littlewood-Richardson coefficients from lrcalc
Reported by: | nthiery | Owned by: | sage-combinat |
---|---|---|---|
Priority: | major | Milestone: | sage-6.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 Littlewood-Richardson coefficient calculations and fusion products, Anders Buch's lrcalc C library implements quantum products, using the rim-hook 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 9 years ago by
- Milestone changed from sage-5.11 to sage-5.12
Changed 9 years ago by
comment:2 Changed 9 years ago by
comment:3 Changed 8 years ago by
- Cc tscrim added
comment:4 Changed 8 years ago by
- Milestone changed from sage-6.1 to sage-6.2
comment:5 Changed 8 years ago by
- Milestone changed from sage-6.2 to sage-6.3
comment:6 Changed 8 years ago by
- Milestone changed from sage-6.3 to sage-6.4
comment:7 Changed 8 years ago by
- Branch set to u/chapoton/14107
- Commit set to d0e9d3588672cdd3b080ab352824ea89027ab1b1
comment:8 Changed 7 years ago by
- Branch changed from u/chapoton/14107 to u/tscrim/quantum_LR_coeff-14107
- Commit changed from d0e9d3588672cdd3b080ab352824ea89027ab1b1 to 37e2e9d18eb73df0f631366117b95cbfb79cd1c2
- Milestone changed from sage-6.4 to sage-6.9
- Status changed from new to needs_review
comment:9 Changed 7 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 7 years ago by
I also added some more explicit cdef/type info, which should result in faster code.
comment:11 Changed 7 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 7 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 7 years ago by
- Branch changed from u/tscrim/quantum_LR_coeff-14107 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 ?