> 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/
-~----------~----~----~----~------~----~------~--~---

Reply via email to