#13404: Improved printing for symmetric function bases and misc refactoring
---------------------------------------+------------------------------------
       Reporter:  nthiery              |         Owner:  sage-combinat
           Type:  enhancement          |        Status:  needs_review 
       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:               
---------------------------------------+------------------------------------
Changes (by nthiery):

  * keywords:  symmetric functions, => symmetric functions
  * status:  new => needs_review


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

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 homogeneous 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
 }}}

 LLT polynomials:
 {{{
     sage: Sym.llt(3).hspin()
     Sym in the level 3 LLT spin basis
     sage: Sym.llt(3).hcospin()
     Sym in the level 3 LLT cospin basis
 }}}

--

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13404#comment:9>
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