
    Qi                     |    d dl mZ d dlmZ d dlmZmZmZ d dlm	Z	 d dl
mZ d dlmZmZmZ d dlmZ d Zd	 Zd
 ZdS )    )Permutation)PermutationGroup)homomorphismgroup_isomorphismis_isomorphic)
free_group)FpGroup)AlternatingGroupDihedralGroupCyclicGroup)raisesc                  h	   t          d          \  } }}t          | |dz  |dz  ||z  dz  g          } t          d          ddd          } t          d          ddd          }t          d          }t	          ||||g||g          } |||dz  z  |dz  z            ||dz  z  |dz  z  k    sJ |                                sJ  ||                     t          d          ddd                               t          d          ddd          k    sJ t	          |t          d          |j                  }|                                sJ |	                                
                                |
                                k    sJ t          d          \  }}	t          ||	d	z  g          }t          t          dddd          t          dd          g          }
t	          ||
|	gt          dddd          g          }|                                
                                dk    sJ  ||                     t          dd          dd                               t          dd          dd          k    sJ t	          |t          d          |j        |g          }|                    |dz            |	dz  k    sJ t	          | ||g|	g          } ||d
z  |dz  z  |dz  z            j        sJ t          | ||z  |dz  z  |dz  z  g          }t	          | || j        |j                  }|                    |dz  |dz  z  |dz  z            ||dz  z  k    sJ t          d	          }t          dddddddd          }t          |          }
t	          |
||g|g          }|                                sJ |                                rJ |                    |dz            |dz  k    sJ t	          | |
| j        d         g|
j                  }|                    |          }|j        | k    sJ |j        |k    sJ  |||z            |k    sJ t          d          }t	          |||j        |j                  }|                                sJ d S )Na, b      r         e            )r   r	   r   r
   r   is_isomorphisminvert
generators
is_trivialkernelorderr   imageis_identityr   is_injectivecomposedomaincodomain)FabGcdATEr   PDpT2D3s                  /var/www/development/aibuddy-work/election-extract/venv/lib/python3.11/site-packages/sympy/combinatorics/tests/test_homomorphisms.pytest_homomorphismr6   	   s     GAq!AqD!Q$1q)**AAq!QAAq!QAAQAq6Aq6**A1Qq!tVArE\??a1fQUl****1QXXnk!nnQ1--..//>;q>>!Q3J3JJJJJQ(++Q\::A<<>>88::****c??DAqAqD6A+aAq11;q!3D3DEFFAQA3Q1a!8!8 9::A7799??!!!!1QXX'k!Q''1--..//3D;q!3D3DQ3J3JJJJJQ(++Q\A3??A88AqD>>QU"""" 	QA3$$A1QU1a4Z1_)))) 	AaC2IaeO$%%AQ1<66A88ArE!R%K1$%%1b50000 	aAAq!Q1a++AAQA3$$A>>!!!!!88AqD>>QT!!!!	aQ\!_-q|	<	<B			"A8q====:????1QqS66Q;;;;	q		BRR]BM::A    c            
         t          d          \  } }}t          d          \  }}}t          | |dz  |dz  g          }t          | |dz  |dz  g          }t          ||          sJ t          | |dz  |dz  ||z  dz  g          }t          d          \  } }}t          | |dz  |dz  ||z  dz  g          }t          ||          \  }}	|sJ  |	|dz  |dz  z            |dz  |dz  z  k    sJ t          d          \  } }}t          | |dz  |dz  ||z  dz  g          }t	          d          }t          ||          \  }}	|sJ  |	||z  |dz  z  |dz  z  |dz  z            t          ddd          k    sJ  |	||z  |z  |dz  z  |dz  z            t          ddd          k    sJ t          d          }
t          dd	dddd
dd          }t          |          }t          |
|          rJ t          d
          }t          d          }t          ||          rJ t          | ||d
z  g          }t          d
          }|	                                |	                                k    sJ t          ||          sJ d S )Nr   zc, dr   r   r   r   r   r   r   r   r   r   )
r   r	   r   r   r
   r   r   r   r   r    )r'   r(   r)   r/   r+   r,   r*   Hcheckr.   r1   r2   r0   r-   Bs                  r5   test_isomorphismsr<   A   s     GAq!  GAq!AqD!Q$<  AAqD!Q$<  AA 	AqD!Q$1q)**A  GAq!AqD!Q$1q)**A!!Q''HE1LLL1QT!Q$Y<<1a419$$$$   GAq!AqD!Q$1q)**AA A&&HE1LLL1QqSBYq"u_QU"##{1a';';;;;;1QqSU1b5[B;q!Q#7#77777 	aAAq!Q1a++AAQ"""""AAAAQ""""" 	Aq!t9AAA7799		!!!!Ar7   c                      t          dddd          t          dd          } t          | g          t          t          fd           d S )Nr   r   r   r   c                  ,    t            gg          S )N)r   )r*   r(   s   r5   <lambda>z)test_check_homomorphism.<locals>.<lambda>r   s    |Aq1#s;; r7   )r   r   r   
ValueError)r)   r*   r(   s    @@r5   test_check_homomorphismrA   n   sZ    Aa!AAaA!Q  A
:;;;;;<<<<<r7   N)sympy.combinatoricsr   sympy.combinatorics.perm_groupsr   !sympy.combinatorics.homomorphismsr   r   r   sympy.combinatorics.free_groupsr   sympy.combinatorics.fp_groupsr	    sympy.combinatorics.named_groupsr
   r   r   sympy.testing.pytestr   r6   r<   rA    r7   r5   <module>rJ      s    + + + + + + < < < < < < \ \ \ \ \ \ \ \ \ \ 6 6 6 6 6 6 1 1 1 1 1 1 Y Y Y Y Y Y Y Y Y Y ' ' ' ' ' '5 5 5p* * *Z= = = = =r7   