#13404: Improve _repr_ for macdonald symmetric functions and friends and further
cleanup
----------------------------------------+-----------------------------------
       Reporter:  nthiery               |         Owner:  sage-combinat
           Type:  enhancement           |        Status:  new          
       Priority:  major                 |     Milestone:  sage-5.4     
      Component:  combinatorics         |    Resolution:               
       Keywords:  symmetric functions,  |   Work issues:               
Report Upstream:  N/A                   |     Reviewers:               
        Authors:  Nicolas M. ThiƩry     |     Merged in:               
   Dependencies:  #13399                |      Stopgaps:               
----------------------------------------+-----------------------------------
Description changed by nthiery:

Old description:

> Due to accumulating history, the names of the various bases of
> Symmetric functions and variants are not very consistent:
>
> {{{
>     sage: Sym = SymmetricFunctions(FractionField(QQ['q,t'])); Sym
>     Symmetric Functions over Fraction Field of Multivariate Polynomial
> Ring in q, t over Rational Field
>     sage: Sym.s()
>     Symmetric Function Algebra over Fraction Field of Multivariate
> Polynomial Ring in q, t over Rational Field, Schur symmetric functions as
> basis
>     sage: Sym.macdonald().P()
>     Macdonald polynomials in the P basis over Fraction Field of
> Multivariate Polynomial Ring in q, t over Rational Field
>     sage: Sym.hall_littlewood().P()
>     Hall-Littlewood polynomials in the P basis over Fraction Field of
> Multivariate Polynomial Ring in q, t over Rational Field
> }}}
>
> This is not consistent either with NCSF/Qsym:
>
> {{{
>     sage: NCSF = NonCommutativeSymmetricFunctions(QQ)
>     sage: NCSF.Psi()
>     Non-Commutative Symmetric Functions over the Rational Field on the
> Psi basis
> }}}
>
> Besides, it is verbose and does not support renaming Sym to get shorter
> names:
>
> {{{
>     sage: Sym.rename("Sym")
>     sage: Sym.s()
>     Symmetric Function Algebra over Fraction Field of Multivariate
> Polynomial Ring in q, t over Rational Field, Schur symmetric functions as
> basis
> }}}
>
> I am in the process of refactoring the _repr_ code to improve this:
>
> {{{
>     sage: Sym = SymmetricFunctions(FractionField(QQ['q,t']));
> Sym.rename("Sym"); Sym
>     Sym
>     sage: Sym.p()
>     Sym on the powersum basis
>     sage: Sym.m()
>     Sym on the monomial basis
>     sage: Sym.e()
>     Sym on the elementary basis
>     sage: Sym.h()                           # should this complete?
>     Sym on the homogeneous basis
>     sage: Sym.s()                           # Mind the capital here
>     Sym on the Schur basis
>     sage: Sym.f()
>     Sym on the forgotten basis
> }}}
>
> Macdonald polynomials:
>
> {{{
>     sage: Sym.macdonald().P()
>     Sym on the Macdonald P basis
>     sage: Sym.macdonald().Ht()
>     Sym on the Macdonald Ht basis
> }}}
>
> Macdonald polynomials, with specialized parameters:
>
> {{{
>     sage: Sym.macdonald(q=1).S()
>     Sym on the Macdonald S with q=1 basis
>     sage: Sym.macdonald(q=1,t=3).P()
>     Sym on the Macdonald P with q=1 and t=3 basis
> }}}
>
> Hall-Littlewood polynomials:
>
> {{{
>     sage: Sym.hall_littlewood().P()
>     Sym on the Hall-Littlewood P basis
>     sage: Sym.hall_littlewood().Qp()
>     Sym on the Hall-Littlewood Qp basis
> }}}
>
> Hall-Littlewood polynomials, with specialized parameter:
>
> {{{
>     sage: Sym.hall_littlewood(t=1).P()
>     Sym on the Hall-Littlewood P with t=1 basis
> }}}

New description:

 Due to accumulating history, the names of the various bases of
 Symmetric functions and variants are not very consistent:

 {{{
     sage: Sym = SymmetricFunctions(FractionField(QQ['q,t'])); Sym
     Symmetric Functions over Fraction Field of Multivariate Polynomial
 Ring in q, t over Rational Field
     sage: Sym.s()
     Symmetric Function Algebra over Fraction Field of Multivariate
 Polynomial Ring in q, t over Rational Field, Schur symmetric functions as
 basis
     sage: Sym.macdonald().P()
     Macdonald polynomials in the P basis over Fraction Field of
 Multivariate Polynomial Ring in q, t over Rational Field
     sage: Sym.hall_littlewood().P()
     Hall-Littlewood polynomials in the P basis over Fraction Field of
 Multivariate Polynomial Ring in q, t over Rational Field
 }}}

 This is not consistent either with NCSF/Qsym:

 {{{
     sage: NCSF = NonCommutativeSymmetricFunctions(QQ)
     sage: NCSF.Psi()
     Non-Commutative Symmetric Functions over the Rational Field in the Psi
 basis
 }}}

 Besides, it is verbose and does not support renaming Sym to get shorter
 names:

 {{{
     sage: Sym.rename("Sym")
     sage: Sym.s()
     Symmetric Function Algebra over Fraction Field of Multivariate
 Polynomial Ring in q, t over Rational Field, Schur symmetric functions as
 basis
 }}}

 I am in the process of refactoring the _repr_ code to improve this:

 {{{
     sage: Sym = SymmetricFunctions(FractionField(QQ['q,t'])); Sym
     Symmetric Functions over Fraction Field of Multivariate Polynomial
 Ring in q, t over Rational Field
     sage: Sym.p()
     Symmetric Functions over Fraction Field of Multivariate Polynomial
 Ring in q, t over Rational Field on the powersum basis
 }}}

 In the following examples, we rename {{{Sym}}} for brevity:

 {{{
     sage: Sym.rename("Sym"); Sym
     Sym
 }}}

 Classical bases:

 {{{
     sage: Sym.p()
     Sym in the powersum basis
     sage: Sym.m()
     Sym in the monomial basis
     sage: Sym.e()
     Sym in the elementary basis
     sage: Sym.h()
     Sym in the complete basis
     sage: Sym.s()                           # Mind the capital here
     Sym in the Schur basis
     sage: Sym.f()
     Sym in the forgotten basis
 }}}




 Macdonald polynomials:

 {{{
     sage: Sym.macdonald().P()
     Sym in the Macdonald P basis
     sage: Sym.macdonald().Ht()
     Sym in the Macdonald Ht basis
 }}}

 Macdonald polynomials, with specialized parameters:

 {{{
     sage: Sym.macdonald(q=1).S()
     Sym in the Macdonald S with q=1 basis
     sage: Sym.macdonald(q=1,t=3).P()
     Sym in the Macdonald P with q=1 and t=3 basis
 }}}

 Hall-Littlewood polynomials:

 {{{
     sage: Sym.hall_littlewood().P()
     Sym in the Hall-Littlewood P basis
     sage: Sym.hall_littlewood().Qp()
     Sym in the Hall-Littlewood Qp basis
 }}}

 Hall-Littlewood polynomials, with specialized parameter:

 {{{
     sage: Sym.hall_littlewood(t=1).P()
     Sym in the Hall-Littlewood P with t=1 basis
 }}}


 Jack polynomials::

 {{{
     sage: Sym.jack().J()
     Sym in the Jack J basis
     sage: Sym.jack().P()
     Sym in the Jack P basis
     sage: Sym.jack().Q()
     Sym in the Jack Q basis
     sage: Sym.jack().Qp()
     Sym in the Jack Qp basis
 }}}

 Jack polynomials, with specialized parameter::

 {{{
     sage: Sym.jack(t=1).J()
     Sym in the Jack J with t=1 basis
 }}}

 Zonal polynomials::

 {{{
     sage: Sym.zonal()
     Sym in the zonal basis
 }}}

--

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13404#comment:5>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to