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:

Status badges


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.


Change mult to accept a "quantum" argument:

def mult(part1, part2, maxrows=None, level=None, quantum=None):


    - ``quantum`` -- an element of a ring



        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)

trac_14107_quantum_coho.patch (3.8 KB) - added by chapoton 9 years ago.

Download all attachments as: .zip

Change History (14)

comment:1 Changed 9 years ago by jdemeyer

  • Milestone changed from sage-5.11 to sage-5.12

Changed 9 years ago by chapoton

comment:2 Changed 9 years ago by chapoton

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 ?

comment:3 Changed 8 years ago by tscrim

  • Cc tscrim added

comment:4 Changed 8 years ago by vbraun_spam

  • Milestone changed from sage-6.1 to sage-6.2

comment:5 Changed 8 years ago by vbraun_spam

  • Milestone changed from sage-6.2 to sage-6.3

comment:6 Changed 8 years ago by vbraun_spam

  • Milestone changed from sage-6.3 to sage-6.4

comment:7 Changed 8 years ago by chapoton

  • Branch set to u/chapoton/14107
  • Commit set to d0e9d3588672cdd3b080ab352824ea89027ab1b1

New commits:

d0e9d35trac #14107 branch not working

comment:8 Changed 7 years ago by tscrim

  • Authors set to Frédéric Chapoton, Travis Scrimshaw
  • 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

New commits:

2b012bbMerge branch 'u/chapoton/14107' of into u/tscrim/quantum_LR_coeff-14107
37e2e9dImplementing the quantum product from lrcalc.

comment:9 Changed 7 years ago by git

  • Commit changed from 37e2e9d18eb73df0f631366117b95cbfb79cd1c2 to 46374079d04c4cdfb7dc72f6dd12691d396ec9da

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

4637407Implementing the quantum product from lrcalc and some cython cleanup.

comment:10 Changed 7 years ago by tscrim

I also added some more explicit cdef/type info, which should result in faster code.

comment:11 Changed 7 years ago by chapoton

  • 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 tscrim

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 vbraun

  • Branch changed from u/tscrim/quantum_LR_coeff-14107 to 46374079d04c4cdfb7dc72f6dd12691d396ec9da
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.