# intpart module?

Tito Sacchi tito.sakki@gmail.com
Sat Jun 2 07:26:00 GMT 2018

```Hello,

I understand your doubts about the inclusion of new features into GSL.
I think that the combinatoric algorithms related to integer partitions are of
general interest and useful for a wide range of subjects.
The fact that many software companies have implemented packages
(e.g. Wolfram's Combinatorica [1], Maplesoft's Iterator [2]) for these
algorithms
for their own programs proves the importance and the general-purpose property.

Among the most common applications:
- Young tableaux are useful for solving many basic combinatorial problems.
For example, the answer to the question "How many ways are there to arrange
a group of 25 students into a 5x5 grid such that in every row and every column
their heights are in incresing order (each row/column is independent
from each other)?"
is greater than 700M, and can be efficiently calculated using the
hook-length formula [3]:
it corresponds to the number of standard Young tableaux [4] of shape
[5, 5, 5, 5, 5].
- Also, they have applications in other fields of mathematics and in
physics.  By means of
the Schur-Weyl duality [5] applied to the joint action of the
symmetric group S_k and the
general linear group GL(n) of invertible n x n matrices on tensor
spaces, using both the
hook-lenght formula [3] and the hook-content formula one can obtain
the dimensions of
the irreducible representations along with their multiplicities of
S_k and GL(n). This has
many applications in group representation theory, quantum
information theory, quantum
metrology, and particle physics. The implementation of this wouldn’t
even require
(representation) group theory support in the library.

[1] http://reference.wolfram.com/language/Combinatorica/guide/CombinatoricaPackage.html
[2] https://www.maplesoft.com/support/help/maple/view.aspx?path=Iterator
[3] https://en.wikipedia.org/wiki/Hook_length_formula
[4] https://en.wikipedia.org/wiki/Young_tableau
[5] https://en.wikipedia.org/wiki/Schur%E2%80%93Weyl_duality

2018-05-31 21:16 GMT+02:00 Patrick Alken <alken@colorado.edu>:
> Hello,
>
>   I certainly encourage more people working on GSL! Though keep in mind GSL
> aims to be a general-purpose scientific computing library. I personally
> don't work in combinatorics, so its difficult for me to gauge how many
> people would benefit / use these new algorithms you propose. If indeed a
> large number of users would like to see these algorithms in GSL, then
> certainly I would like to add them. However if only a small number of
> specialists would be interested, then I would say this work should be made
> into an extension library, which is as you say a self-contained external
> library which may or may not rely on GSL itself.
>
> Perhaps as a first step you could give some examples of what kinds of
> problems people can solve with these algorithms you are planning to code?
>
> Patrick
>
>
> On 05/31/2018 01:01 PM, Tito Sacchi wrote:
>>
>> Greetings,
>>
>> I’d like to start working on some code on integer partitions,
>> combinatorics, and related algorithms
>> (Young tableaux, hook lengths...) in a new module that I’d call
>> “intpart” (or “intparts”, tell me).
>> I have already read the GSL Homepage which says that “any new
>> functionality is encouraged as
>> packages”, but such module isn’t very specific, and creating a package
>> would signify creating a totally
>> different library which probably wouldn’t even use any GSL function
>> (could we call it an extension?);
>> then we’ll end up with another C library which probably won’t get
>> integrated into GSL, so I thought
>> you might be interested in including it directly into the main library
>> (obviously after testing ecc.).
>> Just let me know if you prefer that I work on the anonymous clone of
>> the Savannah repo, or that I
>> start a separate project, maybe on GitHub.
>>
>> Yours sincerely,
>> Tito Sacchi
>
>
>

```