Hello !

>
sage.combinat.permutation.StandardPermutations_all_with_category.element_class
> AttributeError: 'module' object has no attribute
> 'StandardPermutations_all_with_category'
>
> I'm somewhat aware of the motivations of those who "categorize" code for
> combinatorial objects, but yes I'm deterred by such complications, and
imho
> that situation restricts Sage coding to a small circle. Put otherwise,
basic
> *design decisions* about modules in Sage, when not straightforward, should
> be carefully discussed, in scientific documents. Instead we have
cookbooks.

+1 to that. You get classes which are not implemented anywhere as they are
created at running time, some functions are implemented in permutation.py
and some others in the category files, the 1-based notation (yes, let me
insist) leads to errors and the shortcut Permutation((2,5)) makes it very
very hard to report errors when the users would need to see one.

Also, in the Poset code we have a problem as some functions appear in the
index of Poset functions
http://www.sagemath.org/doc/reference/combinat/sage/combinat/posets/posets.html

... but we do not know what to do with the Poset functions which are
implemented in the category/ folder instead of the combinat/poset/ file.

I also believe that if categories are very fine for those who like them,
nobody should be forced to use them, especially when it is very hard to
understand what exactly is happening behind the scenes.

> I got other examples, eg trying using graphs, and discovering than
building
> a 100x100 grid was surprinsingly time consuming: I am afraid that it
denotes
> basic flaws in the definition of graphs in Sage.

Now that is a different thing: I cannot do anything about categories but I
do understand the graph code. Do you think that this is "surprisingly time
consuming" ?

sage: %timeit graphs.Grid2dGraph(100,100)
10 loops, best of 3: 119 ms per loop

Don't hesitate to report anything wrong with the graph code. Usually there
are two outcomes:
1) You will be proved wrong; or
2) It will be fixed

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