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.
