§
    OŠtj“  ã                   óŠ   — d dl mZmZmZ d dlmZ d dlmZmZm	Z	m
Z
mZmZmZmZ d dlmZ d„ Zd„ Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ ZdS )é    )ÚSymmetricGroupÚDihedralGroupÚAlternatingGroup)ÚPermutation)Ú_check_cycles_alt_symÚ_stripÚ_distribute_gens_by_baseÚ_strong_gens_from_distrÚ_orbits_transversals_from_bsgsÚ_handle_precomputed_bsgsÚ_base_orderingÚ_remove_gens)Ú_verify_bsgsc                  óü   — t          g d¢dgdgdgg¦  «        } t          g d¢g d¢g¦  «        }t          g d¢g d¢g¦  «        }t          | ¦  «        d	u sJ ‚t          |¦  «        d
u sJ ‚t          |¦  «        d
u sJ ‚d S )N)r   é   é   é   é   é   é   é   é   é	   )r   r   r   r   r   r   )r   r   r   r   ©r   r   r   r   r   )r   r   r   r   r   TF)r   r   )Úperm1Úperm2Úperm3s      úa/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/combinatorics/tests/test_util.pyÚtest_check_cycles_alt_symr      s­   € ÝÐ.Ð.Ð.°°°a°S¸1¸#Ð>Ñ?Ô?€EÝÐ+Ð+Ð+¨\¨\¨\Ð:Ñ;Ô;€EÝ˜˜˜¨/¨/¨/Ð:Ñ;Ô;€EÝ  Ñ'Ô'¨4Ð/Ð/Ð/Ð/Ý  Ñ'Ô'¨5Ð0Ð0Ð0Ð0Ý  Ñ'Ô'¨5Ð0Ð0Ð0Ð0Ð0Ð0ó    c                  ó–  — t          d¦  «        } |                      ¦   «          t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          g d¢¦  «        }t          || j        | j        | j        ¦  «        }t          || j        | j        | j        ¦  «        }t          || j        | j        | j        ¦  «        }|d         |k    sJ ‚|d         t          | j        ¦  «        dz   k    sJ ‚|d         |k    sJ ‚|d         t          | j        ¦  «        dz   k    sJ ‚|d         |k    sJ ‚|d         dk    sJ ‚d S )	Nr   )r   r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   r   r   r   r   )r   Úschreier_simsr   r   ÚbaseÚbasic_orbitsÚbasic_transversalsÚlen)ÚDÚmemberÚnot_member1Únot_member2ÚidentityÚres1Úres2Úres3s           r   Ú
test_stripr/      sG  € Ý�aÑÔ€AØ‡O‚OÑÔÐÝ˜˜˜Ñ)Ô)€FÝ˜o˜o˜oÑ.Ô.€KÝ˜o˜o˜oÑ.Ô.€KÝ˜?˜?˜?Ñ+Ô+€HÝ�&˜!œ& !¤.°!Ô2FÑGÔG€DÝ�+˜qœv q¤~°qÔ7KÑLÔL€DÝ�+˜qœv q¤~°qÔ7KÑLÔL€DØ�Œ7�hÒÐÐÐØ�Œ7•c˜!œ&‘k”k A‘oÒ%Ð%Ð%Ð%Ø�Œ7�kÒ!Ð!Ð!Ð!Ø�Œ7•c˜!œ&‘k”k A‘oÒ%Ð%Ð%Ð%Ø�Œ7�hÒÐÐÐØ�Œ7�aŠ<ˆ<ˆ<ˆ<ˆ<ˆ<r    c                  ód  — g d¢} t          g d¢¦  «        t          g d¢¦  «        t          g d¢¦  «        t          g d¢¦  «        g}t          | |¦  «        |t          g d¢¦  «        t          g d¢¦  «        t          g d¢¦  «        gt          g d¢¦  «        t          g d¢¦  «        ggk    sJ ‚d S )N)r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r   r   r   )r   r	   )r#   Úgenss     r   Útest_distribute_gens_by_baser2   &   sà   € Øˆ9ˆ9€DÝ˜˜˜Ñ%Ô%¥{°<°<°<Ñ'@Ô'@Ý�|�|�|Ñ$Ô$¥k°,°,°,Ñ&?Ô&?ðA€Då# D¨$Ñ/Ô/°DÝ4?ÀÀÀÑ4MÔ4MÝ3>¸|¸|¸|Ñ3LÔ3LÝ3>¸|¸|¸|Ñ3LÔ3Lð4Nõ 5@ÀÀÀÑ4MÔ4MÝ3>¸|¸|¸|Ñ3LÔ3Lð4Nð	4Oò Oð Oð Oð Oð Oð Or    c                  ó  — t          g d¢¦  «        t          g d¢¦  «        t          g d¢¦  «        gt          g d¢¦  «        gg} t          | ¦  «        t          g d¢¦  «        t          g d¢¦  «        t          g d¢¦  «        gk    sJ ‚d S )N)r   r   r   )r   r   r   )r   r   r   )r   r
   )Ústrong_gens_distrs    r   Útest_strong_gens_from_distrr5   2   sª   € Ý% i i iÑ0Ô0µ+¸i¸i¸iÑ2HÔ2HÝ˜i˜i˜iÑ(Ô(ð*Ý,7¸	¸	¸	Ñ,BÔ,BÐ+CðEÐå"Ð#4Ñ5Ô5Ý	�Y�Y�YÑ	Ô	Ý	�Y�Y�YÑ	Ô	Ý	�Y�Y�YÑ	Ô	ð	!ò!ð !ð !ð !ð !ð !r    c                  óh  — t          d¦  «        } |                      ¦   «          | j        }| j        }t	          ||¦  «        }t          ||¦  «        }|d         }|d         }t          |¦  «        }t          |¦  «        D ]k}||         D ]`}	 ||         |	         ||         ¦  «        |	k    sJ ‚t          |¦  «        D ]+}
 ||         |	         ||
         ¦  «        ||
         k    sJ ‚Œ,ŒaŒld}t          |¦  «        D ]}|t          ||         ¦  «        z  }Œ|                      ¦   «         |k    sJ ‚d S )Nr   r   r   )	r   r"   r#   Ústrong_gensr	   r   r&   ÚrangeÚorder)ÚSr#   r7   r4   ÚresultÚorbitsÚtransversalsÚbase_lenÚiÚelÚjr9   s               r   Ú"test_orbits_transversals_from_bsgsrB   ;   sY  € Ý�qÑÔ€AØ‡O‚OÑÔÐØŒ6€DØ”-€KÝ0°°{ÑCÔCÐÝ+¨DÐ2CÑDÔD€FØ�AŒY€FØ˜!”9€LÝ�4‰yŒy€HÝ�8‰_Œ_ð ?ð ?ˆØ˜”)ð 	?ð 	?ˆBØ&�< ”? 2Ô& t¨A¤wÑ/Ô/°2Ò5Ð5Ð5Ð5Ý˜1‘X”Xð ?ð ?�Ø*�| A” rÔ*¨4°¬7Ñ3Ô3°t¸A´wÒ>Ð>Ð>Ð>Ð>ð?ð	?ð €EÝ�8‰_Œ_ð  ð  ˆØ•�V˜A”Y‘”ÑˆˆØ�7Š7‰9Œ9˜ÒÐÐÐÐÐr    c                  ó„  — t          d¦  «        } |                      ¦   «          | j        }| j        }t	          ||¦  «        }t          ||¦  «        }||d         k    sJ ‚|d         }|d         }t          |¦  «        }t          |¦  «        D ]k}||         D ]`}	 ||         |	         ||         ¦  «        |	k    sJ ‚t          |¦  «        D ]+}
 ||         |	         ||
         ¦  «        ||
         k    sJ ‚Œ,ŒaŒld}t          |¦  «        D ]}|t          ||         ¦  «        z  }Œ|                      ¦   «         |k    sJ ‚d S )Nr   r   r   r   )	r   r"   r#   r7   r   r	   r&   r8   r9   )ÚAr#   r7   r;   r4   r=   r<   r>   r?   r@   rA   r9   s               r   Útest_handle_precomputed_bsgsrE   P   sm  € Ý˜ÑÔ€AØ‡O‚OÑÔÐØŒ6€DØ”-€KÝ% d¨KÑ8Ô8€FÝ0°°{ÑCÔCÐØ  q¤	Ò)Ð)Ð)Ð)Ø˜!”9€LØ�AŒY€FÝ�4‰yŒy€HÝ�8‰_Œ_ð ?ð ?ˆØ˜”)ð 	?ð 	?ˆBØ&�< ”? 2Ô& t¨A¤wÑ/Ô/°2Ò5Ð5Ð5Ð5Ý˜1‘X”Xð ?ð ?�Ø*�| A” rÔ*¨4°¬7Ñ3Ô3°t¸A´wÒ>Ð>Ð>Ð>Ð>ð?ð	?ð €EÝ�8‰_Œ_ð  ð  ˆØ•�V˜A”Y‘”ÑˆˆØ�7Š7‰9Œ9˜ÒÐÐÐÐÐr    c                  óB   — g d¢} d}t          | |¦  «        g d¢k    sJ ‚d S )N)r   r   r   r   )r   r   r   r   r   r   r   )r   )r#   Údegrees     r   Útest_base_orderingrH   f   s8   € Øˆ9ˆ9€DØ€FÝ˜$ Ñ'Ô'Ð+@Ð+@Ð+@Ò@Ð@Ð@Ð@Ð@Ð@r    c                  óÈ  — t          d¦  «        } |                      ¦   «         \  }}t          ||¦  «        }t          | ||¦  «        du sJ ‚t	          d¦  «        }|                     ¦   «         \  }}t          ||¦  «        }t          |||¦  «        du sJ ‚t          d¦  «        }|                     ¦   «         \  }}t          ||¦  «        }t          |||¦  «        du sJ ‚d S )Né
   Tr   r   )r   Úschreier_sims_incrementalr   r   r   r   )r:   r#   r7   Únew_gensrD   r'   s         r   Útest_remove_gensrM   l   sõ   € Ý�rÑÔ€AØ×3Ò3Ñ5Ô5Ñ€Dˆ+Ý˜D +Ñ.Ô.€HÝ˜˜4 Ñ*Ô*¨dÐ2Ð2Ð2Ð2Ý˜ÑÔ€AØ×3Ò3Ñ5Ô5Ñ€Dˆ+Ý˜D +Ñ.Ô.€HÝ˜˜4 Ñ*Ô*¨dÐ2Ð2Ð2Ð2Ý�aÑÔ€AØ×3Ò3Ñ5Ô5Ñ€Dˆ+Ý˜D +Ñ.Ô.€HÝ˜˜4 Ñ*Ô*¨dÐ2Ð2Ð2Ð2Ð2Ð2r    N)Ú sympy.combinatorics.named_groupsr   r   r   Ú sympy.combinatorics.permutationsr   Úsympy.combinatorics.utilr   r   r	   r
   r   r   r   r   Úsympy.combinatorics.testutilr   r   r/   r2   r5   rB   rE   rH   rM   © r    r   ú<module>rS      sI  ððð ð ð ð ð ð ð ð ð à 8Ð 8Ð 8Ð 8Ð 8Ð 8ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð 6Ð 5Ð 5Ð 5Ð 5Ð 5ð1ð 1ð 1ðð ð ð$	Oð 	Oð 	Oð!ð !ð !ðð ð ð*ð ð ð,Að Að Að3ð 3ð 3ð 3ð 3r    