Hall-Littlewood Polynomials

class sage.combinat.sf.hall_littlewood.HallLittlewoodElement_generic(A, x)
expand(n, alphabet='x')

Expands the symmetric function as a symmetric polynomial in n variables.

EXAMPLES:

sage: HLP  = HallLittlewoodP(QQ)
sage: HLQ  = HallLittlewoodQ(QQ)
sage: HLQp = HallLittlewoodQp(QQ)
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
scalar(x)

Returns standard scalar product between self and s.

This is the default implementation that converts both self and x into Schur functions and performs the scalar product that basis.

EXAMPLES:

sage: HLP  = HallLittlewoodP(QQ)
sage: HLQ  = HallLittlewoodQ(QQ)
sage: HLQp = HallLittlewoodQp(QQ)
sage: HLP([2]).scalar(HLQp([2]))
1
sage: HLP([2]).scalar(HLQp([1,1]))
0
scalar_hl(x, t=None)

Returns the standard Hall-Littlewood scalar product of self and x.

EXAMPLES:

sage: HLP  = HallLittlewoodP(QQ)
sage: HLQ  = HallLittlewoodQ(QQ)
sage: HLQp = HallLittlewoodQp(QQ)
sage: HLP([2]).scalar_hl(HLQ([2]))
1
sage: HLP([2]).scalar_hl(HLQ([1,1]))
0
class sage.combinat.sf.hall_littlewood.HallLittlewoodElement_p(A, x)
class sage.combinat.sf.hall_littlewood.HallLittlewoodElement_q(A, x)
class sage.combinat.sf.hall_littlewood.HallLittlewoodElement_qp(A, x)
sage.combinat.sf.hall_littlewood.HallLittlewoodP(R, t=None)

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.

EXAMPLES:

sage: HallLittlewoodP(QQ)
Hall-Littlewood polynomials in the P basis over Fraction Field of Univariate Polynomial Ring in t over Rational Field
sage: HallLittlewoodP(QQ, t=-1)
Hall-Littlewood polynomials in the P basis with t=-1 over Rational Field
sage: HLP = HallLittlewoodP(QQ)
sage: s = SFASchur(HLP.base_ring())
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)
sage: s = SFASchur(HLP.base_ring())
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)
sage: m = SFAMonomial(HLP.base_ring())
sage: m(HLP([2,2,1])) == m([2,2,1])
True
sage.combinat.sf.hall_littlewood.HallLittlewoodQ(R, t=None)

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)
Hall-Littlewood polynomials in the Q basis over Fraction Field of Univariate Polynomial Ring in t over Rational Field
sage: HallLittlewoodQ(QQ, t=-1)
Hall-Littlewood polynomials in the Q basis with t=-1 over Rational Field
sage.combinat.sf.hall_littlewood.HallLittlewoodQp(R, t=None)

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)
Hall-Littlewood polynomials in the Qp basis over Fraction Field of Univariate Polynomial Ring in t over Rational Field
sage: HallLittlewoodQp(QQ, t=-1)
Hall-Littlewood polynomials in the Qp basis with t=-1 over Rational Field
class sage.combinat.sf.hall_littlewood.HallLittlewood_generic(R, t=None)
__init__(R, t=None)

TESTS:

sage: HallLittlewoodP(QQ)
Hall-Littlewood polynomials in the P basis over Fraction Field of Univariate Polynomial Ring in t over Rational Field
sage: HallLittlewoodP(QQ,t=2)
Hall-Littlewood polynomials in the P basis with t=2 over Rational Field
transition_matrix(basis, n)

Returns the transitions matrix between self and basis for the homogenous component of degree n.

EXAMPLES:

sage: HLP = HallLittlewoodP(QQ)
sage: s   = SFASchur(HLP.base_ring())
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 = HallLittlewoodQ(QQ)
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 = HallLittlewoodQp(QQ)
sage: HLQp.transition_matrix(s,3)
[      1       0       0]
[      t       1       0]
[    t^3 t^2 + t       1]
class sage.combinat.sf.hall_littlewood.HallLittlewood_p(R, t=None)
__init__(R, t=None)

EXAMPLES:

sage: P = HallLittlewoodP(QQ)
sage: P == loads(dumps(P))
True
_coerce_start(x)

Coerce things into the Hall-Littlewood P basis.

  1. Hall-Littlewood polynomials in the Q basis
  2. Hall-Littlewood polynomials in the Q^\prime basis (via the Schurs)
  3. Classical symmetric functions

EXAMPLES:

sage: HLP  = HallLittlewoodP(QQ)
sage: HLQ  = HallLittlewoodQ(QQ)
sage: HLQp = HallLittlewoodQp(QQ)
sage: s = SFASchur(HLP.base_ring()); p = SFAPower(HLP.base_ring()) 
sage: HLP(HLQ([2])) # indirect doctest
(-t+1)*P[2]
sage: HLP(HLQp([2]))
t*P[1, 1] + P[2]
sage: HLP(s([2]))
t*P[1, 1] + P[2]
sage: HLP(p([2]))
(t-1)*P[1, 1] + P[2]
_multiply(left, right)

Convert to the Schur basis, do the multiplication there, and convert back to the P basis.

EXAMPLES:

sage: HLP = HallLittlewoodP(QQ)
sage: HLP([2])^2 # indirect doctest
(t+1)*P[2, 2] + (-t+1)*P[3, 1] + P[4]
_q_to_self(m)

Returns the scalar coefficient on self(m) when converting from the Q basis to the P basis. Note that this assumes that m is a Partition object.

EXAMPLES:

sage: HLP  = HallLittlewoodP(QQ)
sage: HLP._q_to_self(Partition([2,1]))
t^2 - 2*t + 1
_s_cache(n)

Computes the change of basis between the P polynomials and the Schur functions for partitions of size n.

Uses the fact that the transformation matrix is upper-triangular in order to obtain the inverse transformation.

EXAMPLES:

sage: P = HallLittlewoodP(QQ)
sage: P._s_cache(2)
sage: l = lambda c: [ (i[0],[j for j in sorted(i[1].items())]) for i in sorted(c.items())]
sage: l(P._s_to_self_cache[2])
[([1, 1], [([1, 1], 1)]), ([2], [([1, 1], t), ([2], 1)])]
sage: l(P._self_to_s_cache[2])
[([1, 1], [([1, 1], 1)]), ([2], [([1, 1], -t), ([2], 1)])]
_s_to_self(part)

Returns a function which gives the coefficient of a partition in the expansion of the Schur functions s(part) in self.

EXAMPLES:

sage: P = HallLittlewoodP(QQ)
sage: f21 = P._s_to_self(Partition([2,1]))
sage: [f21(p) for p in Partitions(3)]
[0, 1, t^2 + t]
class sage.combinat.sf.hall_littlewood.HallLittlewood_q(R, t=None)
__init__(R, t=None)

EXAMPLES:

sage: Q = HallLittlewoodQ(QQ)
sage: Q == loads(dumps(Q))
True
_coerce_start(x)

EXAMPLES:

sage: HLP  = HallLittlewoodP(QQ)
sage: HLQ  = HallLittlewoodQ(QQ)
sage: HLQp = HallLittlewoodQp(QQ)
sage: s = SFASchur(HLP.base_ring()); p = SFAPower(HLP.base_ring())
sage: HLQ( HLP([2,1]) + HLP([3]) )
(1/(t^2-2*t+1))*Q[2, 1] + (1/(-t+1))*Q[3]
sage: HLQ(HLQp([2])) # indirect doctest
(-t/(-t^3+t^2+t-1))*Q[1, 1] + (1/(-t+1))*Q[2]
sage: HLQ(s([2]))
(-t/(-t^3+t^2+t-1))*Q[1, 1] + (1/(-t+1))*Q[2]
sage: HLQ(p([2]))
(-1/(-t^2+1))*Q[1, 1] + (1/(-t+1))*Q[2]
_multiply(left, right)

Converts to the P basis, does the multiplication there, and converts back to the Q basis.

EXAMPLES:

sage: HLQ = HallLittlewoodQ(QQ)
sage: HLQ([2])^2 # indirect doctest
Q[2, 2] + (-t+1)*Q[3, 1] + (-t+1)*Q[4]
_p_to_self(m)

Returns the scalar coefficient on self(m) when converting from the Q basis to the P basis. Note that this assumes that m is a Partition object.

EXAMPLES:

sage: HLQ  = HallLittlewoodQ(QQ)
sage: HLQ._p_to_self(Partition([2,1]))
1/(t^2 - 2*t + 1)
class sage.combinat.sf.hall_littlewood.HallLittlewood_qp(R, t=None)
__init__(R, t=None)

EXAMPLES:

sage: Qp = HallLittlewoodQp(QQ)
sage: Qp == loads(dumps(Qp))
True
_coerce_start(x)

Coerce things into the Hall-Littlewood Q^\prime basis.

  1. Hall-Littlewood polynomials in the Q basis (via the Schurs)
  2. Hall-Littlewood polynomials in the P basis (via the Schurs)
  3. Classical symmetric functions

EXAMPLES:

sage: HLP  = HallLittlewoodP(QQ)
sage: HLQ  = HallLittlewoodQ(QQ)
sage: HLQp = HallLittlewoodQp(QQ)
sage: s = SFASchur(HLP.base_ring()); p = SFAPower(HLP.base_ring())
sage: HLQp(HLP([2])) # indirect doctest
-t*Qp[1, 1] + (t^2+1)*Qp[2]
sage: HLQp(HLQ([2]))
(t^2-t)*Qp[1, 1] + (-t^3+t^2-t+1)*Qp[2]
sage: HLQp(s([2]))
Qp[2]
sage: HLQp(p([2]))
-Qp[1, 1] + (t+1)*Qp[2]
_multiply(left, right)

Converts the Hall-Littlewood polynomial in the Q^\prime basis to a Schur function, performs the multiplication there, and converts it back to the Q^\prime basis.

EXAMPLES:

sage: HLQp = HallLittlewoodQp(QQ)
sage: HLQp([2])^2 # indirect doctest
Qp[2, 2] + (-t+1)*Qp[3, 1] + (-t+1)*Qp[4]
_s_cache(n)

Computes the change of basis between the Q^\prime polynomials and the Schur functions for partitions of size n.

Uses the fact that the transformation matrix is lower-triangular in order to obtain the inverse transformation.

EXAMPLES:

sage: Qp = HallLittlewoodQp(QQ)
sage: Qp._s_cache(2)
sage: l = lambda c: [ (i[0],[j for j in sorted(i[1].items())]) for i in sorted(c.items())]
sage: l(Qp._s_to_self_cache[2])
[([1, 1], [([1, 1], 1), ([2], -t)]), ([2], [([2], 1)])]
sage: l(Qp._self_to_s_cache[2])
[([1, 1], [([1, 1], 1), ([2], t)]), ([2], [([2], 1)])]
_to_s(part)

Returns a function which gives the coefficient of a partition in the Schur expansion of self(part).

EXAMPLES:

sage: Qp = HallLittlewoodQp(QQ)
sage: f21 = Qp._to_s(Partition([2,1]))
sage: [f21(p) for p in Partitions(3)]
[t, 1, 0]

Previous topic

Kostka-Foulkes Polynomials

Next topic

Jack Polynomials

This Page