Hi all, I am new to sage, so please forgive me if this is a trivial question.
I am trying to express certain polynomials, which are symmetric in a subset of the variables, in terms of elementary symmetric polynomials on the symmetric subset (with coefficients that are polynomials in the other variables. Here is my setup: _____________________________________________________________________ R.<x1,x2,x3> = PolynomialRing(ZZ,3) C.<c1,c2> = PolynomialRing(R,2) Sym = SymmetricFunctions(R) e = Sym.elementary() def ElemSym(p): # checks whether a polynomial is symmetric (coefficients in ZZ[l1,l2,l3]) f = Sym.from_polynomial(p) return e(f) _____________________________________________________________________ If one enters some polynomials of the desired form by hand, e.g., g = (x1^2 - 2*x2^2)*c1 +c1*c2 + (x1^2 -2*x2^2)*c2 and calls ElemSym(g) then sage returns (x1^2-2*x2^2)*e[1] + e[2] as expected. Now I have some code to generate the polynomial which I am interested in, I store it as p: p = (output of some functions) ( p is ((x1^3 - 2*x1*x2 + x3)*c1^2 - (x1*x2 - x3)*c1 + x3)*c2^2 + x1^3 + c1^2*x3 - (x1*x2 - x3)*c1 - ((x1*x2 - x3)*c1^2 - (x1^3 - x1*x2 + x3)*c1 + x1*x2 - x3)*c2 - 2*x1*x2 + x3) Now the curious thing: p is (naively at least) symmetric in c1 and c2, but calling ElemSym(p) returns an error: ValueError: x0 + 2*x1 + x2 is not a symmetric polynomial but if I copy the polynomial itself and call ElemSym(((x1^3 - 2*x1*x2 + x3)*c1^2 - (x1*x2 - x3)*c1 + x3)*c2^2 + x1^3 + c1^2*x3 - (x1*x2 - x3)*c1 - ((x1*x2 - x3)*c1^2 - (x1^3 - x1*x2 + x3)*c1 + x1*x2 - x3)*c2 - 2*x1*x2 + x3)), then it works and I get (x1^3-2*x1*x2+x3)*e[] + (-x1*x2+x3)*e[1] + x3*e[1, 1] + (x1^3-x1*x2-x3)*e[2] + (-x1*x2+x3)*e[2, 1] + (x1^3-2*x1*x2+x3)*e[2, 2] + (3*x1*x2-3*x3)*e[3] + (-2*x1^3+4*x1*x2-2*x3)*e[3, 1] + (2*x1^3-4*x1*x2+2*x3)*e[4] as expected. Can somebody help me understand what is going on here? -- You received this message because you are subscribed to the Google Groups "sage-support" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-support+unsubscr...@googlegroups.com. To post to this group, send email to sage-support@googlegroups.com. Visit this group at http://groups.google.com/group/sage-support. For more options, visit https://groups.google.com/d/optout.