On Tuesday 18 September 2007, John Cremona wrote: > [I'm not sure why this thread is atll called "Calculus"!] > > This is a basic mathematics/CS divide. Mathematicians will expect > their vectors of length n to have indices 1..n and similarly for > matrices and so on. The packages pari and magma use that convention > accordinly, since they are written for mathematicians to be as close > to mathematical notation as possible, and this is a great help to > getting mathematicians to do computations. > > I think there's a real problem if we tell mathematicians tat to use > SAGE properly they have to both learn programming in a language they > have probably never heard of (sorry, but that is the case with pyhton > and mathematicians) and also re-learn habits of a lifetime. There is > a very steep learning curve involved in learning a new package in any > case -- it took me years to get a "feel for" magma, and I still don't > have a good one for SAGE -- and it does not take a lot to put people > off. > > Sorry if this sounds negative, but I have a feeling that sage-devel > has more CS people in it than mathematicians!
The main issue is: Starting at 1 cannot be done if you want to keep using Python, i.e. not reinventing the wheel. You can change the SAGE library code but everything core Python will still start counting at zero. Also, other libraries you might want to use with SAGE (one of the cool things about SAGE is that you can use it with all the other cool Python libraries) will still start counting at 0. Introducing a couple of functions which start counting at 1 will make things more difficult than easy. The rule: start counting at zero is easy enough to understand, though I appreciate that it is sometimes odd if you are working with a paper and have to fiddle with the indices. The rule: "sometimes we start at one and often at zero" is way harder to get IMHO. So if we set aside our personal preferences and backgrounds (CS and Math) for a moment: by choosing a mainstream programming language the choice to start counting at zero was made as well. If we are not happy about it we might need to fork Python (this is not a proposal :-)). Also, the argument given above is a marketing argument. It is about convincing somebody to use a piece of software. I don't think it is a good idea to change a clean, well understood and dominant design (at least in CS to be precise) just for the purpose of convincing somebody to use a product, when we don't even know, if [s]he's interested in it. If SAGE has the (best) tools researchers need, they will use it. If somebody refuses to use a piece of software because of indexing differences ... well ... I honestly wouldn't know what to say. Martin -- name: Martin Albrecht _pgp: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99 _www: http://www.informatik.uni-bremen.de/~malb _jab: [EMAIL PROTECTED] --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com 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/ -~----------~----~----~----~------~----~------~--~---