making research on symmetric functions using mupad
play

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


  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

  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

  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

  4. Symmetric functions I: Basic definitions A symmetric polynomial in X = (x 1 , . . . , x n ) 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 λ ) λ n � x k p k ( X ) = et p µ ( X ) = p µ 1 ( X ) . . . p µ q ( X ) . i i =1 • The monomials functions ( m λ ) λ x v = x v 1 � x v 1 . . . x v n m λ = avec n . v ∈ S .λ 4

  5. Implementation I: classical bases domain powersum(R) domain monomial(R) inherits Dom::FreeModule(R, partitions) inherits ... ... category Cat::ModuleWithBasis(R) category ... ... ... end domain 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

  6. Symmetric functions I: Scalar product The space of symmetric functions Λ can be endowed with a scalar product n � i m i ( λ ) m i ( λ )! = δ µ,λ z λ . � p µ , p λ � = δ µ,λ i =1 Schur functions are obtained by orthogonalization of monomials functions with respect to � , � . Example: 2 x 2 + x 1 2 x 3 + x 1 x 2 2 + 2 x 1 x 2 x 3 + S 21 (x 1 , x 2 , x 3 ) = x 1 2 + x 2 2 x 3 + x 2 x 3 2 . x 1 x 3 6

  7. Implementation III: Overloaded operators Implementation of the previous scalar product as an overloaded 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

  8. Symmetric functions II: Hall-Littlewood functions Let consider a t -deformation of the usual scalar product 1 � � p µ , p λ � t = δ µ,λ z λ 1 − t λ i . i ≥ 1 The Hall-Littlewood functions P λ ( X ; t ) are obtained by orthogonalization of the monomials functions. P 21 ( X ; t ) = ( − t 2 − t + 2) m 111 + m 21 = − ( t 2 + t ) s 111 + s 21 . The Hall-Littlewood functions Q λ ( X ; t ) are defined as the dual functions of the P λ ( X ; t ) with respect to � � t . , Q 21 ( X ; t ) = − ( t 4 − t 3 − t 2 + t ) s 111 + ( t 2 − 2 t + 1) s 21 . 8

  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 � � , ′ � � λ ( X ; t ) = K µ,λ ( t ) s µ = H µ,λ ( t ) m µ Q µ ⊢| λ | µ ⊢| λ | where - K µ,λ ( t ) are the Kostka polynomials, - H µ,λ ( t ) are the unrestricted Kostka polynomials. ′ 21 ( X ; t ) = ts 3 + s 21 Q ′ 21 ( X ; t ) = ( t + 2) m 111 + tm 3 + ( t + 1) m 21 . Q 9

  10. A combinatorial interpretation of K µ,λ ( t ) Using ribbon rigged configurations (A. Schilling 2001) 0 0 1 2 2 2 1 1 1 0 0 0 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. � t cc ( ν,J ) H µ,λ ( t ) = ( ν,J ) ∈ RC ( λ,µ ) 10

  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

  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 ) H ( k ) � λ ( X ; t ) = µ,λ ( t ) m µ where t cc ( ν,J ) . H ( k ) � µ,λ ( t ) = ( ν,J ) ∈ URC ( λ,µ ) 1 0 1 −1 1 1 0 −1 2 1 −1 0 −2 0 0 0 0 12

  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

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

  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 overloaded template for each directions – C++ data types − → MuPAD data types: CtoM – MuPAD data types − → C++ data types: MtoC . 15

  16. Steps for the integration Original C++ file Module C++ file #include ”... .h” class path class { ... } #include ”MAPITL.h” void path class::bj() { ... } MFUNC(funct, MCnop) { • n = MtoC(MFarg(1)) void path class::cc() { ... } • call C++ functions MuPAD file • return operands } module(‘‘test.mdm’’) opers:=test::funct(args) Compilation build the mupad object corresponding to the operandes opers Dynamic module test.mdm 16

  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, others definitions from quantum algebra, ...) • Make conversion from C++ code easier 17

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend