#8095: is_primitive of WordMorphism is broken
-----------------------------+----------------------------------------------
   Reporter:  slabbe         |       Owner:  slabbe    
       Type:  defect         |      Status:  new       
   Priority:  major          |   Milestone:  sage-4.3.2
  Component:  combinatorics  |    Keywords:            
     Author:                 |    Upstream:  N/A       
   Reviewer:                 |      Merged:            
Work_issues:                 |  
-----------------------------+----------------------------------------------
 Let us define the following morphism over 3 letters:
 {{{
 sage: substitution=WordMorphism('a->b,b->ac,c->a')
 }}}
 Then we get
 {{{
 sage: substitution.is_primitive()
 False
 }}}
 but also
 {{{
 sage: (substitution^2).is_primitive()
 True
 }}}

 ------

 expected behaviour:

 See the description of ".is_primitive()":
 Returns True if self is primitive.
 A morphism ϕ is primitive if there exists an positive integer k such
 that for all α∈Σ, ϕk(α) contains all the letters of Σ.

 So, if a morphism is primitive, so are all its powers. And if there is
 a power which is primitive, so is the morphism itself. In the example
 above, both outputs should be "True".

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/8095>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to