Sorry, I didn't see the later posts. It turns out that __contains__ in LyndonWords() use a try-except statement to call LyndonWord(). If you're creating a Word() anyway then the Word(*).is_lyndon() test you found will be more efficient.
Andrew On Thursday, 12 December 2013 10:17:06 UTC+1, Andrew wrote: > > Dear geo909 (I can't believe what some people call their children!) > > Try: > sage: [1,1,2,1,3] in LyndonWords() > True > sage: [2,1,3,2] in LyndonWords() > False > > Andrew > > On Wednesday, 11 December 2013 16:22:42 UTC+1, geo909 wrote: >> >> Hi all, >> >> From wikipedia: >> >> *In mathematics, in the areas of combinatorics and computer >> science, a Lyndon word is a string that is strictly smaller in >> lexicographic order than all of its rotations. Lyndon words are named after >> mathematician Roger Lyndon, who introduced them in 1954, calling them >> standard lexicographic sequences* >> >> For example [1,1,2,1,3] is a Lyndon word, but [1,3,1,1,2] is not. >> >> I need to check as efficiently as possible if a given integer sequence is >> a Lyndon word or not. Is there such an option in sage? >> I check the section for Lyndon words in the >> manual<http://www.sagemath.org/doc/reference/combinat/sage/combinat/lyndon_word.html>but >> apparently the only way one can check something like that, is in a >> situation like so: >> >> sage: LyndonWord([2,1,2,3])Traceback (most recent call last):...ValueError: >> Not a Lyndon word >>> >>> >> Is this my only option for checking if something is a Lyndon word? This >> suggests that there is inherently some check in this >> function, but I do not want to use a ValueError for that.. >> >> Any advice? >> >> Thank you in advance >> > -- You received this message because you are subscribed to the Google Groups "sage-support" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-support+unsubscr...@googlegroups.com. To post to this group, send email to sage-support@googlegroups.com. Visit this group at http://groups.google.com/group/sage-support. For more options, visit https://groups.google.com/groups/opt_out.