3367
Comment:

2028

Deletions are marked like this.  Additions are marked like this. 
Line 1:  Line 1: 
## page was renamed from HallLittlewood  
Line 3:  Line 2: 
This page contains preliminary results for doing computations with the HallLittlewood polynomials in the P, Q, and Q' bases.  
Line 5:  Line 3: 
== P Basis: == == Q Basis: == == Q' Basis: == Timing data for arithmetic with HallLittlewood polynomials in the Q' basis. === Conversion to Schur basis === Conversion to the Schur basis uses symmetrica.hall_littlewood. 
== P basis == 
Line 15:  Line 5: 
sage: Qp = HallLittlewood_qp(QQ) sage: S = SFASchur(QQ['t'].fraction_field()) sage: time b = S(Qp([2,2])) CPU times: user 0.05 s, sys: 0.00 s, total: 0.05 s Wall time: 0.05 sage: time b = S(Qp([3,2,1])) CPU times: user 0.16 s, sys: 0.00 s, total: 0.16 s Wall time: 0.15 sage: time b = S(Qp([3,3,2,1])) CPU times: user 0.87 s, sys: 0.03 s, total: 0.90 s Wall time: 0.89 sage: time b = S(Qp([2,2])) CPU times: user 0.02 s, sys: 0.00 s, total: 0.02 s Wall time: 0.02 sage: time b = S(Qp([3,2,1])) CPU times: user 0.02 s, sys: 0.00 s, total: 0.03 s Wall time: 0.03 sage: time b = S(Qp([3,3,2,1])) CPU times: user 0.07 s, sys: 0.00 s, total: 0.07 s Wall time: 0.07 sage: b s[3, 3, 2, 1] + t*s[3, 3, 3] + t*s[4, 2, 2, 1] + (t^2+t)*s[4, 3, 1, 1] + (t^3+2*t^2+t)*s[4, 3, 2] + (t^4+t^3+t^2)*s[4, 4, 1] + (t^3+t^2)*s[5, 2, 1, 1] + (t^4+t^3+t^2)*s[5, 2, 2] + (t^5+2*t^4+3*t^3+t^2)*s[5, 3, 1] + (t^6+t^5+t^4+t^3)*s[5, 4] + t^4*s[6, 1, 1, 1] + (t^6+2*t^5+2*t^4+t^3)*s[6, 2, 1] + (t^7+t^6+2*t^5+2*t^4)*s[6, 3] + (t^7+t^6+t^5)*s[7, 1, 1] + (t^8+t^7+2*t^6+t^5)*s[7, 2] + (t^9+t^8+t^7)*s[8, 1] + t^10*s[9] 
sage: HallLittlewoodP(QQ) HallLittlewood polynomials in the P basis over Fraction Field of Univariate Polynomial Ring in t over Rational Field sage: HallLittlewoodP(QQ, t=1) HallLittlewood 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^2t)*s[1, 1, 1] + s[2, 1] 
Line 39:  Line 15: 
=== Multiplication === Multiplication in the Q' basis is performed by converting to the Schur basis, performing the multiplication there, and then converting back to the Q' basis. 
The HallLittlewood 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 }}} 
Line 42:  Line 23: 
Over ZZ:  The HallLittlewood 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 }}} == Q basis == The Q basis is dual to the P basis with respect to the HallLittlewood scalar product $<,>_t$. {{{ sage: HallLittlewoodQ(QQ) HallLittlewood polynomials in the Q basis over Fraction Field of Univariate Polynomial Ring in t over Rational Field sage: HallLittlewoodQ(QQ, t=1) HallLittlewood polynomials in the Q basis with t=1 over Rational Field }}} 
Line 45:  Line 41: 
sage: Qp = HallLittlewood_qp(ZZ) sage: time c = Qp([2,2])^2 CPU times: user 0.54 s, sys: 0.01 s, total: 0.55 s Wall time: 0.55 sage: time c = Qp([3,2,1])^2 CPU times: user 11.52 s, sys: 0.24 s, total: 11.76 s Wall time: 11.78 sage: time c = Qp([2,2])^2 CPU times: user 0.21 s, sys: 0.01 s, total: 0.22 s Wall time: 0.22 sage: time c = Qp([3,2,1])^2 CPU times: user 1.16 s, sys: 0.02 s, total: 1.18 s Wall time: 1.18 
sage: HLP = HallLittlewoodP(QQ) sage: HLQ = HallLittlewoodQ(QQ) sage: HLP([2,1]).scalar_t(HLQ([2,1])) 1 sage: HLP([2,1]).scalar_t(HLQ([1,1,1])) 0 sage: HLP([2,1]).scalar_t(HLQ([3])) 0 
Line 60:  Line 51: 
Over QQ:  == Qp basis == The Qp basis is dual to the P basis with respect to the standard Hall scalar product. {{{ sage: HallLittlewoodQp(QQ) HallLittlewood polynomials in the Qp basis over Fraction Field of Univariate Polynomial Ring in t over Rational Field sage: HallLittlewoodQp(QQ, t=1) HallLittlewood polynomials in the Qp basis with t=1 over Rational Field }}} 
Line 63:  Line 61: 
sage: Qp = HallLittlewood_qp(QQ) sage: time c = Qp([2,2])^2 CPU times: user 0.77 s, sys: 0.01 s, total: 0.78 s Wall time: 0.78 sage: time c = Qp([3,2,1])^2 CPU times: user 14.00 s, sys: 0.24 s, total: 14.24 s Wall time: 14.26 sage: time c = Qp([2,2])^2 CPU times: user 0.55 s, sys: 0.01 s, total: 0.56 s Wall time: 0.56 sage: time c = Qp([3,2,1])^2 CPU times: user 3.57 s, sys: 0.08 s, total: 3.65 s Wall time: 3.66 
sage: HLP = HallLittlewoodP(QQ) sage: HLQp = HallLittlewoodQp(QQ) sage: HLP([2,1]).scalar(HLQp([2,1])) 1 sage: HLP([2,1]).scalar(HLQp([1,1,1])) 0 sage: HLP([2,1]).scalar(HLQp([3])) 0 
Line 77:  Line 70: 
The majority of time spent in the last computation is due to coercion from ZZ['t'] to QQ('t') (which should really be much faster). Over RR: {{{ sage: Qp = HallLittlewood_qp(RR) sage: time c = Qp([2,2])^2 CPU times: user 0.78 s, sys: 0.01 s, total: 0.78 s Wall time: 0.99 sage: time c = Qp([3,2,1])^2 CPU times: user 13.28 s, sys: 0.33 s, total: 13.61 s Wall time: 13.67 sage: time c = Qp([2,2])^2 CPU times: user 0.44 s, sys: 0.00 s, total: 0.44 s Wall time: 0.44 sage: time c = Qp([3,2,1])^2 CPU times: user 2.88 s, sys: 0.05 s, total: 2.94 s Wall time: 2.95 }}} The majority of time spent in the last computation is due to coercion from ZZ['t'] to RR('t') (which should really be much faster). 
HallLittlewood Polynomials
P basis
sage: HallLittlewoodP(QQ) HallLittlewood polynomials in the P basis over Fraction Field of Univariate Polynomial Ring in t over Rational Field sage: HallLittlewoodP(QQ, t=1) HallLittlewood 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^2t)*s[1, 1, 1] + s[2, 1]
The HallLittlewood 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 HallLittlewood 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
Q basis
The Q basis is dual to the P basis with respect to the HallLittlewood scalar product <,>_t.
sage: HallLittlewoodQ(QQ) HallLittlewood polynomials in the Q basis over Fraction Field of Univariate Polynomial Ring in t over Rational Field sage: HallLittlewoodQ(QQ, t=1) HallLittlewood polynomials in the Q basis with t=1 over Rational Field
sage: HLP = HallLittlewoodP(QQ) sage: HLQ = HallLittlewoodQ(QQ) sage: HLP([2,1]).scalar_t(HLQ([2,1])) 1 sage: HLP([2,1]).scalar_t(HLQ([1,1,1])) 0 sage: HLP([2,1]).scalar_t(HLQ([3])) 0
Qp basis
The Qp basis is dual to the P basis with respect to the standard Hall scalar product.
sage: HallLittlewoodQp(QQ) HallLittlewood polynomials in the Qp basis over Fraction Field of Univariate Polynomial Ring in t over Rational Field sage: HallLittlewoodQp(QQ, t=1) HallLittlewood polynomials in the Qp basis with t=1 over Rational Field
sage: HLP = HallLittlewoodP(QQ) sage: HLQp = HallLittlewoodQp(QQ) sage: HLP([2,1]).scalar(HLQp([2,1])) 1 sage: HLP([2,1]).scalar(HLQp([1,1,1])) 0 sage: HLP([2,1]).scalar(HLQp([3])) 0