However not enforcing distinct variable names breaks the following method: sage: R.<x,x> = QQ[] sage: R.gens_dict() {'x': x}
(which is what I'd use to implement algebra_generators). So one must be somewhat careful. Best, Travis On Monday, September 29, 2014 7:44:35 AM UTC-7, Volker Braun wrote: > > We talked about this once, afair it is the same in Magma. Really, there is > no reason for forbidding it. And deep inside your own code you might want > to add a variable to a polynomial ring given to you by the user, and it > would be inconvenient to have to pick a letter that is not yet present in > the user input. > > > > On Monday, September 29, 2014 3:38:34 PM UTC+1, Joao Alberto de Faria > wrote: >> >> While reviewing some code, I realized that the following is currently >> allowed: >> P.<x,x,x,x,x,x> = PolynomialRing(QQ,6) >> P >> >> Multivariate Polynomial Ring in x, x, x, x, x, x over Rational Field >> >> I believe that an object should not be allowed to have repeat instances of >> the same variable names. I don't get any actual wrong answers, but I feel as >> if it >> should be addressed. >> >> After looking around, I have found two separate instances in the code base >> for _assign_names, in category_object.pyx and parent_gens.pyx, both in >> sage/structure. I think that the code should check for duplicates at this >> point. However this seems too high up in the sage hierarchy for me to want >> to >> mess around with it in good conscious. >> >> Is there any reason the code currently operates as is? Or do people agree >> that this needs to be fixed? >> >> -- 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 http://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.