Oops, small typo. Let me try again: def toSF(f): """ Input is a symmetric polynomial in a polynomial ring in finitely many variables. Output is a symmetric function in the monomial basis of the ring of symmetric functions over the same base ring. """ X = f.parent().gens() n = f.parent().ngens() SF = SymmetricFunctions(f.base_ring()) m = SF.monomial() out = m(0) while f != 0: lt = f.lt() c = lt.monomial_coefficient(lt) p = Partition(lt.exponents()[0]) f += -c*m(p).expand(n,X) out += c*m(p) return out
-Jason Jason Bandlow wrote: > Hi Anne, > > Nicolas M. Thiery wrote: >> On Sat, Feb 13, 2010 at 09:53:27AM -0800, Anne Schilling wrote: >>> I would like to write a symmetric polynomial (not function) >>> in terms of one of the usual bases (like Schur polynomials). > >> That's a quite basic feature, that we ought to have (that was fromPoly >> in MuPAD-Combinat). But I fear we don't. At least I could not find it >> browsing through the sources. > > I don't know of the existence of such a function. I've written a very > quick-and-dirty (and very minimally tested) function below. If someone > opens a ticket, I will try to get a proper version of this into sage at > some point. > > Cheers, > Jason > > def toSF(f): > """ Input is a symmetric polynomial in a polynomial ring in finitely > many variables. Output is a symmetric function in the monomial > basis of the ring of symmetric functions over the same base ring. > """ > X = f.parent().gens() > n = f.parent().ngens() > SF = SymmetricFunctions(f.base_ring()) > m = SF.monomial() > out = m(0) > while f != 0: > lt = f.lt() > c = lt.monomial_coefficient(lt) > p = Partition(lt.exponents()[0]) > f += -m(p).expand(n,X) > out += c*m(p) > return out > -- 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-de...@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.