public inbox for gsl-discuss@sourceware.org
 help / color / mirror / Atom feed
From: Tito Sacchi <tito.sakki@gmail.com>
To: gsl-discuss@sourceware.org
Cc: Massimiliano Sacchi <msacchi@unipv.it>
Subject: Re: intpart module?
Date: Sat, 02 Jun 2018 07:26:00 -0000	[thread overview]
Message-ID: <CABHzpeXe9kz8OF9NVJNZM2Bcw0HzX_kqUaTzmD-SsD1+E6qJnQ@mail.gmail.com> (raw)
In-Reply-To: <d89a184b-f789-ece7-a436-57be87390527@colorado.edu>

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.

For more information see the Wikipedia pages below.

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

  reply	other threads:[~2018-06-02  7:26 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-31 19:01 Tito Sacchi
2018-05-31 19:16 ` Patrick Alken
2018-06-02  7:26   ` Tito Sacchi [this message]
2018-06-06  2:33     ` Patrick Alken
2018-06-06 18:28       ` Tito Sacchi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CABHzpeXe9kz8OF9NVJNZM2Bcw0HzX_kqUaTzmD-SsD1+E6qJnQ@mail.gmail.com \
    --to=tito.sakki@gmail.com \
    --cc=gsl-discuss@sourceware.org \
    --cc=msacchi@unipv.it \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).