#13404: Improved printing for symmetric function bases and misc refactoring
----------------------------------------------------+-----------------------
Reporter: nthiery | Owner:
sage-combinat
Type: enhancement | Status:
positive_review
Priority: major | Milestone:
sage-pending
Component: combinatorics | Resolution:
Keywords: symmetric functions | Work issues:
Report Upstream: N/A | Reviewers: Anne
Schilling
Authors: Nicolas M. ThiƩry, Mike Zabrocki | Merged in:
Dependencies: #5457 | Stopgaps:
----------------------------------------------------+-----------------------
Changes (by aschilling):
* dependencies: #13399 => #5457
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 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
> }}}
>
> {{{
> sage: Sym.kBoundedSubspace(3,1)
> 3-bounded Symmetric Functions over Rational Field with t=1
> sage: SymmetricFunctions(QQ['t']).kBoundedSubspace(3)
> 3-bounded Symmetric Functions over Univariate Polynomial Ring in t
> over Rational Field
> sage: Sym.kschur(3,1)
> 3-bounded Symmetric Functions over Rational Field with t=1 in the
> 3-Schur basis also with t=1
> sage: Sym.khomogeneous(3)
> 3-bounded Symmetric Functions over Rational Field with t=1 in the
> 3-bounded homogeneous basis
> sage: SymmetricFunctions(QQ['t']).kschur(3)
> 3-bounded Symmetric Functions over Univariate Polynomial Ring in t
> over Rational Field in the 3-Schur basis
> }}}
>
> '''Apply''':
> * [attachment:trac_13404-sf-nt.2.patch]
> * [attachment:trac_13404_kschur_rename-mz.patch]
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
}}}
{{{
sage: Sym.kBoundedSubspace(3,1)
3-bounded Symmetric Functions over Rational Field with t=1
sage: SymmetricFunctions(QQ['t']).kBoundedSubspace(3)
3-bounded Symmetric Functions over Univariate Polynomial Ring in t
over Rational Field
sage: Sym.kschur(3,1)
3-bounded Symmetric Functions over Rational Field with t=1 in the
3-Schur basis also with t=1
sage: Sym.khomogeneous(3)
3-bounded Symmetric Functions over Rational Field with t=1 in the
3-bounded homogeneous basis
sage: SymmetricFunctions(QQ['t']).kschur(3)
3-bounded Symmetric Functions over Univariate Polynomial Ring in t
over Rational Field in the 3-Schur basis
}}}
'''Apply''':
* [attachment:trac_13404-sf-nt.3.patch]
--
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13404#comment:32>
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.