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.

Reply via email to