Ceterum censeo: The use of symbolic expressions for the creation of a
polynomial ring should be deprecated (see trac ticket #10483).

Mistaking a symbolic expression for an element of a polynomial ring of
the same name is a *very* common error, and would be easy to avoid by
making the PolynomialRing constructor insist that the names be given
by a list of strings or by one string and one integer - it should not
try to make sense of string representations of arbitrary objects.

Hence:
We should ban
  sage: R = PolynomialRing(QQ,names=[singular])
  sage: R
  Univariate Polynomial Ring in Singular over Rational Field
(Note that singular in lower case [which is the Sage pseudo-tty
interface to Singular] is interpreted as the variable name Singular in
upper case)
  sage: QQ[(sage0,)]
  Univariate Polynomial Ring in Sage over Rational Field
(dito, but this time the interface sage0 to a sage subprocess is read
as "Sage").

And we should deprecate
  sage: gens = var('x y z')
  sage: PolynomialRing(QQ,gens)
  Multivariate Polynomial Ring in x, y, z over Rational Field

The recommended ways of creating a polynomial ring are actually
shorter than the hopefully-to-be-deprecated way:
  sage: R.<x,y,z> = QQ[] # which defines x,y,z globally, but only on
the command line
or
  sage: R = QQ['x, y, z']
or
  sage: R = QQ['x', 'y', 'z']

Cheers,
Simon

-- 
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-support
URL: http://www.sagemath.org

Reply via email to