Opened 9 years ago

Closed 7 years ago

Expose quantum Littlewood-Richardson coefficients from lrcalc

Reported by: Owned by: nthiery sage-combinat major sage-6.9 combinatorics days45, lrcalc tscrim Frédéric Chapoton, Travis Scrimshaw Frédéric Chapoton N/A 4637407 46374079d04c4cdfb7dc72f6dd12691d396ec9da

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.

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`.

comment:1 Changed 9 years ago by jdemeyer

• Milestone changed from sage-5.11 to sage-5.12

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: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:

 ​48ec624 `trac_14107_quantum_coho.patch` ​d0e9d35 `trac #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:

 ​2b012bb `Merge branch 'u/chapoton/14107' of trac.sagemath.org:sage into u/tscrim/quantum_LR_coeff-14107` ​37e2e9d `Implementing 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:

 ​4637407 `Implementing 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.