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

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

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 have a patch I am working on but it is disabled.

-Mike

-- 
You received this message because you are subscribed to the Google Groups 
"sage-combinat-devel" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/sage-combinat-devel/-/R2gCbe4gC0oJ.
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.

Reply via email to