Notation used in the definitions follows mainly [Mac1995].
REFERENCES:
| [Mac1995] | (1, 2) I. G. Macdonald, Symmetric functions and Hall polynomials, second ed., The Clarendon Press, Oxford University Press, New York, 1995, With contributions by A. Zelevinsky, Oxford Science Publications. |
Bases: sage.structure.unique_representation.UniqueRepresentation
The family of Hall-Littlewood symmetric function bases By default the paramter for these functions is \(t\) and whatever the paramter is, it must be in the base ring.
INPUT:
EXAMPLES:
sage: SymmetricFunctions(QQ).hall_littlewood(1)
Hall-Littlewood polynomials with t=1 over Rational Field
sage: SymmetricFunctions(QQ['t'].fraction_field()).hall_littlewood()
Hall-Littlewood polynomials over Fraction Field of Univariate Polynomial Ring in t over Rational Field
Returns the algebra of symmetric functions in Hall-Littlewood \(P\) basis. This is the same as the \(HL\) basis in John Stembridge’s SF examples file.
INPUT:
OUTPUT:
EXAMPLES:
sage: Sym = SymmetricFunctions(FractionField(QQ['t']))
sage: HLP = Sym.hall_littlewood().P(); HLP
Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the Hall-Littlewood P basis
sage: SP = Sym.hall_littlewood(t=-1).P(); SP
Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the Hall-Littlewood P with t=-1 basis
sage: s = Sym.schur()
sage: s(HLP([2,1]))
(-t^2-t)*s[1, 1, 1] + s[2, 1]
The Hall-Littlewood polynomials in the \(P\) basis at \(t = 0\) are the Schur functions:
sage: Sym = SymmetricFunctions(QQ)
sage: HLP = Sym.hall_littlewood(t=0).P()
sage: s = Sym.schur()
sage: s(HLP([2,1])) == s([2,1])
True
The Hall-Littlewood polynomials in the \(P\) basis at \(t = 1\) are the monomial symmetric functions:
sage: Sym = SymmetricFunctions(QQ)
sage: HLP = Sym.hall_littlewood(t=1).P()
sage: m = Sym.monomial()
sage: m(HLP([2,2,1])) == m([2,2,1])
True
We end with some examples of coercions between:
- Hall-Littlewood \(P\) basis.
- Hall-Littlewood polynomials in the \(Q\) basis
- Hall-Littlewood polynomials in the \(Q^\prime\) basis (via the Schurs)
- Classical symmetric functions
sage: Sym = SymmetricFunctions(FractionField(QQ['t']))
sage: HLP = Sym.hall_littlewood().P()
sage: HLQ = Sym.hall_littlewood().Q()
sage: HLQp = Sym.hall_littlewood().Qp()
sage: s = Sym.schur()
sage: p = Sym.power()
sage: HLP(HLQ([2])) # indirect doctest
(-t+1)*HLP[2]
sage: HLP(HLQp([2]))
t*HLP[1, 1] + HLP[2]
sage: HLP(s([2]))
t*HLP[1, 1] + HLP[2]
sage: HLP(p([2]))
(t-1)*HLP[1, 1] + HLP[2]
sage: s = HLQp.symmetric_function_ring().s()
sage: HLQp.transition_matrix(s,3)
[ 1 0 0]
[ t 1 0]
[ t^3 t^2 + t 1]
sage: s.transition_matrix(HLP,3)
[ 1 t t^3]
[ 0 1 t^2 + t]
[ 0 0 1]
The method sage.combinat.sf.sfa.SymmetricFunctionAlgebra_generic_Element.hl_creation_operator() is a creation operator for the \(Q\) basis:
sage: HLQp[1].hl_creation_operator([3]).hl_creation_operator([3])
HLQp[3, 3, 1]
Transitions between bases with the parameter \(t\) specialized:
sage: Sym = SymmetricFunctions(FractionField(QQ['y','z']))
sage: (y,z) = Sym.base_ring().gens()
sage: HLy = Sym.hall_littlewood(t=y)
sage: HLz = Sym.hall_littlewood(t=z)
sage: Qpy = HLy.Qp()
sage: Qpz = HLz.Qp()
sage: s = Sym.schur()
sage: s( Qpy[3,1] + z*Qpy[2,2] )
z*s[2, 2] + (y*z+1)*s[3, 1] + (y^2*z+y)*s[4]
sage: s( Qpy[3,1] + y*Qpz[2,2] )
y*s[2, 2] + (y*z+1)*s[3, 1] + (y*z^2+y)*s[4]
sage: s( Qpy[3,1] + y*Qpy[2,2] )
y*s[2, 2] + (y^2+1)*s[3, 1] + (y^3+y)*s[4]
sage: Qy = HLy.Q()
sage: Qz = HLz.Q()
sage: Py = HLy.P()
sage: Pz = HLz.P()
sage: Pz(Qpy[2,1])
(y*z^3+z^2+z)*HLP[1, 1, 1] + (y*z+1)*HLP[2, 1] + y*HLP[3]
sage: Pz(Qz[2,1])
(z^2-2*z+1)*HLP[2, 1]
sage: Qz(Py[2])
((-y+z)/(z^3-z^2-z+1))*HLQ[1, 1] + (1/(-z+1))*HLQ[2]
sage: Qy(Pz[2])
((y-z)/(y^3-y^2-y+1))*HLQ[1, 1] + (1/(-y+1))*HLQ[2]
sage: Qy.hall_littlewood_family() == HLy
True
sage: Qy.hall_littlewood_family() == HLz
False
sage: Qz.symmetric_function_ring() == Qy.symmetric_function_ring()
True
sage: Sym = SymmetricFunctions(FractionField(QQ['q']))
sage: q = Sym.base_ring().gen()
sage: HL = Sym.hall_littlewood(t=q)
sage: HLQp = HL.Qp()
sage: HLQ = HL.Q()
sage: HLP = HL.P()
sage: s = Sym.schur()
sage: s(HLQp[3,2].plethysm((1-q)*s[1]))/(1-q)^2
(-q^5-q^4)*s[1, 1, 1, 1, 1] + (q^3+q^2)*s[2, 1, 1, 1] - q*s[2, 2, 1] - q*s[3, 1, 1] + s[3, 2]
sage: s(HLP[3,2])
(-q^5-q^4)*s[1, 1, 1, 1, 1] + (q^3+q^2)*s[2, 1, 1, 1] - q*s[2, 2, 1] - q*s[3, 1, 1] + s[3, 2]
The \(P\) and \(Q\)-Schur at \(t=-1\) indexed by strict partitions are a basis for the space algebraically generated by the odd power sum symmetric functions:
sage: Sym = SymmetricFunctions(FractionField(QQ['q']))
sage: SP = Sym.hall_littlewood(t=-1).P()
sage: SQ = Sym.hall_littlewood(t=-1).Q()
sage: p = Sym.power()
sage: SP(SQ[3,2,1])
8*HLP[3, 2, 1]
sage: SP(SQ[2,2,1])
0
sage: p(SP[3,2,1])
1/45*p[1, 1, 1, 1, 1, 1] - 1/9*p[3, 1, 1, 1] - 1/9*p[3, 3] + 1/5*p[5, 1]
sage: SP(p[3,3])
-4*HLP[3, 2, 1] + 2*HLP[4, 2] - 2*HLP[5, 1] + HLP[6]
sage: SQ( SQ[1]*SQ[3] -2*(1-q)*SQ[4] )
HLQ[3, 1] + 2*q*HLQ[4]
TESTS:
sage: HLP(s[[]])
HLP[]
sage: HLQ(s[[]])
HLQ[]
sage: HLQp(s[[]])
HLQp[]
Returns the algebra of symmetric functions in Hall-Littlewood \(Q\) basis. This is the same as the \(Q\) basis in John Stembridge’s SF examples file.
More extensive examples can be found in the documentation for the Hall-Littlewood \(P\) basis.
INPUT:
OUTPUT:
EXAMPLES:
sage: Sym = SymmetricFunctions(FractionField(QQ['t']))
sage: HLQ = Sym.hall_littlewood().Q(); HLQ
Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the Hall-Littlewood Q basis
sage: SQ = SymmetricFunctions(QQ).hall_littlewood(t=-1).Q(); SQ
Symmetric Functions over Rational Field in the Hall-Littlewood Q with t=-1 basis
Returns the algebra of symmetric functions in Hall-Littlewood \(Q^\prime\) (Qp) basis. This is dual to the Hall-Littlewood \(P\) basis with respect to the standard scalar product.
More extensive examples can be found in the documentation for the Hall-Littlewood P basis.
INPUT:
OUTPUT:
EXAMPLES:
sage: Sym = SymmetricFunctions(FractionField(QQ['t']))
sage: HLQp = Sym.hall_littlewood().Qp(); HLQp
Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the Hall-Littlewood Qp basis
Returns the base ring of the symmetric functions where the Hall-Littlewood symmetric functions live
INPUT:
OUTPUT:
EXAMPLES
sage: HL = SymmetricFunctions(QQ['t'].fraction_field()).hall_littlewood(t=1)
sage: HL.base_ring()
Fraction Field of Univariate Polynomial Ring in t over Rational Field
The ring of symmetric functions associated to the class of Hall-Littlewood symmetric functions
INPUT:
OUTPUT:
EXAMPLES
sage: HL = SymmetricFunctions(FractionField(QQ['t'])).hall_littlewood()
sage: HL.symmetric_function_ring()
Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field
Returns the algebra of symmetric functions in Hall-Littlewood \(P\) basis. This is the same as the \(HL\) basis in John Stembridge’s SF examples file.
If \(t\) is not specified, then the base ring will be obtained by making the univariate polynomial ring over \(R\) with the variable \(t\) and taking its fraction field.
This function is deprecated. Use instead: SymmetricFunctions(R).hall_littlewood(t=value).P()
EXAMPLES:
sage: HallLittlewoodP(QQ)
doctest:1: DeprecationWarning: Deprecation warning: In the future use SymmetricFunctions(R).hall_littlewood(t=t).P()
See http://trac.sagemath.org/5457 for details.
Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the Hall-Littlewood P basis
sage: HallLittlewoodP(QQ,t=-1)
doctest:1: DeprecationWarning: Deprecation warning: In the future use SymmetricFunctions(R).hall_littlewood(t=-1).P()
See http://trac.sagemath.org/5457 for details.
Symmetric Functions over Rational Field in the Hall-Littlewood P with t=-1 basis
sage: HLP = HallLittlewoodP(QQ)
sage: s = HLP.realization_of().s()
sage: s(HLP([2,1]))
(-t^2-t)*s[1, 1, 1] + s[2, 1]
The Hall-Littlewood polynomials in the \(P\) basis at \(t = 0\) are the Schur functions.
sage: HLP = HallLittlewoodP(QQ,t=0)
doctest:1: DeprecationWarning: Deprecation warning: In the future use SymmetricFunctions(R).hall_littlewood(t=0).P()
See http://trac.sagemath.org/5457 for details.
sage: s = HLP.realization_of().s()
sage: s(HLP([2,1])) == s([2,1])
True
The Hall-Littlewood polynomials in the \(P\) basis at \(t = 1\) are the monomial symmetric functions.
sage: HLP = HallLittlewoodP(QQ,t=1)
doctest:1: DeprecationWarning: Deprecation warning: In the future use SymmetricFunctions(R).hall_littlewood(t=1).P()
See http://trac.sagemath.org/5457 for details.
sage: m = HLP.realization_of().m()
sage: m(HLP([2,2,1])) == m([2,2,1])
True
We end with some examples of coercions between:
- Hall-Littlewood \(P\) basis.
- Hall-Littlewood polynomials in the \(Q\) basis
- Hall-Littlewood polynomials in the \(Q^\prime\) basis (via the Schurs)
- Classical symmetric functions
EXAMPLES:
sage: HLP = HallLittlewoodP(QQ)
sage: HLQ = HallLittlewoodQ(QQ)
doctest:1: DeprecationWarning: Deprecation warning: In the future use SymmetricFunctions(R).hall_littlewood(t=t).Q()
See http://trac.sagemath.org/5457 for details.
sage: HLQp = HallLittlewoodQp(QQ)
doctest:1: DeprecationWarning: Deprecation warning: In the future use SymmetricFunctions(R).hall_littlewood(t=t).Qp()
See http://trac.sagemath.org/5457 for details.
sage: s = HLP.realization_of().s(); p = HLP.realization_of().p()
sage: HLP(HLQ([2])) # indirect doctest
(-t+1)*HLP[2]
sage: HLP(HLQp([2]))
t*HLP[1, 1] + HLP[2]
sage: HLP(s([2]))
t*HLP[1, 1] + HLP[2]
sage: HLP(p([2]))
(t-1)*HLP[1, 1] + HLP[2]
TESTS:
sage: HLP(s[[]])
HLP[]
sage: HLQ(s[[]])
HLQ[]
sage: HLQp(s[[]])
HLQp[]
Returns the algebra of symmetric functions in Hall-Littlewood \(Q\) basis. This is the same as the \(Q\) basis in John Stembridge’s SF examples file.
If \(t\) is not specified, then the base ring will be obtained by making the univariate polynomial ring over \(R\) with the variable \(t\) and taking its fraction field.
EXAMPLES:
sage: HallLittlewoodQ(QQ)
doctest:1: DeprecationWarning: Deprecation warning: In the future use SymmetricFunctions(R).hall_littlewood(t=t).Q()
See http://trac.sagemath.org/5457 for details.
Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the Hall-Littlewood Q basis
sage: HallLittlewoodQ(QQ,t=-1)
doctest:1: DeprecationWarning: Deprecation warning: In the future use SymmetricFunctions(R).hall_littlewood(t=-1).Q()
See http://trac.sagemath.org/5457 for details.
Symmetric Functions over Rational Field in the Hall-Littlewood Q with t=-1 basis
Returns the algebra of symmetric functions in Hall-Littlewood \(Q^\prime\) (Qp) basis. This is dual to the Hall-Littlewood \(P\) basis with respect to the standard scalar product.
If \(t\) is not specified, then the base ring will be obtained by making the univariate polynomial ring over \(R\) with the variable \(t\) and taking its fraction field.
EXAMPLES:
sage: HallLittlewoodQp(QQ)
doctest:1: DeprecationWarning: Deprecation warning: In the future use SymmetricFunctions(R).hall_littlewood(t=t).Qp()
See http://trac.sagemath.org/5457 for details.
Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the Hall-Littlewood Qp basis
sage: HallLittlewoodQp(QQ,t=-1)
doctest:1: DeprecationWarning: Deprecation warning: In the future use SymmetricFunctions(R).hall_littlewood(t=-1).Qp()
See http://trac.sagemath.org/5457 for details.
Symmetric Functions over Rational Field in the Hall-Littlewood Qp with t=-1 basis
Bases: sage.combinat.sf.sfa.SymmetricFunctionAlgebra_generic
A class with methods for working with Hall-Littlewood symmetric functions which are common to all bases.
INPUT:
TESTS:
sage: SymmetricFunctions(QQ['t'].fraction_field()).hall_littlewood().P()
Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the Hall-Littlewood P basis
sage: SymmetricFunctions(QQ).hall_littlewood(t=2).P()
Symmetric Functions over Rational Field in the Hall-Littlewood P with t=2 basis
Bases: sage.combinat.sf.sfa.SymmetricFunctionAlgebra_generic_Element
Methods for elements of a Hall-Littlewood basis that are common to all bases.
Expands the symmetric function as a symmetric polynomial in n variables.
INPUT:
OUTPUT:
EXAMPLES:
sage: Sym = SymmetricFunctions(FractionField(QQ['t']))
sage: HLP = Sym.hall_littlewood().P()
sage: HLQ = Sym.hall_littlewood().Q()
sage: HLQp = Sym.hall_littlewood().Qp()
sage: HLP([2]).expand(2)
x0^2 + (-t + 1)*x0*x1 + x1^2
sage: HLQ([2]).expand(2)
(-t + 1)*x0^2 + (t^2 - 2*t + 1)*x0*x1 + (-t + 1)*x1^2
sage: HLQp([2]).expand(2)
x0^2 + x0*x1 + x1^2
sage: HLQp([2]).expand(2, 'y')
y0^2 + y0*y1 + y1^2
sage: HLQp([2]).expand(1)
x^2
Returns standard scalar product between self and x.
This is the default implementation that converts both self and x into Schur functions and performs the scalar product that basis.
The Hall-Littlewood \(P\) basis is dual to the \(Qp\) basis with respect to this scalar product.
INPUT:
OUTPUT:
EXAMPLES:
sage: Sym = SymmetricFunctions(FractionField(QQ['t']))
sage: HLP = Sym.hall_littlewood().P()
sage: HLQ = Sym.hall_littlewood().Q()
sage: HLQp = Sym.hall_littlewood().Qp()
sage: HLP([2]).scalar(HLQp([2]))
1
sage: HLP([2]).scalar(HLQp([1,1]))
0
sage: HLP([2]).scalar(HLQ([2]), lambda mu: mu.centralizer_size(t = HLP.t))
1
sage: HLP([2]).scalar(HLQ([1,1]), lambda mu: mu.centralizer_size(t = HLP.t))
0
Returns the Hall-Littlewood (with parameter t) scalar product of self and x.
The Hall-Littlewood scalar product is defined in Macdonald’s book [Mac1995]. The power sum basis is orthogonal and \(\langle p_\mu, p_\mu \rangle = z_\mu \prod_{i} 1/(1-t^{\mu_i})\)
The Hall-Littlewood \(P\) basis is dual to the \(Q\) basis with respect to this scalar product.
INPUT:
OUTPUT:
EXAMPLES:
sage: Sym = SymmetricFunctions(FractionField(QQ['t']))
sage: HLP = Sym.hall_littlewood().P()
sage: HLQ = Sym.hall_littlewood().Q()
sage: HLP([2]).scalar_hl(HLQ([2]))
1
sage: HLP([2]).scalar_hl(HLQ([1,1]))
0
sage: HLQ([2]).scalar_hl(HLQ([2]))
-t + 1
sage: HLQ([2]).scalar_hl(HLQ([1,1]))
0
sage: HLP([2]).scalar_hl(HLP([2]))
1/(-t + 1)
The family of Hall-Littlewood bases associated to self
INPUT:
OUTPUT:
EXAMPLES
sage: HLP = SymmetricFunctions(FractionField(QQ['t'])).hall_littlewood(1).P()
sage: HLP.hall_littlewood_family()
Hall-Littlewood polynomials with t=1 over Fraction Field of Univariate Polynomial Ring in t over Rational Field
Returns the transitions matrix between self and basis for the homogenous component of degree n.
INPUT:
OUTPUT:
EXAMPLES:
sage: Sym = SymmetricFunctions(FractionField(QQ['t']))
sage: HLP = Sym.hall_littlewood().P()
sage: s = Sym.schur()
sage: HLP.transition_matrix(s, 4)
[ 1 -t 0 t^2 -t^3]
[ 0 1 -t -t t^3 + t^2]
[ 0 0 1 -t t^3]
[ 0 0 0 1 -t^3 - t^2 - t]
[ 0 0 0 0 1]
sage: HLQ = Sym.hall_littlewood().Q()
sage: HLQ.transition_matrix(s,3)
[ -t + 1 t^2 - t -t^3 + t^2]
[ 0 t^2 - 2*t + 1 -t^4 + t^3 + t^2 - t]
[ 0 0 -t^6 + t^5 + t^4 - t^2 - t + 1]
sage: HLQp = Sym.hall_littlewood().Qp()
sage: HLQp.transition_matrix(s,3)
[ 1 0 0]
[ t 1 0]
[ t^3 t^2 + t 1]
Bases: sage.combinat.sf.hall_littlewood.HallLittlewood_generic
A class representing the Hall-Littlewood \(P\) basis of symmetric functions
Bases: sage.combinat.sf.hall_littlewood.HallLittlewood_generic.Element
Create a combinatorial module element. This should never be called directly, but only through the parent combinatorial free module’s __call__() method.
TESTS:
sage: F = CombinatorialFreeModule(QQ, ['a','b','c'])
sage: B = F.basis()
sage: f = B['a'] + 3*B['c']; f
B['a'] + 3*B['c']
sage: f == loads(dumps(f))
True
Bases: sage.combinat.sf.hall_littlewood.HallLittlewood_generic
The \(Q\) basis is defined as a normalization of the \(P\) basis.
INPUT:
EXAMPLES:
sage: Sym = SymmetricFunctions(FractionField(QQ['t']))
sage: Q = Sym.hall_littlewood().Q()
sage: TestSuite(Q).run(skip=['_test_associativity', '_test_distributivity', '_test_prod']) # products are too expensive, long time (3s on sage.math, 2012)
sage: TestSuite(Q).run(elements = [Q.t*Q[1,1]+Q[2], Q[1]+(1+Q.t)*Q[1,1]]) # long time (depends on previous)
sage: Sym = SymmetricFunctions(FractionField(QQ['t']))
sage: HLP = Sym.hall_littlewood().P()
sage: HLQ = Sym.hall_littlewood().Q()
sage: HLQp = Sym.hall_littlewood().Qp()
sage: s = Sym.schur(); p = Sym.power()
sage: HLQ( HLP([2,1]) + HLP([3]) )
(1/(t^2-2*t+1))*HLQ[2, 1] + (1/(-t+1))*HLQ[3]
sage: HLQ(HLQp([2])) # indirect doctest
(t/(t^3-t^2-t+1))*HLQ[1, 1] + (1/(-t+1))*HLQ[2]
sage: HLQ(s([2]))
(t/(t^3-t^2-t+1))*HLQ[1, 1] + (1/(-t+1))*HLQ[2]
sage: HLQ(p([2]))
(1/(t^2-1))*HLQ[1, 1] + (1/(-t+1))*HLQ[2]
Bases: sage.combinat.sf.hall_littlewood.HallLittlewood_generic.Element
Create a combinatorial module element. This should never be called directly, but only through the parent combinatorial free module’s __call__() method.
TESTS:
sage: F = CombinatorialFreeModule(QQ, ['a','b','c'])
sage: B = F.basis()
sage: f = B['a'] + 3*B['c']; f
B['a'] + 3*B['c']
sage: f == loads(dumps(f))
True
Bases: sage.combinat.sf.hall_littlewood.HallLittlewood_generic
The Hall-Littlewood \(Qp\) basis is calculated through the symmetrica library (see the function HallLittlewood_qp._to_s()).
INPUT:
EXAMPLES:
sage: Sym = SymmetricFunctions(FractionField(QQ['t']))
sage: Qp = Sym.hall_littlewood().Q()
sage: TestSuite(Qp).run(skip=['_test_passociativity', '_test_distributivity', '_test_prod']) # products are too expensive, long time (3s on sage.math, 2012)
sage: TestSuite(Qp).run(elements = [Qp.t*Qp[1,1]+Qp[2], Qp[1]+(1+Qp.t)*Qp[1,1]]) # long time (depends on previous)
sage: Sym = SymmetricFunctions(FractionField(QQ['t']))
sage: HLP = Sym.hall_littlewood().P()
sage: HLQ = Sym.hall_littlewood().Q()
sage: HLQp = Sym.hall_littlewood().Qp()
sage: s = Sym.schur(); p = Sym.power()
sage: HLQp(HLP([2])) # indirect doctest
-t*HLQp[1, 1] + (t^2+1)*HLQp[2]
sage: HLQp(s(HLQ([2]))) # work around bug reported in ticket #12969
(t^2-t)*HLQp[1, 1] + (-t^3+t^2-t+1)*HLQp[2]
sage: HLQp(s([2]))
HLQp[2]
sage: HLQp(p([2]))
-HLQp[1, 1] + (t+1)*HLQp[2]
sage: s = HLQp.symmetric_function_ring().s()
sage: HLQp.transition_matrix(s,3)
[ 1 0 0]
[ t 1 0]
[ t^3 t^2 + t 1]
sage: s.transition_matrix(HLP,3)
[ 1 t t^3]
[ 0 1 t^2 + t]
[ 0 0 1]
Bases: sage.combinat.sf.hall_littlewood.HallLittlewood_generic.Element
Create a combinatorial module element. This should never be called directly, but only through the parent combinatorial free module’s __call__() method.
TESTS:
sage: F = CombinatorialFreeModule(QQ, ['a','b','c'])
sage: B = F.basis()
sage: f = B['a'] + 3*B['c']; f
B['a'] + 3*B['c']
sage: f == loads(dumps(f))
True
Helper function to mimic behavior of old conventions.
INPUT:
EXAMPLES:
sage: sage.combinat.sf.hall_littlewood.NoneConvention(QQ, None)
(Fraction Field of Univariate Polynomial Ring in t over Rational Field, t)
sage: R = QQ['t']
sage: sage.combinat.sf.hall_littlewood.NoneConvention(R, R.gen())
(Univariate Polynomial Ring in t over Rational Field, t)