Hi Jori,

when I want to iterate through posets, I do this:

sage: P3 = Posets(3); P3
Posets containing 3 vertices
sage: list(P3)
[Finite poset containing 3 elements,
 Finite poset containing 3 elements,
 Finite poset containing 3 elements,
 Finite poset containing 3 elements,
 Finite poset containing 3 elements]

The ``Posets`` function is in sage.combinat.posets.poset_example and when
given a number, it returns an instance of ``FinitePosets_n`` in
sage.combinat.posets.posets. I think for now, we only have the iteration up
to isomorphism.

>From a user point of view, it would seem natural to have something like

sage: Posets(3,  ... some options ...)
Posets containing 3 vertices with ... some options ...

which could indeed return a new class ``FinitePosets_n_with_properties`` in
the model of ``FinitePosets_n`` or even just allow those properties on
``FinitePosets_n`` (not sure which option is best).

Best,

Viviane

2015-06-14 9:40 GMT-05:00 Nathann Cohen <nathann.co...@gmail.com>:

> Would this be good interface:
>>
>> Posets_iterator(n, properties=None, width=None, height=None)
>>
>
> Do you have a specific reason for creating a class Posets_iterator? Or
> would a simple function do the job?
>
> Whatever you chose, it should probably be made available as an element of
> posets.<tab>. For graphs, you can do "list(graphs(6))", but you may want to
> not copy this kind of behaviour. It's up to you. You could also have
> posets.posets_iterator() or posets.posets_all() or posets.posets(),
> whichever you prefer (or others I did not think of).
>
> Then, you have the problem of the "Posets" object, exported in the global
> namespace. Right now, this thing is the "category of Posets". So if you
> want something like the following to work, you will have to mess with this
> category (or replace it by another object)
>
> sage: for p in Posets(max_width=3,max_height=4,num_points=90):
> ....:     <do_something>
>
> Of course, its __iter__ method would be your iterator.
>
> 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.
>

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