Revision history [back]

This is due to the generic algorithm generating the posets. If you do:

sage: for i in p10:
....:     print i


You will get the 18 "first" posets as:

Finite poset containing 10 elements


But then the generator probably has to backtrack a lot before finding another poset. Note that if you are patient enough (a few minutes, about three), then you will get a ton of new posets. This is just that during the exploration the algorithm falls into a zone with plent of posets:

sage: %time p10[18]
CPU times: user 2min 43s, sys: 20 ms, total: 2min 43s
Wall time: 2min 44s
Finite poset containing 10 elements


Note that counting the number of posets on a given set is very hard (and related to counting finite topologies), the human kind is not even able to count the number of posets on 17 elements (yet). If we could iter on them in a fast way, we would also be able to count them easily. See https://oeis.org/A000112

This is due to the generic algorithm generating the posets. If you do:

sage: for i in p10:
....:     print i


You will get the 18 "first" posets as:

Finite poset containing 10 elements


But then the generator probably has to backtrack a lot before finding another poset. poset.

If you want to make clear why 19 is a backtracking point, just do:

sage: for i in p10: ....: i.show()

Note that if you are patient enough (a few minutes, about three), then you will get a ton of new posets. This is just that during the exploration the algorithm falls into a zone with plent of posets:

sage: %time p10[18]
CPU times: user 2min 43s, sys: 20 ms, total: 2min 43s
Wall time: 2min 44s
Finite poset containing 10 elements


Note that counting the number of posets on a given set is very hard (and related to counting finite topologies), the human kind is not even able to count the number of posets on 17 elements (yet). If we could iter on them in a fast way, we would also be able to count them easily. See https://oeis.org/A000112

This is due to the generic algorithm generating the posets. If you do:

sage: for i in p10:
....:     print i


You will get the 18 "first" posets as:

Finite poset containing 10 elements


But then the generator probably has to backtrack a lot before finding another poset.

poset. If you want to make clear why 19 is a backtracking point, just do:

sage: for i in p10:
....:     i.show()i.show()


You will immediately get why there is some complexity gap at this point.

Note that if you are patient enough (a few minutes, about three), then you will get a ton of new posets. This is just that during the exploration the algorithm falls into a zone with plent of posets:

sage: %time p10[18]
CPU times: user 2min 43s, sys: 20 ms, total: 2min 43s
Wall time: 2min 44s
Finite poset containing 10 elements


Note that counting the number of posets on a given set is very hard (and related to counting finite topologies), the human kind is not even able to count the number of posets on 17 elements (yet). If we could iter on them in a fast way, we would also be able to count them easily. See https://oeis.org/A000112

This is due to the generic algorithm generating the posets. If you do:

sage: for i in p10:
....:     print i


You will get the 18 "first" posets as:

Finite poset containing 10 elements


But then the generator probably has to backtrack a lot before finding another poset. If you want to make clear why 19 is a backtracking point, just do:

sage: for i in p10:
....:     i.show()


You will immediately get why there is some complexity gap at this point.

Note that if you are patient enough (a few minutes, about three), then you will get a ton of new posets. This is just that during the exploration the algorithm falls into a zone with plent of posets:

sage: %time p10[18]
CPU times: user 2min 43s, sys: 20 ms, total: 2min 43s
Wall time: 2min 44s
Finite poset containing 10 elements


Note that counting the number of posets on a given set is very hard (and related to counting finite topologies), the human kind is not even able to count the number of posets on 17 elements (yet). If we could iter iterate on them in a fast way, we would also be able to count them easily. See https://oeis.org/A000112

https://oeis.org/A000112 for the first values (they are hardcoded in Sage with Posets(i).cardinality()).