> One possibility, which I haven't quite thought through, is to allow the > user to get away with: > > R=PolynomialRing(ZZ) > In principle, the only reason why one *has* to give the indeterminates a name, is to make sure that polynomials can print in a sensible way. However, in the absence of variable names, there are still sensible ways of printing polynomials. To give some ideas:
sage: R=PolynomialRing(ZZ) sage: f=R.0^2+2 sage: f Polynomial over Integers() with coefficient vector [2,0,1] Or, perhaps for multivariate poly's sage: R=PolynomialRing(ZZ,3) sage: f= R.0*R.1+3*R.1^2 Multivariate polynomial over Integers() given by [(1,(1,1)),(3,(0,1))] (i.e., specify a sparse polynomial by a list of pairs of coefficient and exponent vector) As a related example: When I define VectorSpace(Rationals(),5) I shouldn't be required to specify names for the basis vectors either, should I? Would you like to extend your binding injection to get sage: VectorSpace(Rationals(),5,'b') sage: b0,b1,b2 (1 0 0 0 0) (0 1 0 0 0) (0 0 1 0 0) I would be strongly in favour of not making it mandatory to specify indeterminate names. Is it acceptable to allow name assignment later anyway? Or would the violation of the immutability of rings be unacceptable. --~--~---------~--~----~------------~-------~--~----~ 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-devel URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/ -~----------~----~----~----~------~----~------~--~---
