Helloooooooooo !

> So it's good to not compute the transitive closure by default, at
> least not for "large posets", and instead have some idiom to state
> "this poset is small enough and I am about to do many comparisons; go
> ahead, compute the transitive closure". Given that the current idiom
> is pretty obscure, you should feel free to change it to something
> better.

Well. Actually, you already compute a *LOT* of information right when the
Poset is built. The Hasse Diagram is not built for free, and the call to
transitive_reduction can involve more computations than what is neded for
the transitive closure already. Especially since this closure can be
computer in pure C code with no vertex labels.

How do you build most Posets ? Here is the code that builds a poset from a
list of vertices and a function :

                for x in elements:
                    for y in elements:
                        if function(x,y) is True:
                            relations.append([x,y])

So the transitive closure is computed for free here. Even though you
recompute it from the transitive reduction, later, if the user asks.

Perhaps we could just save the information when it really is "for free",
and try to find a new trick to warn the user that he should have been
pre-computing the transitive closure before doing many comparisons.

Nathann

-- 
You received this message because you are subscribed to the Google Groups 
"sage-combinat-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-combinat-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-combinat-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-combinat-devel.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to