Jack’s symmetric functions appear in [Ma1995] Chapter VI, section 10.
Zonal polynomials are the subject of [Ma1995] Chapter VII.
The parameter in that reference is the parameter
in this
implementation in sage.
REFERENCES:
[Jack1970] A class of symmetric functions with a parameter, Proc. R Soc. Edinburgh (A), 69, 1-18.
[Ma1995] (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 Jack symmetric functions including the ,
,
,
bases. The default parameter is t.
INPUT:
EXAMPLES:
sage: SymmetricFunctions(FractionField(QQ['t'])).jack()
Jack polynomials over Fraction Field of Univariate Polynomial Ring in t over Rational Field
sage: SymmetricFunctions(QQ).jack(1)
Jack polynomials with t=1 over Rational Field
Returns the algebra of Jack polynomials in the basis.
INPUT:
OUTPUT: the basis of the Jack symmetric functions
EXAMPLES:
sage: Sym = SymmetricFunctions(FractionField(QQ['t']))
sage: JJ = Sym.jack().J(); JJ
Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the Jack J basis
sage: Sym = SymmetricFunctions(QQ)
sage: Sym.jack(t=-1).J()
Symmetric Functions over Rational Field in the Jack J with t=-1 basis
At , the Jack polynomials in the
basis are scalar multiples
of the Schur functions with the scalar given by a Partition’s
hook_product method at 1:
sage: Sym = SymmetricFunctions(QQ)
sage: JJ = Sym.jack(t=1).J()
sage: s = Sym.schur()
sage: p = Partition([3,2,1,1])
sage: s(JJ(p)) == p.hook_product(1)*s(p) # long time (4s on sage.math, 2012)
True
At , the Jack polynomials in the
basis are scalar multiples
of the zonal polynomials with the scalar given by a Partition’s
hook_product method at 1.
sage: Sym = SymmetricFunctions(QQ)
sage: JJ = Sym.jack(t=2).J()
sage: Z = Sym.zonal()
sage: p = Partition([2,2,1])
sage: Z(JJ(p)) == p.hook_product(2)*Z(p)
True
sage: Sym = SymmetricFunctions(FractionField(QQ['t']))
sage: JJ = Sym.jack().J()
sage: JP = Sym.jack().P()
sage: JJ(sum(JP(p) for p in Partitions(3)))
1/6*JackJ[1, 1, 1] + (1/(t+2))*JackJ[2, 1] + (1/(2*t^2+3*t+1))*JackJ[3]
sage: s = Sym.schur()
sage: JJ(s([3])) # indirect doctest
((t^2-3*t+2)/(6*t^2+18*t+12))*JackJ[1, 1, 1] + ((2*t-2)/(2*t^2+5*t+2))*JackJ[2, 1] + (1/(2*t^2+3*t+1))*JackJ[3]
sage: JJ(s([2,1]))
((t-1)/(3*t+6))*JackJ[1, 1, 1] + (1/(t+2))*JackJ[2, 1]
sage: JJ(s([1,1,1]))
1/6*JackJ[1, 1, 1]
Returns the algebra of Jack polynomials in the basis.
INPUT:
OUTPUT:
EXAMPLES:
sage: Sym = SymmetricFunctions(FractionField(QQ['t']))
sage: JP = Sym.jack().P(); JP
Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the Jack P basis
sage: Sym.jack(t=-1).P()
Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the Jack P with t=-1 basis
At , the Jack polynomials in the
basis are the Schur
symmetric functions.
sage: Sym = SymmetricFunctions(QQ)
sage: JP = Sym.jack(t=1).P()
sage: s = Sym.schur()
sage: s(JP([2,2,1]))
s[2, 2, 1]
sage: JP(s([2,2,1]))
JackP[2, 2, 1]
At , the Jack polynomials in the
basis are the zonal
polynomials.
sage: Sym = SymmetricFunctions(QQ)
sage: JP = Sym.jack(t=2).P()
sage: Z = Sym.zonal()
sage: Z(JP([2,2,1]))
Z[2, 2, 1]
sage: JP(Z[2, 2, 1])
JackP[2, 2, 1]
sage: JP([2])^2
64/45*JackP[2, 2] + 16/21*JackP[3, 1] + JackP[4]
sage: Z([2])^2
64/45*Z[2, 2] + 16/21*Z[3, 1] + Z[4]
::
sage: Sym = SymmetricFunctions(QQ['a','b'].fraction_field())
sage: (a,b) = Sym.base_ring().gens()
sage: Jacka = Sym.jack(t=a)
sage: Jackb = Sym.jack(t=b)
sage: m = Sym.monomial()
sage: JPa = Jacka.P()
sage: JPb = Jackb.P()
sage: m(JPa[2,1])
(6/(a+2))*m[1, 1, 1] + m[2, 1]
sage: m(JPb[2,1])
(6/(b+2))*m[1, 1, 1] + m[2, 1]
sage: m(a*JPb([2,1]) + b*JPa([2,1]))
((6*a^2+6*b^2+12*a+12*b)/(a*b+2*a+2*b+4))*m[1, 1, 1] + (a+b)*m[2, 1]
sage: JPa(JPb([2,1]))
((6*a-6*b)/(a*b+2*a+2*b+4))*JackP[1, 1, 1] + JackP[2, 1]
sage: Sym = SymmetricFunctions(FractionField(QQ['t']))
sage: JQ = Sym.jack().Q()
sage: JP = Sym.jack().P()
sage: JJ = Sym.jack().J()
sage: JP(JQ([2,1]))
((t+2)/(2*t^3+t^2))*JackP[2, 1]
sage: JP(JQ([3]))
((2*t^2+3*t+1)/(6*t^3))*JackP[3]
sage: JP(JQ([1,1,1]))
(6/(t^3+3*t^2+2*t))*JackP[1, 1, 1]
sage: JP(JJ([3]))
(2*t^2+3*t+1)*JackP[3]
sage: JP(JJ([2,1]))
(t+2)*JackP[2, 1]
sage: JP(JJ([1,1,1]))
6*JackP[1, 1, 1]
sage: s = Sym.schur()
sage: JP(s([2,1]))
((2*t-2)/(t+2))*JackP[1, 1, 1] + JackP[2, 1]
sage: s(_)
s[2, 1]
Returns the algebra of Jack polynomials in the basis.
INPUT:
OUTPUT:
EXAMPLES:
sage: Sym = SymmetricFunctions(FractionField(QQ['t']))
sage: JQ = Sym.jack().Q(); JQ
Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the Jack Q basis
sage: Sym = SymmetricFunctions(QQ)
sage: Sym.jack(t=-1).Q()
Symmetric Functions over Rational Field in the Jack Q with t=-1 basis
sage: Sym = SymmetricFunctions(FractionField(QQ['t']))
sage: JQ = Sym.jack().Q()
sage: JP = Sym.jack().P()
sage: JQ(sum(JP(p) for p in Partitions(3)))
(1/6*t^3+1/2*t^2+1/3*t)*JackQ[1, 1, 1] + ((2*t^3+t^2)/(t+2))*JackQ[2, 1] + (6*t^3/(2*t^2+3*t+1))*JackQ[3]
sage: s = Sym.schur()
sage: JQ(s([3])) # indirect doctest
(1/6*t^3-1/2*t^2+1/3*t)*JackQ[1, 1, 1] + ((2*t^3-2*t^2)/(t+2))*JackQ[2, 1] + (6*t^3/(2*t^2+3*t+1))*JackQ[3]
sage: JQ(s([2,1]))
(1/3*t^3-1/3*t)*JackQ[1, 1, 1] + ((2*t^3+t^2)/(t+2))*JackQ[2, 1]
sage: JQ(s([1,1,1]))
(1/6*t^3+1/2*t^2+1/3*t)*JackQ[1, 1, 1]
Returns the algebra of Jack polynomials in the , which is dual to
the
basis with respect to the standard scalar product.
INPUT:
OUTPUT:
EXAMPLES:
sage: Sym = SymmetricFunctions(FractionField(QQ['t']))
sage: JP = Sym.jack().P()
sage: JQp = Sym.jack().Qp(); JQp
Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the Jack Qp basis
sage: a = JQp([2])
sage: a.scalar(JP([2]))
1
sage: a.scalar(JP([1,1]))
0
sage: JP(JQp([2])) # todo: missing auto normalization
((t-1)/(t+1))*JackP[1, 1] + JackP[2]
sage: JP._normalize(JP(JQp([2])))
((t-1)/(t+1))*JackP[1, 1] + JackP[2]
Returns the base ring of the symmetric functions in which the Jack symmetric functions live
INPUT:
OUTPUT:
EXAMPLES:
sage: J2 = SymmetricFunctions(QQ).jack(t=2)
sage: J2.base_ring()
Rational Field
Returns the base ring of the symmetric functions of the Jack symmetric function bases
INPUT:
OUTPUT:
EXAMPLES:
sage: Jacks = SymmetricFunctions(FractionField(QQ['t'])).jack()
sage: Jacks.symmetric_function_ring()
Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field
Returns the algebra of Jack polynomials in the basis.
If t is not specified, then the base ring will be obtained by
making the univariate polynomial ring over with the variable t
and taking its fraction field.
This function is deprecated. Use instead: SymmetricFunctions(R).jack(t=value).J()
EXAMPLES
sage: JackPolynomialsJ(QQ)
doctest:1: DeprecationWarning: Deprecation warning: In the future use SymmetricFunctions(R).jack(t=t).J()
See http://trac.sagemath.org/5457 for details.
Symmetric Functions over Fraction Field of Univariate Polynomial Ring in t over Rational Field in the Jack J basis
sage: JackPolynomialsJ(QQ,t=-1)
doctest:1: DeprecationWarning: Deprecation warning: In the future use SymmetricFunctions(R).jack(t=-1).J()
See http://trac.sagemath.org/5457 for details.
Symmetric Functions over Rational Field in the Jack J with t=-1 basis
At , the Jack polynomials in the J basis are scalar multiples
of the Schur functions with the scalar given by a Partition’s
hook_product method at 1:
sage: J = JackPolynomialsJ(QQ,t=1); J
doctest:1: DeprecationWarning: Deprecation warning: In the future use SymmetricFunctions(R).jack(t=1).J()
See http://trac.sagemath.org/5457 for details.
Symmetric Functions over Rational Field in the Jack J with t=1 basis
sage: s = SymmetricFunctions(QQ).s()
sage: p = Partition([3,2,1,1])
sage: s(J(p)) == p.hook_product(1)*s(p) # long time (4s on sage.math, 2012)
True
At , the Jack polynomials on the J basis are scalar multiples
of the zonal polynomials with the scalar given by a Partition’s
hook_product method at 1.
sage: t = 2
sage: J = JackPolynomialsJ(QQ,t=t)
doctest:1: DeprecationWarning: Deprecation warning: In the future use SymmetricFunctions(R).jack(t=2).J()
See http://trac.sagemath.org/5457 for details.
sage: Z = ZonalPolynomials(QQ)
doctest:1: DeprecationWarning: Deprecation warning: In the future use SymmetricFunctions(R).zonal()
See http://trac.sagemath.org/5457 for details.
sage: p = Partition([2,2,1])
sage: Z(J(p)) == p.hook_product(t)*Z(p)
True
Returns the algebra of Jack polynomials in the basis.
If t is not specified, then the base ring will be obtained by
making the univariate polynomial ring over with the variable t
and taking its fraction field.
This function is deprecated. Use instead: SymmetricFunctions(R).jack(t=value).P()
EXAMPLES
sage: JackPolynomialsP(QQ)
doctest:1: DeprecationWarning: Deprecation warning: In the future use SymmetricFunctions(R).jack(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 Jack P basis
sage: JackPolynomialsP(QQ,t=-1)
doctest:1: DeprecationWarning: Deprecation warning: In the future use SymmetricFunctions(R).jack(t=-1).P()
See http://trac.sagemath.org/5457 for details.
Symmetric Functions over Rational Field in the Jack P with t=-1 basis
At , the Jack polynomials on the P basis are the Schur
symmetric functions.
sage: P = JackPolynomialsP(QQ,t=1); P
doctest:1: DeprecationWarning: Deprecation warning: In the future use SymmetricFunctions(R).jack(t=1).P()
See http://trac.sagemath.org/5457 for details.
Symmetric Functions over Rational Field in the Jack P with t=1 basis
sage: s = SymmetricFunctions(QQ).s()
sage: P([2,1])^2
JackP[2, 2, 1, 1] + JackP[2, 2, 2] + JackP[3, 1, 1, 1] + 2*JackP[3, 2, 1] + JackP[3, 3] + JackP[4, 1, 1] + JackP[4, 2]
sage: s([2,1])^2
s[2, 2, 1, 1] + s[2, 2, 2] + s[3, 1, 1, 1] + 2*s[3, 2, 1] + s[3, 3] + s[4, 1, 1] + s[4, 2]
At , the Jack polynomials on the
basis are the zonal
polynomials.
sage: P = JackPolynomialsP(QQ,t=2)
doctest:1: DeprecationWarning: Deprecation warning: In the future use SymmetricFunctions(R).jack(t=2).P()
See http://trac.sagemath.org/5457 for details.
sage: Z = ZonalPolynomials(QQ)
doctest:1: DeprecationWarning: Deprecation warning: In the future use SymmetricFunctions(R).zonal()
See http://trac.sagemath.org/5457 for details.
sage: P([2])^2
64/45*JackP[2, 2] + 16/21*JackP[3, 1] + JackP[4]
sage: Z([2])^2
64/45*Z[2, 2] + 16/21*Z[3, 1] + Z[4]
sage: Z(P([2,1]))
Z[2, 1]
sage: P(Z([2,1]))
JackP[2, 1]
Returns the algebra of Jack polynomials in the basis.
If t is not specified, then the base ring will be obtained by
making the univariate polynomial ring over with the variable t
and taking its fraction field.
This function is deprecated. Use instead: SymmetricFunctions(R).jack(t=value).Q()
EXAMPLES
sage: JackPolynomialsQ(QQ)
doctest:1: DeprecationWarning: Deprecation warning: In the future use SymmetricFunctions(R).jack(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 Jack Q basis
sage: JackPolynomialsQ(QQ,t=-1)
doctest:1: DeprecationWarning: Deprecation warning: In the future use SymmetricFunctions(R).jack(t=-1).Q()
See http://trac.sagemath.org/5457 for details.
Symmetric Functions over Rational Field in the Jack Q with t=-1 basis
Returns the algebra of Jack polynomials in the , which is dual to
the
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.
This function is deprecated. Use instead: SymmetricFunctions(R).jack(t=value).Qp()
EXAMPLES
sage: P = JackPolynomialsP(QQ)
doctest:1: DeprecationWarning: Deprecation warning: In the future use SymmetricFunctions(R).jack(t=t).P()
See http://trac.sagemath.org/5457 for details.
sage: Qp = JackPolynomialsQp(QQ)
doctest:1: DeprecationWarning: Deprecation warning: In the future use SymmetricFunctions(R).jack(t=t).Qp()
See http://trac.sagemath.org/5457 for details.
sage: a = Qp([2])
sage: a.scalar(P([2]))
1
sage: a.scalar(P([1,1]))
0
sage: s = P.realization_of().s()
sage: P(Qp([2])) # todo: missing auto normalization
((t-1)/(t+1))*JackP[1, 1] + JackP[2]
sage: P._normalize(P(Qp([2])))
((t-1)/(t+1))*JackP[1, 1] + JackP[2]
Bases: sage.combinat.sf.sfa.SymmetricFunctionAlgebra_generic
A class of methods which are common to all Jack bases of the symmetric functions
INPUT:
EXAMPLES
sage: Sym = SymmetricFunctions(FractionField(QQ['t']))
sage: JP = Sym.jack().P(); JP.base_ring()
Fraction Field of Univariate Polynomial Ring in t over Rational Field
sage: Sym = SymmetricFunctions(QQ)
sage: JP = Sym.jack(t=2).P(); JP.base_ring()
Rational Field
Bases: sage.combinat.sf.sfa.SymmetricFunctionAlgebra_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
A scalar product where the power sums are orthogonal and
INPUT:
self – an element of a Jack basis of the symmetric functions
x – an element of the symmetric functions
the basis)
OUTPUT:
EXAMPLES:
sage: Sym = SymmetricFunctions(FractionField(QQ['t']))
sage: JP = Sym.jack().P()
sage: JQ = Sym.jack().Q()
sage: p = Partitions(3).list()
sage: matrix([[JP(a).scalar_jack(JQ(b)) for a in p] for b in p])
[1 0 0]
[0 1 0]
[0 0 1]
Returns the -Jack scalar product between J(part) and P(part).
INPUT:
OUTPUT:
EXAMPLES
sage: JP = SymmetricFunctions(FractionField(QQ['t'])).jack().P()
sage: JP.c1(Partition([2,1]))
t + 2
Returns the -Jack scalar product between J(part) and Q(part).
INPUT:
self – a Jack basis of the symmetric functions
part – a partition
Jack basis)
OUTPUT:
EXAMPLES:
sage: JP = SymmetricFunctions(FractionField(QQ['t'])).jack().P()
sage: JP.c2(Partition([2,1]))
2*t^3 + t^2
Returns the coproduct of the element elt by coercion to the Schur basis.
INPUT:
OUTPUT:
EXAMPLES:
sage: Sym = SymmetricFunctions(QQ['t'].fraction_field())
sage: Sym.jack().P()[2,2].coproduct() #indirect doctest
JackP[] # JackP[2, 2] + (2/(t+1))*JackP[1] # JackP[2, 1] + ((8*t+4)/(t^3+4*t^2+5*t+2))*JackP[1, 1] # JackP[1, 1] + JackP[2] # JackP[2] + (2/(t+1))*JackP[2, 1] # JackP[1] + JackP[2, 2] # JackP[]
Returns the family of Jack bases associated to the basis self
INPUT:
OUTPUT:
EXAMPLES:
sage: JackP = SymmetricFunctions(QQ).jack(t=2).P()
sage: JackP.jack_family()
Jack polynomials with t=2 over Rational Field
Bases: sage.combinat.sf.jack.JackPolynomials_generic
The basis is a defined as a normalized form of the
basis
INPUT:
EXAMPLES:
sage: J = SymmetricFunctions(FractionField(QQ['t'])).jack().J()
sage: TestSuite(J).run(skip=['_test_associativity', '_test_distributivity', '_test_prod']) # products are too expensive
sage: TestSuite(J).run(elements = [J.t*J[1,1]+J[2], J[1]+(1+J.t)*J[1,1]]) # long time (3s on sage.math, 2012)
Bases: sage.combinat.sf.jack.JackPolynomials_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.jack.JackPolynomials_generic
The basis is uni-triangularly related to the monomial basis and
orthogonal with respect to the Jack scalar product.
INPUT:
EXAMPLES:
sage: P = SymmetricFunctions(FractionField(QQ['t'])).jack().P()
sage: TestSuite(P).run(skip=['_test_associativity', '_test_distributivity', '_test_prod']) # products are too expensive
sage: TestSuite(P).run(elements = [P.t*P[1,1]+P[2], P[1]+(1+P.t)*P[1,1]])
Bases: sage.combinat.sf.jack.JackPolynomials_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
The scalar product on the symmetric functions where the power sums
are orthogonal and
where the t parameter from the Jack symmetric function family.
INPUT:
EXAMPLES
sage: JP = SymmetricFunctions(FractionField(QQ['t'])).jack().P()
sage: l = [JP(p) for p in Partitions(3)]
sage: matrix([[a.scalar_jack(b) for a in l] for b in l])
[ 6*t^3/(2*t^2 + 3*t + 1) 0 0]
[ 0 (2*t^3 + t^2)/(t + 2) 0]
[ 0 0 1/6*t^3 + 1/2*t^2 + 1/3*t]
Returns the scalar product of and
.
This is equation (10.16) of [Mc1995] on page 380.
INPUT:
OUTPUT:
REFRENCES:
[Mc1995] 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.
EXAMPLES:
sage: JP = SymmetricFunctions(FractionField(QQ['t'])).jack().P()
sage: JJ = SymmetricFunctions(FractionField(QQ['t'])).jack().J()
sage: JP.scalar_jack_basis(Partition([2,1]), Partition([1,1,1]))
0
sage: JP._normalize_coefficients(JP.scalar_jack_basis(Partition([3,2,1]), Partition([3,2,1])))
(12*t^6 + 20*t^5 + 11*t^4 + 2*t^3)/(2*t^3 + 11*t^2 + 20*t + 12)
sage: JJ(JP[3,2,1]).scalar_jack(JP[3,2,1])
(12*t^6 + 20*t^5 + 11*t^4 + 2*t^3)/(2*t^3 + 11*t^2 + 20*t + 12)
With a single argument, takes :
sage: JP.scalar_jack_basis(Partition([2,1]), Partition([2,1]))
(2*t^3 + t^2)/(t + 2)
sage: JJ(JP[2,1]).scalar_jack(JP[2,1])
(2*t^3 + t^2)/(t + 2)
Bases: sage.combinat.sf.jack.JackPolynomials_generic
The basis is defined as a normalized form of the
basis
INPUT:
EXAMPLES:
sage: Q = SymmetricFunctions(FractionField(QQ['t'])).jack().Q()
sage: TestSuite(Q).run(skip=['_test_associativity', '_test_distributivity', '_test_prod']) # products are too expensive
sage: TestSuite(Q).run(elements = [Q.t*Q[1,1]+Q[2], Q[1]+(1+Q.t)*Q[1,1]]) # long time (3s on sage.math, 2012)
Bases: sage.combinat.sf.jack.JackPolynomials_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.jack.JackPolynomials_generic
The basis is the dual basis to the
basis with respect to the
standard scalar product
INPUT:
EXAMPLES:
sage: Qp = SymmetricFunctions(FractionField(QQ['t'])).jack().Qp()
sage: TestSuite(Qp).run(skip=['_test_associativity', '_test_distributivity', '_test_prod']) # products are too expensive
sage: TestSuite(Qp).run(elements = [Qp.t*Qp[1,1]+Qp[2], Qp[1]+(1+Qp.t)*Qp[1,1]]) # long time (3s on sage.math, 2012)
Bases: sage.combinat.sf.jack.JackPolynomials_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
Returns the coproduct of the element elt by coercion to the Schur basis.
INPUT:
OUTPUT:
EXAMPLES:
sage: Sym = SymmetricFunctions(QQ['t'].fraction_field())
sage: JQp = Sym.jack().Qp()
sage: JQp[2,2].coproduct() #indirect doctest
JackQp[] # JackQp[2, 2] + (2*t/(t+1))*JackQp[1] # JackQp[2, 1] + JackQp[1, 1] # JackQp[1, 1] + ((4*t^3+8*t^2)/(2*t^3+5*t^2+4*t+1))*JackQp[2] # JackQp[2] + (2*t/(t+1))*JackQp[2, 1] # JackQp[1] + JackQp[2, 2] # JackQp[]
Helper function to mimic behavior of old conventions.
INPUT:
EXAMPLES
sage: sage.combinat.sf.jack.NoneConvention(QQ, None)
(Fraction Field of Univariate Polynomial Ring in t over Rational Field, t)
sage: R = QQ['t']
sage: sage.combinat.sf.jack.NoneConvention(R, R.gen())
(Univariate Polynomial Ring in t over Rational Field, t)
Bases: sage.combinat.sf.sfa.SymmetricFunctionAlgebra_generic
Returns the algebra of zonal polynomials.
INPUT:
EXAMPLES
sage: Z = SymmetricFunctions(QQ).zonal()
sage: Z([2])^2
64/45*Z[2, 2] + 16/21*Z[3, 1] + Z[4]
sage: Z = SymmetricFunctions(QQ).zonal()
sage: TestSuite(Z).run(skip=['_test_associativity', '_test_distributivity', '_test_prod']) # products are too expensive
sage: TestSuite(Z).run(elements = [Z[1,1]+Z[2], Z[1]+2*Z[1,1]])
Bases: sage.combinat.sf.sfa.SymmetricFunctionAlgebra_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
The zonal scalar product has the power sum basis and the zonal
symmetric functions are orthogonal. In particular,
.
INPUT:
OUTPUT:
EXAMPLES
sage: Sym = SymmetricFunctions(QQ)
sage: Z = Sym.zonal()
sage: parts = Partitions(3).list()
sage: matrix([[Z(a).scalar_zonal(Z(b)) for a in parts] for b in parts])
[16/5 0 0]
[ 0 5 0]
[ 0 0 4]
sage: p = Z.symmetric_function_ring().power()
sage: matrix([[Z(p(a)).scalar_zonal(p(b)) for a in parts] for b in parts])
[ 6 0 0]
[ 0 8 0]
[ 0 0 48]
Returns the algebra of zonal polynomials.
This function is deprecated. Use instead: SymmetricFunctions(R).zonal()
EXAMPLES
sage: Z = ZonalPolynomials(QQ)
doctest:1: DeprecationWarning: Deprecation warning: In the future use SymmetricFunctions(R).zonal()
See http://trac.sagemath.org/5457 for details.
sage: a = Z([2])
sage: Z([2])^2
64/45*Z[2, 2] + 16/21*Z[3, 1] + Z[4]
Returns the -Jack scalar product between J(part) and P(part).
INPUT:
OUTPUT:
EXAMPLES:
sage: from sage.combinat.sf.jack import c1
sage: t = QQ['t'].gen()
sage: [c1(p,t) for p in Partitions(3)]
[2*t^2 + 3*t + 1, t + 2, 6]
Returns the t-Jack scalar product between J(part) and Q(part).
INPUT:
OUTPUT:
EXAMPLES:
sage: from sage.combinat.sf.jack import c2
sage: t = QQ['t'].gen()
sage: [c2(p,t) for p in Partitions(3)]
[6*t^3, 2*t^3 + t^2, t^3 + 3*t^2 + 2*t]
If our coefficient ring is the field of fractions over a univariate polynomial ring over the rationals, then we should clear both the numerator and denominator of the denominators of their coefficients.
INPUT:
OUTPUT:
EXAMPLES:
sage: JP = SymmetricFunctions(FractionField(QQ['t'])).jack().P()
sage: t = JP.base_ring().gen()
sage: a = 2/(1/2*t+1/2)
sage: JP._normalize_coefficients(a)
4/(t + 1)
sage: a = 1/(1/3+1/6*t)
sage: JP._normalize_coefficients(a)
6/(t + 2)
sage: a = 24/(4*t^2 + 12*t + 8)
sage: JP._normalize_coefficients(a)
6/(t^2 + 3*t + 2)
Returns the Jack scalar product between p(part1) and p(part2) where
is the power-sum basis.
INPUT:
OUTPUT:
EXAMPLES:
sage: Q.<t> = QQ[]
sage: from sage.combinat.sf.jack import part_scalar_jack
sage: matrix([[part_scalar_jack(p1,p2,t) for p1 in Partitions(4)] for p2 in Partitions(4)])
[ 4*t 0 0 0 0]
[ 0 3*t^2 0 0 0]
[ 0 0 8*t^2 0 0]
[ 0 0 0 4*t^3 0]
[ 0 0 0 0 24*t^4]