Hall-Littlewood Polynomials¶
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. |
-
sage.combinat.sf.hall_littlewood.
HallLittlewood
¶ The family of Hall-Littlewood symmetric function bases.
The Hall-Littlewood symmetric functions are a family of symmetric functions that depend on a parameter \(t\).
INPUT:
By default the parameter for these functions is \(t\), and whatever the parameter is, it must be in the base ring.
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
-
class
sage.combinat.sf.hall_littlewood.
HallLittlewood_generic
(hall_littlewood)¶ 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:
self
– a Hall-Littlewood symmetric function basishall_littlewood
– a class of Hall-Littlewood bases
-
class
Element
¶ Bases:
sage.combinat.sf.sfa.SymmetricFunctionAlgebra_generic_Element
Methods for elements of a Hall-Littlewood basis that are common to all bases.
-
expand
(n, alphabet='x')¶ Expands the symmetric function as a symmetric polynomial in
n
variables.INPUT:
self
– an element of a Hall-Littlewood basisn
– a positive integeralphabet
– a string representing a variable name (default: ‘x’)
OUTPUT:
- returns a symmetric polynomial of
self
inn
variables
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
-
scalar
(x, zee=None)¶ Returns standard scalar product between
self
andx
.This is the default implementation that converts both
self
andx
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:
self
– an element of a Hall-Littlewood basisx
– another symmetric element of the symmetric functions
OUTPUT:
- returns the scalar product between
self
andx
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
-
scalar_hl
(x, t=None)¶ Returns the Hall-Littlewood (with parameter
t
) scalar product ofself
andx
.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:
self
– an element of a Hall-Littlewood basisx
– another symmetric element of the symmetric functionst
– an optional parameter, if this parameter is not specified then the value of thet
from the basis is used in the calculation
OUTPUT:
- returns the Hall-Littlewood scalar product between
self
andx
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)
-
-
hall_littlewood_family
()¶ The family of Hall-Littlewood bases associated to
self
INPUT:
self
– a Hall-Littlewood symmetric function basis
OUTPUT:
- returns the class of Hall-Littlewood bases
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
-
transition_matrix
(basis, n)¶ Returns the transitions matrix between
self
andbasis
for the homogeneous component of degreen
.INPUT:
self
– a Hall-Littlewood symmetric function basisbasis
– another symmetric function basisn
– a non-negative integer representing the degree
OUTPUT:
- Returns a \(r \times r\) matrix of elements of the base ring of
self
where \(r\) is the number of partitions ofn
. The entry corresponding to row \(\mu\), column \(\nu\) is the coefficient ofbasis
\((\nu)\) inself
\((\mu)\)
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]
-
sage.combinat.sf.hall_littlewood.
HallLittlewood_p
¶ A class representing the Hall-Littlewood \(P\) basis of symmetric functions
-
class
sage.combinat.sf.hall_littlewood.
HallLittlewood_q
(hall_littlewood)¶ Bases:
sage.combinat.sf.hall_littlewood.HallLittlewood_generic
The \(Q\) basis is defined as a normalization of the \(P\) basis.
INPUT:
self
– an instance of the Hall-Littlewood \(P\) basishall_littlewood
– a class for the family of Hall-Littlewood bases
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]
-
class
Element
¶ Bases:
sage.combinat.sf.hall_littlewood.HallLittlewood_generic.Element
-
class
sage.combinat.sf.hall_littlewood.
HallLittlewood_qp
(hall_littlewood)¶ 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:
self
– an instance of the Hall-Littlewood \(P\) basishall_littlewood
– a class for the family of Hall-Littlewood bases
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]
-
class
Element
¶ Bases:
sage.combinat.sf.hall_littlewood.HallLittlewood_generic.Element