Hi Mike, On 5/13/12 7:14 PM, Mike Zabrocki wrote: > I have been digging into Macdonald polynomials all this last week and every > time I think I have a way of cleaning up the problem, I scratch the surface > and another problem arises. > > I'd like some advice about what should be going on behind the scenes. I know > what behavior we would like to have. > > Here is some strange behavior (bugs) with what we have now: > Example 1 > sage: reset() > sage: R = FractionField(QQ['q','t']) > sage: (q,t) = R.gens() > sage: Ht = MacdonaldPolynomialsHt(R) > sage: s = SFASchur(R) > sage: s(Ht[3,1]) # I don't think this is correct behavior > TypeError: not a constant polynomial > sage: s = SFASchur(Ht.base_ring()) # ah, thats better > q^3*t*s[1, 1, 1, 1] + (q^3+q^2*t+q*t)*s[2, 1, 1] + (q^2+q*t)*s[2, 2] + > (q^2+q+t)*s[3, 1] + s[4] > sage: s.base_ring() > Fraction Field of Multivariate Polynomial Ring in q, t over Fraction Field of > Multivariate Polynomial Ring in q, t over Rational Field
I think your brain is already too used to the new set-up. As far as I remember the way to currently access the Macdonald polynomials is: sage: Ht = MacdonaldPolynomialsHt(QQ) sage: s = SFASchur(Ht.base_ring()) sage: s(Ht[3,1]) q^3*t*s[1, 1, 1, 1] + (q^3+q^2*t+q*t)*s[2, 1, 1] + (q^2+q*t)*s[2, 2] + (q^2+q+t)*s[3, 1] + s[4] sage: s.base_ring() Fraction Field of Multivariate Polynomial Ring in q, t over Rational Field Note, the input field is QQ and not the fraction field. > Example 2 - > sage: reset() > sage: R = FractionField(QQ['q','t']) > sage: (q,t) = R.gens() > sage: Ht1 = MacdonaldPolynomialsHt(R) > sage: Ht2 = MacdonaldPolynomialsHt(R,t=1) > sage: s = SFASchur(Ht1.base_ring()) > sage: s(Ht1[3,1]) # I guess this answer is right > q^3*t*s[1, 1, 1, 1] + (q^3+q^2*t+q*t)*s[2, 1, 1] + (q^2+q*t)*s[2, 2] + > (q^2+q+t)*s[3, 1] + s[4] > sage: s(Ht2[3,1]) #but this one is clearly wrong > q^3*t*s[1, 1, 1, 1] + (q^3+q^2*t+q*t)*s[2, 1, 1] + (q^2+q*t)*s[2, 2] + > (q^2+q+t)*s[3, 1] + s[4] > sage: s.base_ring() > Fraction Field of Multivariate Polynomial Ring in q, t over Fraction Field of > Multivariate Polynomial Ring in q, t over Rational Field Same here: sage: reset() sage: Ht1 = MacdonaldPolynomialsHt(QQ) sage: Ht2 = MacdonaldPolynomialsHt(QQ,t=1) sage: s = SFASchur(Ht1.base_ring()) sage: s(Ht1[3,1]) q^3*t*s[1, 1, 1, 1] + (q^3+q^2*t+q*t)*s[2, 1, 1] + (q^2+q*t)*s[2, 2] + (q^2+q+t)*s[3, 1] + s[4] sage: s(Ht2[3,1]) q^3*s[1, 1, 1, 1] + (q^3+q^2+q)*s[2, 1, 1] + (q^2+q)*s[2, 2] + (q^2+q+1)*s[3, 1] + s[4] sage: s.base_ring() Fraction Field of Multivariate Polynomial Ring in q, t over Rational Field > sage: reset() > sage: R = FractionField(QQ['q','t']) > sage: Ht = MacdonaldPolynomialsHt(R,q=1) > sage: s = SFASchur(Ht.base_ring()) > sage: Ht > Macdonald polynomials in the Ht basis with q=1 over Fraction Field of > Univariate Polynomial Ring in t over Fraction Field of Multivariate > Polynomial Ring in q, t over Rational Field > sage: s(Ht[3,1]) # and the same problem exists with q=1 > q^3*t*s[1, 1, 1, 1] + (q^3+q^2*t+q*t)*s[2, 1, 1] + (q^2+q*t)*s[2, 2] + > (q^2+q+t)*s[3, 1] + s[4] > > # So what seems to make these work better is that we assign a value to both q > and t at the same time > sage: R = FractionField(QQ['q','t']) > sage: (q,t) = R.gens() > sage: Ht = MacdonaldPolynomialsHt(R,q=1,t=t) > sage: s = SFASchur(Ht.base_ring()) > sage: s(Ht[3,1]) > t*s[1, 1, 1, 1] + (2*t+1)*s[2, 1, 1] + (t+1)*s[2, 2] + (t+2)*s[3, 1] + s[4] > > So what is the right way of fixing this? Should I calculate the qt-Kostka > polynomials > for arbitrary q and t and specialize later? Should I make sure that the > base_ring() behaves the way it does when set q=x, t=y? I think you just used the wrong input base field for the current set-up. Best, Anne -- You received this message because you are subscribed to the Google Groups "sage-combinat-devel" group. To post to this group, send email to sage-combinat-devel@googlegroups.com. To unsubscribe from this group, send email to sage-combinat-devel+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sage-combinat-devel?hl=en.