MAKING RESEARCH ON SYMMETRIC FUNCTIONS USING MUPAD-COMBINAT - - PowerPoint PPT Presentation

making research on symmetric functions using mupad
SMART_READER_LITE
LIVE PREVIEW

MAKING RESEARCH ON SYMMETRIC FUNCTIONS USING MUPAD-COMBINAT - - PowerPoint PPT Presentation

2nd International Congress On Mathematical Softwares Castro Urdiales - 2 september 2006 MAKING RESEARCH ON SYMMETRIC FUNCTIONS USING MUPAD-COMBINAT Francois Descouens Laboratoire dInformatique de lInstitut Gaspard Monge Universit e


slide-1
SLIDE 1

2nd International Congress On Mathematical Softwares Castro Urdiales - 2 september 2006

MAKING RESEARCH ON SYMMETRIC FUNCTIONS USING MUPAD-COMBINAT

Francois Descouens

Laboratoire d’Informatique de l’Institut Gaspard Monge Universit´ e de Marne-la-Vall´ ee

1

slide-2
SLIDE 2

Computer science for algebraic combinatorics

  • Interpretation of mathematical identities using

combinatorial objects (groups representation theory, Hopf algebras, symmetric functions, ...) − → efficient software for huge computations.

  • Throught an example of collaborative situation of

research in quantum algebra, we present in MuPAD-Combinat, the feactures – implementation of symmetric functions, – implementation of combinatorial objects, – integration of C/C++ programs.

2

slide-3
SLIDE 3

Generality on MuPAD-Combinat

  • A library for the computer algebra system MuPAD.
  • Research in algebraic combinatorics.
  • Under licence LGPL and hosted on Sourceforge

servers (www.mupad-combinat.sf.net).

  • Borned in 2001 under the leadership of

– F. Hivert (florent.hivert@univ-rouen.fr), – N. Thi´ ery (nthiery@users.sf.net).

3

slide-4
SLIDE 4

Symmetric functions I: Basic definitions A symmetric polynomial in X = (x1, . . . , xn) is a polynomial invariant under permutation of X. If X is infinite we says symmetric function. Several linear bases indexed by partitions.

  • The powersums (pλ)λ

pk(X) =

n

  • i=1

xk

i

et pµ(X) = pµ1(X) . . . pµq(X) .

  • The monomials functions (mλ)λ

mλ =

  • v∈S.λ

xv avec xv = xv1

1 . . . xvn n . 4

slide-5
SLIDE 5

Implementation I: classical bases

domain powersum(R) inherits Dom::FreeModule(R, partitions) category Cat::ModuleWithBasis(R)

...

... end domain domain monomial(R) inherits ... category ... ... end domain domain Sym(R=Dom::Complex) inherits Dom::BaseDomain category Cat::ModuleWithSeveralBases(R) p := powersum(dom::coeffRing) m := monomial(dom::coeffRing) basisChangesBasis := table( (dom::p, dom::m) = (part − → dom::p::algebraMorphism(i − → dom::m([i]))) (dom::m, dom::p) = dom::invertBasisChangeBasis(dom::p, dom::m)) end domain

5

slide-6
SLIDE 6

Symmetric functions I: Scalar product The space of symmetric functions Λ can be endowed with a scalar product pµ, pλ = δµ,λ

n

  • i=1

imi(λ)mi(λ)! = δµ,λzλ . Schur functions are obtained by orthogonalization of monomials functions with respect to , . Example: S21(x1, x2, x3) = x1

2 x2 + x1 2 x3 + x1 x2 2 + 2 x1 x2 x3 +

x1 x3

2 + x2 2 x3 + x2 x3 2 . 6

slide-7
SLIDE 7

Implementation III: Overloaded operators Implementation of the previous scalar product as an

  • verloaded operator
  • declaration of the new operator

scalar := operators::overloaded((x,y) − → error(...));

  • implementation of a nice or simpler expression

declareSignature (dom::scalar, [dom::p, dom::p], proc(f,g) : dom::coeffRing local u; begin simplify(_plus( combinat::partitions::centralizerSize(op(u,2),)* coeff(f,op(u,2))*op(u,1) $ u in poly2list(g)); end_proc)

  • use of this new operator

>> S::scalar(S::m([2,1]), S::m([1,1,1])) ;

  • 2

7

slide-8
SLIDE 8

Symmetric functions II: Hall-Littlewood functions Let consider a t-deformation of the usual scalar product pµ, pλt = δµ,λzλ

  • i≥1

1 1 − tλi . The Hall-Littlewood functions Pλ(X; t) are obtained by

  • rthogonalization of the monomials functions.

P21(X; t) = (−t2 − t + 2)m111 + m21 = −(t2 + t)s111 + s21. The Hall-Littlewood functions Qλ(X; t) are defined as the dual functions of the Pλ(X; t) with respect to , t. Q21(X; t) = −(t4 − t3 − t2 + t)s111 + (t2 − 2t + 1)s21 .

8

slide-9
SLIDE 9

Symmetric functions II: Hall-Littlewood functions Hall-Littlewood functions Q

λ(X; t) are defined as the

dual functions of the Pλ(X; t) with respect to ,

  • Q

λ(X; t) =

  • µ⊢|λ|

Kµ,λ(t)sµ =

  • µ⊢|λ|

Hµ,λ(t)mµ where

  • Kµ,λ(t) are the Kostka polynomials,
  • Hµ,λ(t) are the unrestricted Kostka polynomials.

Q

21(X; t) = ts3 + s21

Q

21(X; t) = (t + 2)m111 + tm3 + (t + 1)m21 . 9

slide-10
SLIDE 10

A combinatorial interpretation of Kµ,λ(t) Using ribbon rigged configurations (A. Schilling 2001)

1 1 2 1 2 1 2 1 1

◮ Increasing sequence of partitions with

  • with outside numbers called quantum numbers
  • and the frontier filled with vacancy numbers

◮ Cocharge: (1 × 1 + 0 × 1 + 0 × 2) + (1 + 1 + 1) = 4. Hµ,λ(t) =

  • (ν,J)∈RC(λ,µ)

tcc(ν,J)

10

slide-11
SLIDE 11

Implementation of combinatorial objects

domain combinat::skewRiggings inherits Dom::BaseDomain; category Cat::CombinatorialClassWith2DBoxedRepresentation; new := ... ... list := ... count := ... ... end_domain:

An object is built from its operands and it is printing on the screen

>> a:=combinat::skewRiggings([[], [[[0], [0, 1]], [[""], [0, 1]]]]); +---+ | 0 | 0 1 +---+ | | 0 1 +---+ >> expr(a); [[], [[[0], [0, 1]], [[""], [0, 1]]]]

11

slide-12
SLIDE 12

Filtration of Kostka polynomials For a given partition λ, we define combinatorialy an increasing sequence of functions (H(k)

λ )k∈N using

unrestricted rigged configurations (L. Deka and A. Schilling 2004) H(k)

λ (X; t) =

  • H(k)

µ,λ(t)mµ

where H(k)

µ,λ(t) =

  • (ν,J)∈URC(λ,µ)

tcc(ν,J) .

−1 1 1 1 −1 1 2 −2 −1 1

12

slide-13
SLIDE 13

Implementation of these new bases To add new basis on the fly

  • we use a generic basis S::newBasis

S::declareBasis(S::newBasis(‘‘H2’’))

  • and we declare the change of basis we want

S::declareBasisChangeBasis(S::H2, S::m, part -> ...)

Pb: We need a function computing the generating polynomial H(k)

µ,λ(t).

− → We will use a existing implementation in C++

13

slide-14
SLIDE 14

Find a bijection for the top level case Open problem in the case of Hall-Littlewood functions find a bijection between these two kind of rigged configurations which preserve the statistics.

  • Existing very technical and difficult implementation
  • f the unrestricted rigged configurations written in

C++.

  • Existing implementation in pure MuPAD of

unrestricted rigged configurations. − → For manipulating both of these structures, we interface the C++ code with MuPAD in a transparent way for the user.

14

slide-15
SLIDE 15

Integration of external C++ programs We use MAPITL library (MuPAD Application Programming Interface Template Library)

  • Wrappers to use MuPAD lists as standard containers.
  • Easy C++ ←

→ MuPAD conversions with one single

  • verloaded template for each directions

– C++ data types − → MuPAD data types: CtoM – MuPAD data types − → C++ data types: MtoC.

15

slide-16
SLIDE 16

Steps for the integration

MuPAD file module(‘‘test.mdm’’)

  • pers:=test::funct(args)

build the mupad object corresponding to the

  • perandes opers

Original C++ file class path class { ...} void path class::bj(){... } void path class::cc(){... } Module C++ file #include ”... .h” #include ”MAPITL.h” MFUNC(funct, MCnop){

  • n = MtoC(MFarg(1))
  • call C++ functions
  • return operands}

Dynamic module test.mdm

Compilation

16

slide-17
SLIDE 17

Future works

  • Improvement of symmetric functions

– fastest conversion in each case – design and implementation of manipulation of alphabets – implementation of others filtrations of Kostka polynomials (quick k-Schur functions for example,

  • thers definitions from quantum algebra, ...)
  • Make conversion from C++ code easier

17