Size: 2347
Comment:
|
← Revision 11 as of 2008-11-14 13:42:03 ⇥
Size: 2028
Comment: converted to 1.6 markup
|
Deletions are marked like this. | Additions are marked like this. |
Line 2: | Line 2: |
== Q' Basis: == Timing data for arithmetic with Hall-Littlewood polynomials in the Q' basis. |
|
Line 5: | Line 3: |
=== Conversion to Schur basis === | == P basis == |
Line 7: | 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) 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] |
Line 31: | Line 15: |
=== Multiplication === Over ZZ: |
The Hall-Littlewood polynomials in the P basis at {{{ 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 {{{ 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 Hall-Littlewood scalar product {{{ 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 }}} |
Line 35: | 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 49: | Line 50: |
Over QQ: | == Qp basis == The Qp basis is dual to the P basis with respect to the standard Hall scalar product. {{{ 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 }}} |
Line 52: | 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 66: | 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). |
Hall-Littlewood Polynomials
P basis
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
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
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 Hall-Littlewood scalar product
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: 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) 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
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