Changes between Initial Version and Version 1 of Ticket #22809, comment 6


Ignore:
Timestamp:
04/14/17 18:02:57 (3 years ago)
Author:
nbruin
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #22809, comment 6

    initial v1  
    55`polygen(*args)` is just a short form of `PolynomialRing(*args).gens()` which helps people who know what a polynomial variable is but not what a polynomial ring is. I think it's a bad design decision to muddle this with other features.
    66
    7 I'm also against providing options to modify the numbering. There's a good reason why `RX=PolynomialRing(R,'x',n)` is allowed: it's clearly desirable to make "a polynomial ring in n variables" in various settings. Sage requires names for these variables, but specifying n names is bothersome if you don't care about the names. Hence the indexing. which agrees with what `RX.gen(i)` does. If you do care what your variable names are called, it's easy to specify a list of names. All kinds of possibilities exist: `["x_%s"%s for i in range(n)]`, `["x^(%s)"%s for i in range(1,n+1)]` etc. It's much better to teach people how to get full customizibility than to give them one more option to discover, which will probably not meet their needs if the develop further.
     7I'm also against providing options to modify the numbering. There's a good reason why `RX=PolynomialRing(R,'x',n)` is allowed: it's clearly desirable to make "a polynomial ring in n variables" in various settings. Sage requires names for these variables, but specifying n names is bothersome if you don't care about the names. Hence the indexing. which agrees with what `RX.gen(i)` does. If you do care what your variable names are called, it's easy to specify a list of names. All kinds of possibilities exist: `["x_%s"%s for i in range(n)]`, `["x^(%s)"%s for i in range(1,n+1)]` etc. It's much better to teach people how to get full customizibility than to give them one more option to discover, which will probably not meet their needs if they develop further.
    88