> And I must add that even so it is annoying for code, we do need the
> 1-starting permutations. All the combinatorists I know do not even think a
> permutation can start at 0. It makes things more complicated for us and we
> need to put extra care in code and documentation but we do need to print
and
> accept entries as 1-starting perms. Not only for backward compatibility
but
> also for real-non-coder-people compatibility.

Those combinatorists who would not think that one can define a 0-based
permutation probably think the same for arrays, yet in every language I
know arrays are 0-based. They will have to deal with this hard truth
eventually.

More importantly: why is it so easy for you to behave as if the time we
(=coder-people) waste on those bugs is worth less than the time non-coder
users waste on that ? It took me more than half an hour to find that out
the last time I had a bug with a permutation group code. Just because of a
tuple instead of a list ! Why is my time less valuable than somebody else's
? Why can't we make code that is good and useful for us ? Why should we
make our work harder just to keep users in a dream world where permutations
are 1-based, arrays 0-based, and some functions like Nicolas' handle both ?
(and what kind of dream world is that ?).

I am not a Sage employee. I use Sage for work and I contribute, but I don't
know why I should keep on adding +1 and -1 in my permutation code if it is
more practical for me and for all other developpers to have 0-based
permutations. All it can do is cause more bugs and waste our time. A free
software is a tool that developpers build for themselves.

By the way:
1) Even in your way of looking at things the syntax is incorrect: a
permutation can be defined as a list of cycles, so okay for Permutation(
((1,2,3),) ), but not for Permutation((1,2,3)). This is already sufficient
to avoid the confusion above, and the distinction between tuples and lists.

2) Really, look at that:

sage: Permutation([1,2,3])[1]
2
sage: Permutation([1,2,3])(1)
1

What do you believe it achieves, except confusing everybody ?

Nathann

-- 
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.

Reply via email to