#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:
---------------------------------------+------------------------------------
Comment (by aschilling):
I looked over the patch and overall it looks very good to me. Thanks,
Nicolas, for making these changes! Just a quick questions: so this is now
consistent with NSym and QSym, right?
Here is one question:
{{{
sage:
SymmetricFunctions(FractionField(QQ['q','t'])).macdonald().P()
Macdonald polynomials in the P basis over
Fraction Field of Multivariate Polynomial Ring in q, t over Rational Field
1017 sage:
SymmetricFunctions(FractionField(QQ['q','t'])).macdonald(t=2).P()
1018 Macdonald polynomials in the P basis with t=2
over Fraction Field of Multivariate Polynomial Ring in q, t over Rational
Field
1019 sage:
SymmetricFunctions(FractionField(QQ['q','t'])).macdonald(q=2).P()
1020 Macdonald polynomials in the P basis with q=2
over Fraction Field of Multivariate Polynomial Ring in q, t over Rational
Field
1021 sage:
SymmetricFunctions(FractionField(QQ['q','t'])).macdonald(q=2, t=2).P()
1022 Macdonald polynomials in the P basis with q=2
and t=2 over Fraction Field of Multivariate Polynomial Ring in q, t over
Rational Field
1023 sage: Sym =
SymmetricFunctions(FractionField(QQ['t'])).macdonald()
1024 Traceback (most recent call last):
1025 ...
1026 ValueError: parameter q must be in the base
ring
1019 sage: Sym =
SymmetricFunctions(FractionField(QQ['q,t'])); Sym.rename("Sym"); Sym
1020 Sym
1021 sage: Sym.macdonald().P()
1022 Sym in the Macdonald P basis
1023 sage: Sym.macdonald(t=2).P()
1024 Sym in the Macdonald P with t=2 basis
1025 sage: Sym.rename()
1026
1027 TESTS::
1028
1029 sage: Sym.macdonald().P()._prefix
1030 'McdP'
1031 sage: Sym.macdonald().Ht()._prefix
1032 'McdHt'
}}}
Don't you want to keep some tests when q is set to a value or both
parameters are set to a value?
Also, where is zee specified in this code?
{{{
1519 def _dual_basis_default(self):
1520 """
1521 Returns the default value for
``self.dual_basis()``
1522
1523 .. SEEALSO:: :meth:`dual_basis`
1524
1525 EXAMPLES:
1526
1527 This default implementation constructs the dual
basis using
1528 the standard (Hall) scalar product::
1529
1530 sage: Sym = SymmetricFunctions(QQ)
1531 sage: Sym.p()._dual_basis_default()
1532 Dual basis to Symmetric Functions over
Rational Field in the powersum basis with respect to the Hall scalar
product
1533
1534 This is meant to be overiden by subclasses for
which an
1535 explicit dual basis is known::
1536
1537 sage: Sym.s()._dual_basis_default()
1538 Symmetric Functions over Rational Field in the
Schur basis
1539 sage: Sym.h()._dual_basis_default()
1540 Symmetric Functions over Rational Field in the
monomial basis
1541 sage: Sym.m()._dual_basis_default()
1542 Symmetric Functions over Rational Field in the
homogeneous basis
1543 sage: Sym.f()._dual_basis_default()
1544 Symmetric Functions over Rational Field in the
elementary basis
1545 sage: Sym.e()._dual_basis_default()
1546 Symmetric Functions over Rational Field in the
forgotten basis
1547 """
1548 return self.dual_basis(scalar=zee, scalar_name =
"Hall scalar product")
}}}
Other than these questions I am happy to set a positive review!
Anne
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13404#comment:12>
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.