Hi Martin

I find this slightly confusing... 
>
I think that p is there to differentiate the variable name (which is p
probably short for 'parameter')
from the variable value (which is by default q).
You don't actually need to have the "p=" in your
command for it to work,

sage: from sage.combinat.q_analogues import q_int
sage: t = QQ['t'].gen()
sage: q_int(3,t)

t^2 + t + 1

sage: q_int(3)
 q^2 + q + 1
sage: q_int(3,3)

13


> Is there a (short) summary why Macdonald polynomials should not add q
> and t to the ring if necessary? 
Let me try. OK...this is not short, but since it is a choice, it means
to argue this that I have to outline all possibilities and try to
explain why there is a preference for one over another.

In some ways I like the idea of inserting the q,t in the
base ring to make sage more user friendly, but it doesn't work
if then they try to change to a classical basis that does not have
these parameters and you want the user to be
conscientious of what parameters are or are not in the base ring.

In other words, it is helpful to add the q,t into the Macdonald
basis if all you are going to do is multiply in that basis or change
to other Macdonald bases, but it is not helpful if you you change
to a classical basis, because then you have to make sure that
those parameters are in the base ring of your classical basis 
anyway.

Here you are asking sage to anticipate what
the user wants and does not want.
When the user types Sym.macdonald() you assume
that they want Sym.macdonald(q,t) instead of
specializing the parameters in the ring.

Given the way the setup is now however, we have the possible sequence
of commands:
sage: Sym = SymmetricFunctions(QQ)
sage: s = Sym.schur()
sage: MHt = Sym.macdonald().Ht()
sage: s(Ht[3,2])
What should be the behavior ?  Maybe the user just failed to specify the 
parameters.
alternative 1: raise an error at "MHt = ..." because q,t are not in the 
base ring
alternative 2: q and t are inserted in the base ring for MHt, 
but s(MHt[3,2])
raises an error because q,t are not in the base ring for s
alternative 3: insert q and t in the base ring for Sym and s and MHt

It seems like alternative 3 is taking too many liberties, and we decided
from the discussion to choose 1 instead of 2 (although, it isn't that hard
to make alternative 2 the convention).

As it is, it is a choice to add or not add the parameter to
the base ring and in this case it is mostly for consistency and to
force the user to think about having the parameters which are
being used in the base ring.

-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/-/FLYzvHoJ7SMJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-combinat-devel?hl=en.

Reply via email to