def __iter__(self): r""" Iterator over representatives of the isomorphism classes of posets with finitely many vertices. .. warning:: this feature may become deprecated, since it does of course not iterate through all posets. EXAMPLES:: sage: P = Posets() sage: it = iter(P) sage: for _ in range(10): print next(it); Finite poset containing 0 elements Finite poset containing 1 elements Finite poset containing 2 elements Finite poset containing 2 elements 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 Finite poset containing 4 elements """ from sage.combinat.posets.posets import FinitePosets_n n = 0 while True: for P in FinitePosets_n(n): yield P n += 1
def __classcall__(cls, n = None): r""" Return either the category of all posets, or the finite enumerated set of all finite posets on ``n`` elements up to an isomorphism. EXAMPLES:: sage: Posets() Category of posets sage: Posets(4) Posets containing 4 vertices """ if n is None: return sage.categories.posets.Posets() return FinitePosets_n(n)
def __classcall__(cls, n=None): r""" Return either the category of all posets, or the finite enumerated set of all finite posets on ``n`` elements up to an isomorphism. EXAMPLES:: sage: Posets() Category of posets sage: Posets(4) Posets containing 4 vertices """ if n is None: return sage.categories.posets.Posets() try: n = Integer(n) except TypeError: raise TypeError( "number of elements must be an integer, not {0}".format(n)) if n < 0: raise ValueError( "number of elements must be non-negative, not {0}".format(n)) return FinitePosets_n(n)