(In the forest) With the transitive closure ! The transitive closure AND induced= true.
Append .transitive_closure() after each call to hasse_digram and it should work ! Nathann On Thursday, August 28, 2014, Jori Mantysalo <jori.mantys...@uta.fi> wrote: > On Thu, 28 Aug 2014, Nathann Cohen wrote: > > Yes, you do need this induced=True otherwise the chain contains all >> other (smaller) posets :-P >> > > But > > def has_isomorphic_subposet(A, B): > for x in Subsets(A.list(), k=B.cardinality()): > if A.subposet(x).is_isomorphic(B): > return True > return False > > def has_isomorphic_subposet2(A, B): > if A.hasse_diagram().subgraph_search(B.hasse_diagram(),induced=True) > is None: > return False > return True > > Diamond=Poset( ([1,2,3,4], [[1,2],[1,3],[2,4],[3,4]]) ) > N5=Poset( ([1,2,3,4,5], [[1,2],[1,3],[3,4],[2,5],[4,5]]) ) > print has_isomorphic_subposet(N5, Diamond) > print has_isomorphic_subposet2(N5, Diamond) > > outputs > > True > False > > And it should be much faster than the listing from your trac ticket >> (which you can close if your problem is solved, or recycle into a >> ticket to implement the feature) >> > > If there is an easy solution for this, I can make a function to finite > posets class. Hence I'm not going to close ticket yet. > > -- > Jori Mäntysalo > > -- > You received this message because you are subscribed to a topic in the > Google Groups "sage-devel" group. > To unsubscribe from this topic, visit https://groups.google.com/d/ > topic/sage-devel/0kqw7HPV088/unsubscribe. > To unsubscribe from this group and all its topics, 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.