Jori Mäntysalo writes:

> At least for now we don't have parameter like 
> trust_me_i_know_what_i_am_doing=True for posets or lattices.

Such a parameter would make lots of sense, I think.

> This can be 
> seen for example with C500=Posets.ChainPoset(500), and after that even 
> C500.join(100,200) will take few seconds for first time. That means that 
> ChainPoset() makes a digraph, that is tested to be a poset, then tested to 
> be a lattice by creating join- an meet-matrix and then those matrices are 
> thrown away.

Wow, such terrible performance on trivial examples is surprising to me!
Would it make sense to make special sub-classes of FiniteLatticePoset
for the special cases, where join, meet, etc. is overwritten? It
depends, of course, on what people usually do with lattices (I'm not an
expert).

> (Funnier example is C500.is_lattice() taking few seconds, even if it's 
> class is lattice.)
??? Why is is_lattice not overwritten by FiniteLatticePoset?


> Yes, if the choises are - and will be - a list and a lattice. But maybe 
> somebody wants to return a poset or a set?

A lattice can be trivially converted to a poset or set. So if
construction of the lattice object is cheap, with the aforementioned
dont-check parameter, then returning a lattice seems better better.

Johan

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