Skip to content

Implement MacMahon's partition analysis Omega operator #10669

@nthiery

Description

@nthiery

Consider a multivariate fraction F, mixing parameters and variables
(or possibly just an Eliot fraction, where the denonimators are
binomials). The Omega operator applied on F returns the constant term
of F, under the form of a fraction in the parameters.

A typical application of this tool is to build the generating function
for all the solutions to a system of Diophantine linear equation. It
has also been used in many papers to build closed form formula for
generating series.

Implementations and algorithms:

  • [http://www.risc.jku.at/research/combinat/software/Omega/ Mathematica implementation](http://www.risc.jku.at/research/combinat/software/Omega/ Mathematica implementation) by Andrews/Paule/Riese:
    Non-Free. Sources available upon request.

  • [http://www.combinatorics.net.cn/homepage/xin/maple/Ell.rar Maple implementation](http://www.combinatorics.net.cn/homepage/xin/maple/Ell.rar Maple implementation)
    by Guoce Xin who realized that Laurent series were the appropriate
    setup for this problem, both conceptually and to derive efficient
    algorithms using explicit partial fraction decomposition, together
    with subtle heuristics for controlling the number of terms ([2];
    see also Zeilberger opinion [3]).

  • [http://www-irma.u-strasbg.fr/~guoniu/software/ Maple implementation](http://www-irma.u-strasbg.fr/~guoniu/software/ Maple implementation)
    by Guo-Niu Han, who generalized Xin's algorithm from Eliot
    fractions to any rational fraction [3]

  • [http://www.risc.jku.at/research/combinat/software/GenOmega/index.php Mathematica implementation](http://www.risc.jku.at/research/combinat/software/GenOmega/index.php Mathematica implementation) by Wiesinger of Han's algorithm
    The link also point to Wiesinger's master thesis on the topic.

  • [http://mupad-combinat.svn.sourceforge.net/viewvc/mupad-combinat/trunk/MuPAD-Combinat/experimental/2006-06-27-Omega.mu MuPAD crude implementation](http://mupad-combinat.svn.sourceforge.net/viewvc/mupad-combinat/trunk/MuPAD-Combinat/experimental/2006-06-27-Omega.mu MuPAD crude implementation) of Xin's algorithm by Thiéry:

    The only reason to mention it here is for the attempts at using
    proper data structures and object orientation; it is my bet that
    those could eventually yield not only much more readable code, but
    also eventually faster. However at this point the heuristics are
    improperly fine tuned, and the code darn slow.

  • Links with Schur functions, by Fu and Lascoux [4]

  • Sage prototype (Bandlow/Musiker) written at Sage Days 7: ...

[1] http://arxiv.org/abs/math.CO/0408377
[2] http://www.math.rutgers.edu/~zeilberg/Opinion74.html
[3] http://www-irma.u-strasbg.fr/~guoniu/papers/p36omega.pdf
[4] http://arxiv.org/abs/math/0404064

CC: @sagetrac-sage-combinat @jbandlow @sagetrac-gmusiker @zafeirakopoulos

Component: combinatorics

Issue created by migration from https://trac.sagemath.org/ticket/10669

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions