Expands the symmetric function as a symmetric polynomial in
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
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
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
Returns the algebra of symmetric functions in Hall-Littlewood
basis. This is the same as the
basis in John Stembridge’s SF
examples file.
If is not specified, then the base ring will be obtained by
making the univariate polynomial ring over
with the variable
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 basis at
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 basis at
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
Returns the algebra of symmetric functions in Hall-Littlewood
basis. This is the same as the
basis in John Stembridge’s SF
examples file.
If is not specified, then the base ring will be obtained by
making the univariate polynomial ring over
with the variable
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
Returns the algebra of symmetric functions in Hall-Littlewood (Qp)
basis. This is dual to the Hall-Littlewood
basis with respect to
the standard scalar product.
If is not specified, then the base ring will be obtained by
making the univariate polynomial ring over
with the variable
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
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
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]
EXAMPLES:
sage: P = HallLittlewoodP(QQ)
sage: P == loads(dumps(P))
True
Coerce things into the Hall-Littlewood basis.
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]
Convert to the Schur basis, do the multiplication there, and
convert back to the basis.
EXAMPLES:
sage: HLP = HallLittlewoodP(QQ)
sage: HLP([2])^2 # indirect doctest
(t+1)*P[2, 2] + (-t+1)*P[3, 1] + P[4]
Returns the scalar coefficient on self(m) when converting from the
basis to the
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
Computes the change of basis between the polynomials and the
Schur functions for partitions of size
.
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)])]
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]
EXAMPLES:
sage: Q = HallLittlewoodQ(QQ)
sage: Q == loads(dumps(Q))
True
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]
Converts to the basis, does the multiplication there, and
converts back to the
basis.
EXAMPLES:
sage: HLQ = HallLittlewoodQ(QQ)
sage: HLQ([2])^2 # indirect doctest
Q[2, 2] + (-t+1)*Q[3, 1] + (-t+1)*Q[4]
Returns the scalar coefficient on self(m) when converting from the
basis to the
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)
EXAMPLES:
sage: Qp = HallLittlewoodQp(QQ)
sage: Qp == loads(dumps(Qp))
True
Coerce things into the Hall-Littlewood basis.
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]
Converts the Hall-Littlewood polynomial in the basis to a Schur
function, performs the multiplication there, and converts it back
to the
basis.
EXAMPLES:
sage: HLQp = HallLittlewoodQp(QQ)
sage: HLQp([2])^2 # indirect doctest
Qp[2, 2] + (-t+1)*Qp[3, 1] + (-t+1)*Qp[4]
Computes the change of basis between the polynomials and the
Schur functions for partitions of size
.
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)])]
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]