Differences between revisions 1 and 6 (spanning 5 versions)
 ⇤ ← Revision 1 as of 2007-10-02 19:42:46 → Size: 1157 Editor: MikeHansen Comment: ← Revision 6 as of 2007-10-02 21:02:11 → ⇥ Size: 3326 Editor: MikeHansen Comment: Deletions are marked like this. Additions are marked like this. Line 2: Line 2: This page contains preliminary results for doing computations with the Hall-Littlewood polynomials in the P, Q, and Q' bases.== P Basis: ==== Q Basis: == Line 4: Line 10: === Conversion to Schur basis ===Conversion to the Schur basis uses symmetrica.hall_littlewood.{{{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 sWall time: 0.05sage: time b = S(Qp([3,2,1]))CPU times: user 0.16 s, sys: 0.00 s, total: 0.16 sWall time: 0.15sage: time b = S(Qp([3,3,2,1]))CPU times: user 0.87 s, sys: 0.03 s, total: 0.90 sWall time: 0.89sage: time b = S(Qp([2,2]))CPU times: user 0.02 s, sys: 0.00 s, total: 0.02 sWall time: 0.02sage: time b = S(Qp([3,2,1]))CPU times: user 0.02 s, sys: 0.00 s, total: 0.03 sWall time: 0.03sage: time b = S(Qp([3,3,2,1]))CPU times: user 0.07 s, sys: 0.00 s, total: 0.07 sWall time: 0.07sage: bs[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]}}}=== 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. Line 21: Line 58: Line 38: Line 76: The majority of time spent in the second one is due to coercion from ZZ['t'] to QQ('t') (which should really be much faster). 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])^2CPU times: user 0.78 s, sys: 0.01 s, total: 0.78 sWall time: 0.99sage: time c = Qp([3,2,1])^2CPU times: user 13.28 s, sys: 0.33 s, total: 13.61 sWall time: 13.67sage: time c = Qp([2,2])^2CPU times: user 0.44 s, sys: 0.00 s, total: 0.44 sWall time: 0.44sage: time c = Qp([3,2,1])^2CPU times: user 2.88 s, sys: 0.05 s, total: 2.94 sWall 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).

# Hall-Littlewood Polynomials

This page contains preliminary results for doing computations with the Hall-Littlewood polynomials in the P, Q, and Q' bases.

## Q' Basis:

Timing data for arithmetic with Hall-Littlewood polynomials in the Q' basis.

### Conversion to Schur basis

Conversion to the Schur basis uses symmetrica.hall_littlewood.

```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]```

### 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.

Over ZZ:

```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```

Over QQ:

```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```

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).

combinat/HallLittlewood (last edited 2008-11-14 13:42:03 by anonymous)