But even if we implement expression.laurent_polynomial(), it wouldn't automatically allow conversion from SR to LaurentPolynomialRing, would it? We would need to populate the conversion list somehow.
El jueves, 12 de mayo de 2016, 5:33:50 (UTC+2), Ralf Stephan escribió: > > Then making it Expression.laurent_polynomial() but allowing > polynomial with ring=LaurentPolyRing as argument seems to be > the best interface. > > On Wed, May 11, 2016, 22:26 Nils Bruin <nbr...@sfu.ca <javascript:>> > wrote: > >> On Tuesday, May 10, 2016 at 10:55:20 PM UTC-7, Ralf Stephan wrote: >>> >>> On Tuesday, May 10, 2016 at 10:48:10 PM UTC+2, mmarco wrote: >>>> >>>> Thanks for the answer. So you propose that Expression.polynomial() >>>> should return either a polynomial or a laurent polynomial depending on the >>>> expression? >>>> >>> >>> Depending on expression and ring argument: >>> >> >> >> I think people missed the double definition of `x`, particularly because >> the reassignment of `x` gets hidden by doing in the RHS of an assignment. >> To be clearer: >> >> >>> >>> sage: R = PolynomialRing(QQ,'x') #to avoid confusion about what x is >>> sage: S = LaurentPolynomialRing(QQ, 'y') >>> sage: var('x,y,z') >>> >> sage: parent((z).polynomial(QQ)) >>> Univariate Polynomial Ring in z over Rational Field >>> sage: parent((1/z+z).polynomial(QQ)) >>> Univariate Laurent Polynomial Ring in z over Rational Field >>> >> >> I would say this is an error, because 1/z+z is not a polynomial over QQ >> in most normal senses of the word. Where would you stop? what would >> >> (1/(z+1) + z).polynomial(QQ) >> >> do? Will that return an answer in QQ[z,U]/((z+1)*U-1) ? >> >> I know that in symbolics you have to read off return types from >> properties of the input, not just from its type, but I think this going a >> little too far. "SR.polynomial(...)" should return polynomials in variables >> that are algebraically independent over the base ring. So no laurent >> polynomials. >> >> -- >> You received this message because you are subscribed to a topic in the >> Google Groups "sage-devel" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/sage-devel/WjH8mbsDg2Y/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> sage-devel+...@googlegroups.com <javascript:>. >> To post to this group, send email to sage-...@googlegroups.com >> <javascript:>. >> Visit this group at https://groups.google.com/group/sage-devel. >> For more options, visit https://groups.google.com/d/optout. >> > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.