ó
¡¼™\c           @   sá   d  d l  m Z d  d l m Z d  d l m Z d  d l m Z m Z m	 Z	 m
 Z
 m Z d  d l m Z e j Z e d d e ƒZ d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d S(   iÿÿÿÿ(   t   permutations(   t   range(   t   Symbol(   t   Permutationt
   _af_parityt   _af_rmult	   _af_rmulnt   Cycle(   t   raisest   at   integerc       	      s×  t  t d „  ƒ t d d d d g ƒ ‰  g  t ˆ  j ƒ D] }  ˆ  |  ƒ ^ q8 t ˆ  ƒ k sb t ‚ ˆ  t t ˆ  j ƒ ƒ ƒ t ˆ  ƒ k s t ‚ t ˆ  d d ƒ ƒ d d d d g k s¼ t ‚ t ˆ  ƒ t t d ƒ ƒ k sà t ‚ t d d ƒ t d ƒ k st ‚ t t d ƒ d d ƒt d ƒ k s+t ‚ t d d g g d d ƒt d d g d g d g g ƒ k smt ‚ t j d ƒ t d d g ƒ t d d g ƒ f k s¦t ‚ t d d d d	 d d d g ƒ ‰  t d g d d d d	 d d g g ƒ } t ˆ  ˆ  h ƒ d k st ‚ t d d d d d d	 d g ƒ } t t	 g  ˆ  | | f D] } | j
 ^ qCŒ  ƒ j
 } t ˆ  | | ƒ j
 | k s‚t ‚ xk t ˆ  | | f ƒ D]T \ } } } | | | f ˆ  | | f k rËq˜n  t | | | ƒ j
 | k s˜t ‚ q˜Wˆ  j ƒ  t t d
 ƒ ƒ k st ‚ | j ƒ  d d d d d d	 g k s>t ‚ t ˆ  j ƒ j
 ˆ  j
 k s_t ‚ ˆ  j d k stt ‚ | j d k s‰t ‚ | j d k sžt ‚ t | ˆ  ƒ t d d	 d d d d d g ƒ k sÔt ‚ t ˆ  | ƒ t d	 d d d d d d g ƒ k s
t ‚ t ˆ  j
 | j
 ƒ d	 d d d d d d g k s@t ‚ t t d d d g d d g g ƒ t d d d g d g d g g ƒ ƒ j d d d g d d g g k s¬t ‚ | j
 d d d d d d	 d g k sÖt ‚ | j d d d d	 d d g g k s t ‚ | j d d d d	 d d g d g g k s0t ‚ ˆ  j d d d d g d d	 d g g k s`t ‚ ˆ  j ƒ  } | d d d d d  g k st ‚ t j g  | D] }	 t t |	 Œ  ƒ ^ qšŒ  sÁt ‚ t d d g ƒ j ƒ  d! g k sèt ‚ ˆ  d ˆ  k sþt ‚ | d t t t | j ƒ ƒ ƒ k s)t ‚ | d | d k sDt ‚ | d t d d d d	 d d d g ƒ k sut ‚ | d | d | k s“t ‚ | d | d | d k sµt ‚ t d d ƒ } t d d d ƒ } t d ƒ }
 | | d k sùt ‚ | | |
 k st ‚ | | d | | k s/t ‚ t d d d d d	 ƒ d d ƒ } ˆ  | j ƒ  j ƒ  | j ƒ  k sxt ‚ ˆ  | j ƒ  j | j ƒ  k st ‚ | ˆ  j ƒ  j ƒ  | j ƒ  k sÅt ‚ t  t ‡  f d †  ƒ ˆ  | j ƒ  j ƒ  t d d	 d d d d d ƒ j ƒ  k st ‚ ˆ  j ƒ  | j ƒ  d k  s=t ‚ | ˆ  j ƒ  j ƒ  t d d d	 d ƒ d d ƒ j ƒ  k s}t ‚ ˆ  | t t	 g  | ˆ  f D] } t | ƒ ^ q—Œ  ƒ k s¾t ‚ ˆ  t g  ƒ ˆ  k sÚt ‚ t g  ƒ ˆ  ˆ  k söt ‚ ˆ  t d d g g ƒ t d d d d	 d d d g ƒ k s6	t ‚ t d d g g ƒ ˆ  t d d d d	 d d d g ƒ k sv	t ‚ ˆ  | A} | t d d	 d d d d d g ƒ k s­	t ‚ | t | ˆ  | ƒ k sÌ	t ‚ | ˆ  A} | t d d d	 d d d d g ƒ k s
t ‚ | t ˆ  | ˆ  ƒ k s"
t ‚ t  t ‡  f d †  ƒ ˆ  j | ƒ t d d d d d	 d d ƒ k sk
t ‚ | j ˆ  ƒ t d d d d	 d d d ƒ k sž
t ‚ ˆ  j | ƒ | j ˆ  ƒ k sÃ
t ‚ t  t ‡  f d †  ƒ t ˆ  j ƒ  ƒ d
 k s÷
t ‚ | j ƒ  d d d d d d d	 h k s$t ‚ ˆ  j ƒ  d d d d d d g k sNt ‚ | j ƒ  d d d d d d g k sxt ‚ t j ˆ  j ƒ  ƒ ˆ  k s™t ‚ t j | j ƒ  ƒ j
 | j
 k sÀt ‚ t  t d „  ƒ t g  t d d d ƒ D] }  |  ^ qæƒ j ƒ  d k st ‚ t d d d d d g ƒ } | j ƒ  d k s@t ‚ | j } t | j ƒ | j k rs| j ƒ  d k syt ‚ | j s‰t ‚ | j  s˜t ‚ t d d d d d g ƒ j ƒ  d k sÅt ‚ t! d d d d d g ƒ d k sìt ‚ t! d d d d d g ƒ d k st ‚ t d g ƒ } | j" s1t ‚ t g  ƒ j# sFt ‚ t d d d d g ƒ } | d j$ sqt ‚ t ˆ  ˆ  ƒ j$ sŠt ‚ ˆ  d t d d d d d	 d d g ƒ k s¼t ‚ | d j$ sÐt ‚ ˆ  j% ƒ  d	 k sèt ‚ ˆ  j& ƒ  d k s t ‚ t d	 g d g d d d d d g g ƒ } | j% ƒ  d k sBt ‚ | j& ƒ  d k sZt ‚ t d d d d d d	 d g ƒ ‰  t d d d d d	 g d d g g ƒ } ˆ  j' ƒ  d d d g k sÃt ‚ | j' ƒ  d d d g k sät ‚ | j' ƒ  g  k süt ‚ ˆ  j( ƒ  d d d g k st ‚ | j( ƒ  d d d g k s>t ‚ t | j( ƒ  ƒ j$ sYt ‚ ˆ  j ƒ  d
 k sqt ‚ t ˆ  ƒ t t ˆ  j% ƒ  d ˆ  j% ƒ  d ƒ ƒ } t | ƒ j ƒ  d
 k sÂt ‚ ˆ  j) ƒ  d k sÚt ‚ | j ƒ  d k sòt ‚ | j) ƒ  d k s
t ‚ t ˆ  ˆ  ƒ j ƒ  d k s,t ‚ t ˆ  ˆ  ƒ j) ƒ  d k sNt ‚ ˆ  j* ƒ  d	 k sft ‚ | j* ƒ  d k s~t ‚ ˆ  ˆ  j* ƒ  j$ s—t ‚ ˆ  j+ ƒ  d	 k s¯t ‚ | j+ ƒ  d
 k sÇt ‚ | j+ ƒ  d k sßt ‚ ˆ  j, ƒ  d d g d g d d d	 g d g g k st ‚ | j, ƒ  d g d d d g d d	 g d g g k sQt ‚ | j, ƒ  d g d g d g d g g k st ‚ ˆ  j- ƒ  d k s™t ‚ | j- ƒ  d k s±t ‚ | j- ƒ  d k sÉt ‚ ˆ  j. | ƒ | j. ˆ  ƒ k sít ‚ ˆ  j/ | ƒ ˆ  j/ | ƒ k st ‚ ˆ  j0 | ƒ ˆ  j0 | ƒ k s5t ‚ t d d d d g ƒ ‰  t d d d d g ƒ } ˆ  j. | ƒ d	 k s€t ‚ ˆ  j/ | ƒ d k s›t ‚ ˆ  j0 | ƒ d k s¶t ‚ t d d d d d g ƒ ‰  t j1 d d d ƒ } ˆ  j/ | ƒ d k st ‚ t  t ‡  f d †  ƒ t  t ‡  f d †  ƒ t  t ‡  f d †  ƒ g  t d ƒ D] }  t j2 d |  ƒ ^ qP} t d d d d g ƒ } xÝ t d ƒ D]Ï }  xÆ t |  d d ƒ D]± } | |  j3 | | ƒ t | |  | | ƒ t | | | |  ƒ k k sþt ‚ | |  j3 | | ƒ r­| |  j | | ƒ | k s8t ‚ | | j | |  ƒ | k s^t ‚ q­q­Wq“Wt d ƒ } t d d	 d ƒ d d ƒ } | j4 i d d 6k s©t ‚ | j4 i d d 6d d 6d d 6k sÓt ‚ d  S("   Nc           S   s   t  d g ƒ S(   Ni   (   R   (    (    (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyt   <lambda>   t    i    i   i   i   i   t   sizei   i   i   i°  i   iþÿÿÿiÿÿÿÿc              s   ˆ  t  t t d ƒ ƒ ƒ S(   Ni
   (   R   t   listR   (    (   t   p(    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyR   V   R   c              s   ˆ  t  g  ƒ AS(   N(   R   (    (   R   (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyR   h   R   c              s   ˆ  j  t g  ƒ ƒ S(   N(   t
   commutatorR   (    (   R   (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyR   m   R   c           S   s   t  j d d g ƒ S(   Ni    i   (   R   t   from_inversion_vector(    (    (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyR   x   R   iô  iBé i‚   i   i
   i   c              s   ˆ  j  t g  ƒ ƒ S(   N(   t   get_adjacency_distanceR   (    (   R   (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyR   È   R   c              s   ˆ  j  t g  ƒ ƒ S(   N(   t   get_positional_distanceR   (    (   R   (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyR   É   R   c              s   ˆ  j  t g  ƒ ƒ S(   N(   t   get_precedence_distanceR   (    (   R   (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyR   Ê   R   (   i    i   (   i    i   (   i    i   (   i   i   (   i   i   (   i    i   (5   R   t
   ValueErrorR   R   R   R   t   AssertionErrort   randomt   lenR   t
   array_formt   rmulR    t   supportt   cyclic_formt   cardinalityt   cyclesR   t   full_cyclic_formt   transpositionsR   t   rankt   _rankt	   TypeErrorR   t   atomst   inversion_vectorR   t
   inversionst   parityt   _cyclic_formt   is_oddt   is_evenR   t   is_Singletont   is_Emptyt   is_Identityt   maxt   mint   ascentst   descentst	   signaturet   ordert   lengtht   runst   indexR   R   R   t   josephust   unrank_nonlext   commutes_witht   cycle_structure(   t   it   qt   rt   wt   ansR	   t   bt   ct   tt   tit   It   pqt   qpt   st   _t   bigt   ident   j(    (   R   sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyt   test_Permutation   sF   :--$!*B9!'!4!%%$*!66$!'$**00!4'+1"!(%(@"@A@@
-
-33%-**!=	0-''2*!'!!!!3""990$$$+7#.c             sê   d t  f ‡  f d †  ƒ  Y‰  ˆ  d d d d g ƒ }  t  d d d d g ƒ ‰ |  ˆ k s^ t ‚ t t ‡ f d †  ƒ d d g |  d d g ƒ k s˜ t ‚ t |  ˆ ƒ ˆ  k s´ t ‚ t ˆ |  ƒ t  k sÐ t ‚ ‡  f d †  } | ƒ  d  S(	   Nt   CustomPermutationc              s5   e  Z ‡  f d  †  Z ‡  f d †  Z ‡  f d †  Z RS(   c            s~   y t  ˆ  |  ƒ j | Œ  SWn t k
 r- n Xy, | d } g  | D] } |  j | ^ qB SWn t k
 ry t d ƒ ‚ n Xd  S(   Ni    s   unrecognized argument(   t   supert   __call__R#   t   _array_formt	   Exception(   t   selfR;   t   perm_objRK   (   RM   (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyRO   ß   s    
"c            s?   t  | t ƒ r% |  j ƒ  | j ƒ  k St ˆ  |  ƒ j | ƒ Sd  S(   N(   t
   isinstanceR   t   _hashable_contentRN   t   __eq__(   RR   t   other(   RM   (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyRV   ë   s    c            s   t  ˆ  |  ƒ j ƒ  S(   N(   RN   t   __hash__(   RR   (   RM   (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyRX   ñ   s    (   t   __name__t
   __module__RO   RV   RX   (    (   RM   (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyRM   Þ   s   i   i   i   i    c              s   ˆ  d d g ƒ S(   Ni   i   (    (    (   R<   (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyR   ø   R   c              sJ   t  ƒ  d t  ƒ  d <ˆ  t  ƒ  d <t ƒ  t  ƒ  d t  ƒ  d <t  ƒ  d =d  S(   NR   t   __Perm(   t   globalsRL   (    (   RM   (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyt   wrapped_test_Permutationÿ   s
    (   R   R   R   R#   t   type(   R   R]   (    (   RM   R<   sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyt   test_Permutation_subclassingÜ   s    $c           C   s[   t  j d d d ƒ t  d d d d d d g ƒ k s9 t ‚ t  j d d d ƒ j sW t ‚ d  S(   Ni   i   i   i   i    i   i   (   R   R7   R   R-   (    (    (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyt   test_josephus
  s    9c          C   sÌ  t  j d d ƒ j ƒ  d k s$ t ‚ t  j d d ƒ }  |  j ƒ  d k sN t ‚ |  j ƒ  } | j ƒ  d k sr t ‚ t  j d d ƒ j ƒ  d k s– t ‚ t  j d d ƒ j s± t ‚ t  j d d ƒ }  |  j ƒ  d k sÛ t ‚ |  j d	 d
 d d g k sü t ‚ |  j ƒ  d  k st ‚ t  d d d
 d d	 d d g ƒ }  t  d d
 d	 d d g d d g g ƒ } g  t d ƒ D] } t  j	 d | ƒ j ^ qi} | d d d
 d	 g d d d	 d
 g d d	 d d
 g d	 d d d
 g d	 d d
 d g g k sçt ‚ g  | D] } t  | ƒ j
 ƒ  ^ qît t d ƒ ƒ k s$t ‚ t  d d d
 d	 g ƒ j ƒ  t  d d d	 d
 g ƒ k s`t ‚ | j
 ƒ  d k sxt ‚ |  j
 ƒ  d k st ‚ t  d d g ƒ j
 ƒ  d k s´t ‚ t  t t d	 ƒ ƒ ƒ } | } g  } g  } xF t d ƒ D]8 } | j | ƒ | j | ƒ | j ƒ  } | j ƒ  } qëW| | k o>d  k n sIt ‚ d „  | Dƒ d „  | Dƒ k sot ‚ t  d
 d d d d	 d d g ƒ }  t  d g d g d d d
 d	 d g g ƒ } |  j ƒ  d k sÒt ‚ | j ƒ  d k sêt ‚ t  g  ƒ j ƒ  d k st ‚ |  j ƒ  }	 |	 d k s&t ‚ t  j d d ƒ |  k sDt ‚ | j ƒ  }
 |
 d k sbt ‚ t  j d d ƒ t  | j ƒ k s‰t ‚ g  t d ƒ D] } t  j d | ƒ j ^ q–} | d d
 d	 d g d	 d
 d d g d d	 d d
 g d d
 d d	 g d
 d	 d d g d
 d d	 d g d	 d d d
 g d
 d d d	 g d d	 d
 d g d	 d d
 d g d d d	 d
 g d d d
 d	 g d
 d d	 d g d
 d	 d d g d	 d d d
 g d
 d d d	 g d	 d
 d d g d d
 d	 d g d d	 d d
 g d d
 d d	 g d	 d d
 d g d d	 d
 d g d d d	 d
 g d d d
 d	 g g k s1t ‚ d } t  | d ƒ } x/ t d | d ƒ D] } | t  | | ƒ } q[Wt  j g  | | d  d … D] } t  | ƒ ^ q“Œ  } | | k sÀt ‚ g  } t  d d g ƒ }  xM t d	 ƒ D]? } | j |  j ƒ |  j ƒ  }  |  d  k rå| j d  ƒ PqåqåW| d d g d d g d  g k sOt ‚ t  d	 d
 d d g ƒ j ƒ  t  d d	 d d
 g ƒ k s‹t ‚ g  | D] } t  | ƒ j ƒ  ^ q’t t d ƒ ƒ k sÈt ‚ d  S(   Ni   i
   i   iá   iâ   i    i   i   i   i   i   i   ië  i=  c         S   s   h  |  ] } t  | ƒ ’ q S(    (   t   tuple(   t   .0R	   (    (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pys	   <setcomp>2  s   	 i¬  if  i@  i   i)   i   iÿÿÿÿ(   R   t
   unrank_lexR!   R   t   next_lexR-   R   t   NoneR   t   unrank_trotterjohnsont   rank_trotterjohnsonR   t   next_trotterjohnsont   appendt   rank_nonlexR8   t   rmul_with_aft   next_nonlex(   R   t   p1R<   R;   R	   t   paR@   t   lt   tjt   prankt   qrankt   Nt   ht   p2t   ok(    (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyt   test_ranking  sˆ    $$!!'.9$=!$"&!*'.KKKKK5'<c             sø  d d d d g d d d d g }  ‰  t  |  ˆ  ƒ d d d d g k sL t ‚ t |  ˆ  t t d ƒ ƒ ƒ d d d d g k s‚ t ‚ t t |  ƒ t ˆ  ƒ ƒ j d d d d g k s¸ t ‚ t d d d d g ƒ }  d	 ‰  d
 ‰ t j |  ˆ  ˆ ƒ t d d d d g ƒ k st ‚ t j |  ˆ ƒ t d d d d g ƒ k s?t ‚ t t	 ‡  ‡ f d †  ƒ d } d } g  t | ƒ D] } t j
 | | ƒ j ^ qq}  t t | ƒ ƒ } xM t | ƒ D]? } t  | |  | ƒ } t |  | d  Œ  } | | k s±t ‚ q±Wd  S(   Ni    i   i   i   i   c              s   t  j ˆ  ˆ ƒ S(   N(   R   R   (    (   R@   RA   (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyR   g  R   i   i   (   i    i   i   i   (   i   i   i   i    (   R   R   R   R   R   R   R   R   R   R#   R8   (   R	   t   nt   mR;   Rt   t   h2(    (   R@   RA   sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyt   test_mul\  s$    %'6630.c          C   sÏ  t  d d g ƒ }  |  j d  k s' t ‚ t  |  ƒ |  k s? t ‚ |  j d d d d g d d g g k sl t ‚ |  j d d d d d d g k s“ t ‚ t  d ƒ }  |  j d  k s´ t ‚ |  j d d d d g k sÕ t ‚ t  d g ƒ t  d ƒ k sö t ‚ t  d g d g g ƒ t  d d f ƒ k o:t  d d g f ƒ k n sEt ‚ t  d d g g ƒ t  d d d g ƒ k sut ‚ t  d g d d g g ƒ t  d d d d d g ƒ k s±t ‚ t  d g d d g g d d ƒt  d d d d d g ƒ k sót ‚ t  d g d d g g d d ƒt  d d d d d d g ƒ k s8t ‚ t  d d g d d g g ƒ t  d d d ƒ k snt ‚ t  g  d d ƒt  d d d g ƒ k s›t ‚ t  d ƒ j d ƒ d d d d d g k sËt ‚ t  d ƒ j d	 ƒ g  k sìt ‚ t  d ƒ d d ƒ j d	 ƒ d d d g k st ‚ t  d ƒ d d ƒ j ƒ  d d d d d d g k sXt ‚ t t d
 „  ƒ t t d „  ƒ t t d „  ƒ t t d „  ƒ t  d d ƒ t  d d d d d d g ƒ k sËt ‚ d  S(   Ni    i   i   i   i   i   R   i   iÿÿÿÿc           S   s   t  d d g d g ƒ S(   Ni   i   i    (   R   (    (    (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyR   Š  R   c           S   s   t  d d g d g ƒ S(   Ni   i   i    (   R   (    (    (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyR   Œ  R   c           S   s   t  d d d g ƒ S(   Ni   i    (   R   (    (    (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyR   Ž  R   c           S   s   t  d d g d d ƒS(   Ni   i   R   i
   (   R   (    (    (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyR     R   (   i    i   i   i   (   i   i   (   i    i   i   i   (   i    (   i    (   i   (   i    (	   R   R(   Re   R   R   RP   R   R   R   (   R   (    (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyt	   test_argss  s6    -'!!,#0<BB6-0!39c          C   sÍ  t  t ƒ  ƒ d k s t ‚ t t d d ƒ ƒ t d d ƒ k sE t ‚ t d d ƒ j ƒ  t d d ƒ k so t ‚ t t d d d ƒ ƒ d d d d g k sŸ t ‚ t d d ƒ d d ƒ t d d d ƒ k sÏ t ‚ t d d ƒ d d ƒ d d ƒ t d d d ƒ d d ƒ k st ‚ t t d d ƒ d d d d ƒ ƒ j sPt t d d d ƒ ƒ ‚ t t d „  ƒ t d d ƒ j ƒ  d d d g k sŠt ‚ t d d ƒ j d ƒ d d d d g k sºt ‚ t d ƒ j d ƒ d d g k sát ‚ t d ƒ j d	 ƒ d d d d d d g k st ‚ t t d d ƒ d
 d ƒt d d d d g ƒ k sMt ‚ t  t d d ƒ d d ƒ ƒ d k swt ‚ t  t d d ƒ ƒ d k s˜t ‚ t t t t	 d ƒ ƒ ƒ ƒ t ƒ  k sÅt ‚ t d d ƒ j ƒ  d d d g k sït ‚ t d d ƒ j d ƒ d d d d g k st ‚ t ƒ  j
 d k s7t ‚ t t d „  ƒ t t d „  ƒ t t d „  ƒ t t d „  ƒ t t d „  ƒ t d d g d d g g d
 d ƒ}  t t |  ƒ ƒ |  k sÉt ‚ d  S(   Ns   ()i   i   i   i    i   i   c           S   s   t  ƒ  j ƒ  S(   N(   R   R   (    (    (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyR   œ  R   i   R   s
   (1 2)(4 5)s   (1 2)c           S   s
   t  d ƒ S(   Ni   i   (   i   i   (   R   (    (    (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyR   ©  R   c           S   s   t  d d d ƒ S(   Ni   i   (   R   (    (    (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyR   ª  R   c           S   s   t  d d ƒ i  S(   Ni   i   (   R   (    (    (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyR   «  R   c           S   s   t  d ƒ t S(   Ni   (   R   R	   (    (    (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyR   ¬  R   c           S   s   t  d d d ƒ S(   Ni   iüÿÿÿi   (   R   (    (    (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyR   ­  R   (   t   strR   R   t   copyR   R   R   R   R   R   R   R#   (   R   (    (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyt
   test_Cycle”  s6    **00B?*0'3!*!-*0$c           C   sm   t  j d ƒ t  d ƒ d d d ƒ k s- t ‚ t  j d d d „  ƒt  d ƒ d d ƒ d d ƒ k si t ‚ d  S(	   Nt   SymPyi   i    i   i   t   keyc         S   s
   |  j  ƒ  S(   N(   t   lower(   t   x(    (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyR   ¶  R   i   (   R   t   from_sequenceR   (    (    (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyt   test_from_sequence´  s    -c          C   s»   t  t _ t d d d g ƒ }  t |  ƒ d k s6 t ‚ t |  ƒ d k sN t ‚ t ƒ  } t | ƒ d k so t ‚ t | ƒ d k s‡ t ‚ t d d d d g ƒ } t | ƒ d	 k s· t ‚ d  S(
   Ni    i   i   s   Permutation(1, 2)s   (1 2)s   Permutation()s   ()i   s   Permutation(3)(0, 1, 2)(   t   TrueR   t   print_cyclict   reprR   R}   (   Rm   Ru   t   p3(    (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyt   test_printing_cyclicº  s    		c       	   C   s!  t  t _ t d d d d d d g ƒ }  t |  ƒ d k s? t ‚ t |  ƒ d k sW t ‚ t d d d g ƒ } t | ƒ d k s„ t ‚ t | ƒ d k sœ t ‚ t d d d g ƒ } t | ƒ d	 k sÉ t ‚ t | ƒ d	 k sá t ‚ t d d d d d d d
 d g ƒ } t | ƒ d k st ‚ d  S(   Ni    i   i   i   i   i   s   Permutation([], size=6)s   Permutation([0, 1, 2])s   Permutation([0, 2, 1])i   i   s!   Permutation([0, 1, 3, 2], size=8)(   t   FalseR   R‡   Rˆ   R   R}   (   Rm   Ru   R‰   t   p4(    (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyt   test_printing_non_cyclicÆ  s    	$N(   t	   itertoolsR    t   sympy.core.compatibilityR   t   sympy.core.symbolR   t    sympy.combinatorics.permutationsR   R   R   R   R   t   sympy.utilities.pytestR   R   R†   R	   RL   R_   R`   Rw   R{   R|   R   R…   RŠ   R   (    (    (    sJ   lib/python2.7/site-packages/sympy/combinatorics/tests/test_permutations.pyt   <module>   s    (		Ï	.		M		!	 		