§
    PŠtj¢;  ã                   ó‚  — d Z ddlmZ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 ddlmZ ddlmZ dd	lmZ dd
lmZ 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!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-m.Z.m/Z/m0Z0 ddlm1Z1 ddl2m3Z3 ddl4m5Z5 ddl6m7Z7m8Z8 ddl9m:Z: d„ Z;d„ Z<d„ Z=d„ Z>d„ Z?d„ Z@d„ ZAd„ ZBd„ ZCd„ ZDd S )!z6Tests for solvers of systems of polynomial equations. é    )ÚZZÚQQ_I)ÚIÚIntegerÚRational)ÚS)Úsymbols)Úsqrt)ÚQQ)ÚUnsolvableFactorError)ÚOptions)ÚPoly)ÚCRootOf)Úsolve)Úflatten)ÚaÚbÚcÚxÚyÚz)ÚPolynomialError)Úsolve_poly_systemÚsolve_triangulatedÚsolve_biquadraticÚSolveFailedÚsolve_genericÚfactor_system_boolÚfactor_system_condÚfactor_system_polyÚfactor_systemÚ_factor_setsÚ_factor_sets_slow)Úparallel_poly_from_expr)Úraises)ÚEq)ÚsinÚcos)Úexpc                  ó°
  — t          t          dz
  gt          ¦  «        t          j        fgk    sJ ‚t          t          t          z
  t          t          z
  dz
  gt          t          ¦  «        �J ‚t          t          t          dz  z
  t          t          dz  z   gt          t          ¦  «        t          j        t          j        fgk    sJ ‚t          dt          z  dz
  t          t          dd¦  «        z  dt          z  z
  t          dt          z  z
  gt          t          t          ¦  «        t          dd¦  «        t          d¦  «        t          d¦  «        fgk    sJ ‚t          t          t          z  dt          z  z
  dt          dz  z  t          dz  z
  gt          t          ¦  «        ddt          d¦  «         fdt          d¦  «        fgk    sJ ‚t          t          t          dz  z
  t          t          dz  z   dz   gt          t          ¦  «        t           t          t          j        ¦  «        z  t          dd¦  «        ft          t          t          j        ¦  «        z  t          dd¦  «        fgk    sJ ‚t          dz  t          z   t          z   dz
  } t          t          dz  z   t          z   dz
  }t          t          z   t          dz  z   dz
  }t          d¦  «        dz
  t          d¦  «         dz
  }}t          | ||gt          t          t          ¦  «        dd	d
|||f|||fgk    sJ ‚ddg}t          t          t          dz  t          dz  z
  ¦  «        t          t          dz
  ¦  «        g¦  «        |k    sJ ‚t          t          dz  t          dz  z
  t          dz
  gt          t          ¦  «        |k    sJ ‚t          t          dz  t          dz  z
  t          dz
  g¦  «        |k    sJ ‚t          t          t          t          z  z   dz
  t          t          t          z  z   dz
  gt          t          ¦  «        ddgk    sJ ‚t          t          d„ ¦  «         t          t          d„ ¦  «         t          t          d„ ¦  «         t          t          d„ ¦  «         t          t          d„ ¦  «         t          t          dz  t          z
  dz   gt          gd¬¦  «        g k    sJ ‚t          t           d„ ¦  «         t          t          dz
  t          dz  t          z
  dz   z  t          dz  dz
  gt          t          gd¬¦  «        ddgk    sJ ‚t          t           d„ ¦  «         d S )Né   é   é   é   é
   )r   r   éÿÿÿÿ©r   r   r+   ©r   r+   r   ©r+   r   r   ©r+   r0   ©r+   r+   é   )éýÿÿÿéþÿÿÿ)r+   r,   c                  ó`   — t          t          dz  t          dz  z
  gt          t          ¦  «        S )Nr-   ©r   r   r   © ó    ú^/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/solvers/tests/test_polysys.pyú<lambda>z(test_solve_poly_system.<locals>.<lambda>@   s!   € Õ(9½1¸a¹4Å!ÀQÁ$¹;¸-ÍÍAÑ(NÔ(N€ r<   c                  óº   — t          t          dt          z  t          dz  z  t          z   t          dz  t          z  z   t          dz  t           dz
  z  dz   g¦  «        S )Nr8   r,   r6   )r   r   r   r   r;   r<   r=   r>   z(test_solve_poly_system.<locals>.<lambda>A   sK   € Õ(9Ý	
ˆB�q‰D•�A‘‰I�‰M�A˜q™D¥™FÑ"¥A q¡D­1¨"¨q©&¡M°AÑ$5Ð6ñ)8ô )8€ r<   c                  ó>   — t          dt          z  gt          ¦  «        S ©Nr+   ©r   r   r;   r<   r=   r>   z(test_solve_poly_system.<locals>.<lambda>C   s   € Õ$5°q½±s°e½QÑ$?Ô$?€ r<   c                  óL   — t          t          dz
  gt          t          f¦  «        S rA   r:   r;   r<   r=   r>   z(test_solve_poly_system.<locals>.<lambda>E   ó    € Õ(9ÝˆQ‰3ˆ&•1•a�&ñ)ô )€ r<   c                  óL   — t          t          dz
  gt          t          f¦  «        S rA   )r   r   r   r;   r<   r=   r>   z(test_solve_poly_system.<locals>.<lambda>G   rD   r<   F©Ústrictc                  óZ   — t          t          dz  t          z
  dz   gt          gd¬¦  «        S )Nr.   r+   TrF   rB   r;   r<   r=   r>   z(test_solve_poly_system.<locals>.<lambda>M   s-   € Õ*;Ý	
ˆA‰•‰�A‰ˆ�˜ Dð+*ñ +*ô +*€ r<   c                  ó”   — t          t          dz
  t          dz  t          z
  dz   z  t          dz  dz
  gt          t          gd¬¦  «        S )Nr+   r.   r,   TrF   r:   r;   r<   r=   r>   z(test_solve_poly_system.<locals>.<lambda>S   sC   € Õ$¥q¨1¡u­q°!©tµa©x¸!©|Ñ&<½aÀ¹dÀ1¹fÐ%EÝ&'­ V°Dð:ñ :ô :€ r<   )r   r   r   ÚOner   ÚZeror   r   r   r
   r   ÚHalfr   r%   ÚNotImplementedErrorr   r   )Úf_1Úf_2Úf_3r   r   Úsolutions         r=   Útest_solve_poly_systemrR      sï  € Ý�a !™e˜W¥aÑ(Ô(­a¬e¨X¨JÒ6Ð6Ð6Ð6å�a¥!™e¥Q­¡U¨Q¡YÐ/µµAÑ6Ô6Ð>Ð>Ð>å�a¥! Q¡$™h­­A¨q©D©Ð1µ1µaÑ8Ô8½a¼fÅaÄfÐ=MÐ<NÒNÐNÐNÐNå˜a¥™c A™g¥q­°!°Q©¬Ñ'7¸!½A¹#Ñ'=½qÀ1ÅQÁ3¹wÐGÍÍAÍqÑQÔQÝ
�1�a‰.Œ.�' !™*œ*¥g¨b¡k¤kÐ	2Ð3ò4ð 4ð 4ð 4õ �a¥™c A¥a¡C™i¨­1¨a©4©µ!°Q±$©Ð7½½AÑ>Ô>Ø	�!•d˜1‘g”g�X� ¥D¨¡G¤G Ð-ò.ð .ð .ð .õ �a¥! Q¡$™h­­A¨q©D©°1©Ð5µq½!Ñ<Ô<Ýˆ"�T•!”&‰\Œ\‰/�8 B¨™?œ?Ð	+­aµµQ´V±´©n½hÀrÈ1¹o¼oÐ-NÐOòPð Pð Pð Põ ˆQ‰$•‰(•Q‰,˜Ñ
€CÝ
�a�‰d‰(•Q‰,˜Ñ
€CÝ
�a‰%•!�Q‘$‰,˜Ñ
€Cå�‰7Œ7�Q‰;�˜a™œ˜ 1™€q€Aå˜c 3¨˜_­aµµAÑ6Ô6Ø	�I˜y¨1¨a°¨)°a¸¸A°YÐ?ò@ð @ð @ð @ð ˜Ð €Hå�d¥1 a¡4­!¨Q©$¡;Ñ/Ô/µµa¸!±e±´Ð=Ñ>Ô>À(ÒJÐJÐJÐJÝ�a ™d¥Q¨¡T™k­1¨q©5Ð1µ1µaÑ8Ô8¸HÒDÐDÐDÐDÝ�a ™d¥Q¨¡T™k­1¨q©5Ð1Ñ2Ô2°hÒ>Ð>Ð>Ð>åÝ	
�Q�q‰S‰�1‰•a�!�A™#‘g ‘kÐ"¥A¥qñ*ô *Ø.6¸Ð-?ò@ð @ð @ð @õ ÕÐ NÐ NÑOÔOÐOÝ
Õð !8ð !8ñ 9ô 9ð 9å
�?Ð?Ð?Ñ@Ô@Ð@å
Õð !ð !ñ ô ð å
Õð !ð !ñ ô ð õ
 �a ™d¥Q™h¨™l˜^­a¨S¸Ð?Ñ?Ô?À2ÒEÐEÐEÐEÝ
Õ ð #*ð #*ñ +ô +ð +õ �q 1™u¥q¨!¡t­a¡x°!¡|Ñ4µa¸±d¸Q±hÐ?Å!ÅQÀØ$)ð+ñ +ô +Ø/6¸Ð.?ò@ð @ð @ð @å
Õ ð:ð :ñ;ô ;ð ;ð ;ð ;r<   c            
      ó4  ‡ — t          t          t          fddi¦  «        Š t          t          dz  dt          dz  z  z
  t          dz  t          z
  dz   g‰ ¦  «        t	          dt	          d¦  «        t
          z  z
  ¦  «         t          dd¦  «        t	          d¦  «        t
          z  dz  z
  ft	          dt	          d¦  «        t
          z  z
  ¦  «        t          dd¦  «        t	          d¦  «        t
          z  dz  z
  ft	          dt	          d¦  «        t
          z  z   ¦  «         t          dd¦  «        t	          d¦  «        t
          z  dz  z   ft	          dt	          d¦  «        t
          z  z   ¦  «        t          dd¦  «        t	          d¦  «        t
          z  dz  z   fgk    sJ ‚t          dt          z  t          z
  t          dz
  t          dz  t          z
  dz   z  g‰ d¬	¦  «        t          dd¦  «        dfgk    sJ ‚t          t          ˆ fd
„¦  «         d S )NÚdomainr   r,   r+   r0   r-   r.   FrF   c                  óˆ   •— t          dt          z  t          z
  t          dz
  t          dz  t          z
  dz   z  g‰ d¬¦  «        S )Nr,   r+   r.   TrF   )r   r   r   ©Ú	NewOptions   €r=   r>   z$test_solve_generic.<locals>.<lambda>d   sB   ø€ ­-Ø	
�1‰�q‰•1�q‘5�1˜a™4¥!™8 a™<Ñ(Ð)¨9¸Tð+Cñ +Cô +C€ r<   )	r   r   r   r   r
   r   r   r%   r   rV   s   @r=   Útest_solve_genericrX   W   sö  ø€ Ý��A˜ ¨4Ð 0Ñ1Ô1€IÝ�!˜Q™$ ¥1 a¡4¡™-­¨A©µ©°A©Ð6¸	ÑBÔBÝ�2�˜Q™œ¥™	‘>Ñ"Ô"Ð"¥H¨Q°¡N¤NµT¸!±W´W½Q±Y¸q±[Ñ$@ÐAÝ�"•t˜A‘w”w�q‘y‘.Ñ!Ô!¥8¨A¨q¡>¤>µD¸±G´G½A±I¸a±KÑ#?Ð@Ý�2�˜Q™œ¥™	‘>Ñ"Ô"Ð"¥H¨Q°¡N¤NµT¸!±W´W½Q±Y¸q±[Ñ$@ÐAÝ�"•t˜A‘w”w�q‘y‘.Ñ!Ô!¥8¨A¨q¡>¤>µD¸±G´G½A±I¸a±KÑ#?Ð@ðBòBð Bð Bð Bõ Ø	
�1‰�q‰•1�q‘5�1˜a™4¥!™8 a™<Ñ(Ð)¨9¸UðDñ Dô Då
�1�a‰.Œ.˜!Ð	Ðòð ð ð õ Õ ð #Cð #Cð #Cð #Cñ Dô Dð Dð Dð Dr<   c                  óº	  ‡‡‡‡— t          d¦  «        \  } }}}}t          dz
  dz  t          dz
  dz  z   |dz  z
  }t          dz
  dz  t          dz
  dz  z   |dz  z
  }t          d|dz  z  dz
  ¦  «        }d|z
  dz  }d|z   dz  }	t	          ||gt          t          ¦  «        ||	f|	|fgk    sJ ‚t          dz
  dz  t          dz
  dz  z   |dz  z
  }t          dz
  dz  t          dz
  dz  z   |dz  z
  }t	          ||gt          t          ¦  «        dt          d|z  dz
  d|z  dz   z  ¦  «        dz  z
  t          dd¦  «        fdt          d|z  dz
  d|z  dz   z  ¦  «        dz  z   t          dd¦  «        fgk    sJ ‚d„ Št          dz
  dz  t          dz
  dz  z   |dz  z
  }t          |z
  dz  t          dz
  dz  z   |dz  z
  }t	          ||gt          t          ¦  «        }
t          |
¦  «        dk    rt          d„ |
D ¦   «         ¦  «        sJ ‚t          ˆfd„t          |
¦  «        D ¦   «         ¦  «        sJ ‚t          | z
  dz  t          |z
  dz  z   |dz  z
  }t          |z
  dz  t          |z
  dz  z   |dz  z
  }t	          ||gt          t          ¦  «        }
t          |
¦  «        dk    rt          d„ |
D ¦   «         ¦  «        sJ ‚t          ˆfd	„t          |
¦  «        D ¦   «         ¦  «        sJ ‚t          t          z  t          z
  t          dz  t          z
  f}t          |¦  «        t          dit          d
t          d
igk    sJ ‚t          t          z  t          z
  t          dz  t          z
  f}t          |¦  «        t          dit          d
t          d
igk    sJ ‚t          t          f}||fD ]/}t          |g|¢R Ž \  \  ŠŠŠt          t          ˆˆˆfd„¦  «         Œ0t          dz  t          dz  z   dz
  t          dz  dz
  f}t          |g|¢R Ž \  \  ŠŠŠt          ‰‰‰¦  «        g d¢k    sJ ‚ddg}t          dz  t          dz  z   dz
  t          dz  dz
  f}t          |g|¢R Ž \  \  ŠŠŠt          ‰‰‰¦  «        |k    sJ ‚t          dz  t          dz  z   dz
  t          dz  t          z
  t          dz  z   dz
  f}t          |g|¢R Ž \  \  ŠŠŠt          ‰‰‰¦  «        |k    sJ ‚d S )Nzx0 y0 x1 y1 rr+   r,   r-   c                 ó6   — | j         o| j        t          j        u S ©N)Úis_Powr)   r   rL   )Úexprs    r=   r>   z(test_solve_biquadratic.<locals>.<lambda>y   s   € ˜œÐ;¨¬µQ´VÐ);€ r<   c              3   ó<   K  — | ]}t          |¦  «        d k    V — ŒdS ©r,   N©Úlen©Ú.0Úrs     r=   ú	<genexpr>z)test_solve_biquadratic.<locals>.<genexpr>€   ó,   è è € Ð#@Ð#@°A¥C¨¡F¤F¨a¢KÐ#@Ð#@Ð#@Ð#@Ð#@Ð#@r<   c              3   óJ   •K  — | ]}|                      ‰¦  «        d k    V — ŒdS ©r+   N)Úcount©rc   rd   Úquerys     €r=   re   z)test_solve_biquadratic.<locals>.<genexpr>�   s2   øè è € Ð<Ð< qˆq�wŠw�u‰~Œ~ Ò"Ð<Ð<Ð<Ð<Ð<Ð<r<   c              3   ó<   K  — | ]}t          |¦  «        d k    V — ŒdS r_   r`   rb   s     r=   re   z)test_solve_biquadratic.<locals>.<genexpr>ˆ   rf   r<   c              3   ód   •K  — | ]*}t          |                     ‰¦  «        ¦  «        d k    V — Œ+dS rh   )ra   Úfindrj   s     €r=   re   z)test_solve_biquadratic.<locals>.<genexpr>‰   s:   øè è € Ð@Ð@¨1�s�1—6’6˜%‘=”=Ñ!Ô! QÒ&Ð@Ð@Ð@Ð@Ð@Ð@r<   r   c                  ó&   •— t          ‰ ‰‰¦  «        S r[   )r   )ÚfÚgÚopts   €€€r=   r>   z(test_solve_biquadratic.<locals>.<lambda>’   s   ø€ Õ$5°a¸¸CÑ$@Ô$@€ r<   ))r0   r0   )r0   r+   r4   r5   )r   r0   )r   r+   )r	   r   r   r
   r   r   ra   Úallr   r   r$   r%   r   r   )Úx0Úy0Úx1Úy1rd   rN   rO   Úsr   r   ÚresultÚs1Ús2ÚgensÚseqÚansrp   rq   rr   rk   s                   @@@@r=   Útest_solve_biquadraticr   h   sQ  øøøø€ Ý Ñ0Ô0Ñ€BˆˆB��Aåˆq‰5�1‰*�˜A™ ‘zÑ
! A q¡DÑ
(€CÝˆq‰5�1‰*�˜A™ ‘zÑ
! A q¡DÑ
(€CÝˆQˆq�!‰t‰V�a‰ZÑÔ€AØ	
ˆQ‰�‰	€AØ	
ˆQ‰�‰	€AÝ˜c 3˜Z­­AÑ.Ô.°A°q°6¸A¸q¸6Ð2BÒBÐBÐBÐBåˆq‰5�1‰*�˜A™ ‘zÑ
! A q¡DÑ
(€CÝˆq‰5�1‰*�˜A™ ‘zÑ
! A q¡DÑ
(€Cå˜c 3˜Z­­AÑ.Ô.Ø
�d�A�a‘C˜!‘G˜a ™c A™gÑ&Ñ'Ô'¨Ñ)Ñ
)­8°A°q©>¬>Ð	:Ø
�d�A�a‘C˜!‘G˜a ™c A™gÑ&Ñ'Ô'¨Ñ)Ñ
)­8°A°q©>¬>Ð	:ð	<ò<ð <ð <ð <ð <Ð;€Eåˆq‰5�A‰+�˜Q™ ™
Ñ
" Q¨¡TÑ
)€CÝˆr‰6�A‰+�˜Q™ ™
Ñ
" Q¨¡TÑ
)€Cå  S˜z­1­aÑ0Ô0€Fåˆv‰;Œ;˜!ÒÐ¥Ð#@Ð#@¸Ð#@Ñ#@Ô#@Ñ @Ô @ÐÐÐ@ÝÐ<Ð<Ð<Ð<­G°F©O¬OÐ<Ñ<Ô<Ñ<Ô<Ð<Ð<Ð<åˆr‰6�A‰+�˜R™ !™Ñ
# a¨¡dÑ
*€CÝˆr‰6�A‰+�˜R™ !™Ñ
# a¨¡dÑ
*€Cå  S˜z­1­aÑ0Ô0€Fåˆv‰;Œ;˜!ÒÐ¥Ð#@Ð#@¸Ð#@Ñ#@Ô#@Ñ @Ô @ÐÐÐ@ÝÐ@Ð@Ð@Ð@µ¸±´Ð@Ñ@Ô@Ñ@Ô@Ð@Ð@Ð@å
�A‰#•‰'•1�a‘4�!‘8Ð	€BÝ�‰9Œ9�!˜Q˜¥! Q­¨1 Ð.Ò.Ð.Ð.Ð.Ý
�A‰#•‰'•1�a‘4�!‘8Ð	€BÝ�‰9Œ9�!˜Q˜¥! Q­¨1 Ð.Ò.Ð.Ð.Ð.Ý�qˆ6€DØ�Bˆxð Bð BˆÝ-¨cÐ9°DÐ9Ð9Ð9‰‰ˆˆA�Ý�{Ð@Ð@Ð@Ð@Ð@Ð@ÑAÔAÐAÐAÝˆa‰4•!�Q‘$‰;˜‰?�A˜q™D 1™HÐ
%€CÝ)¨#Ð5°Ð5Ð5Ð5�K�F€QˆˆCÝ˜Q  3Ñ'Ô'ð ,,ð ,,ð ,,ò ,ð ,ð ,ð ,à�FÐ
€CÝˆa‰4•!�Q‘$‰;˜‰?�A˜q™D 1™HÐ
%€CÝ)¨#Ð5°Ð5Ð5Ð5�K�F€QˆˆCÝ˜Q  3Ñ'Ô'¨3Ò.Ð.Ð.Ð.Ýˆa‰4•!�Q‘$‰;˜‰?�A˜q™D¥1™H¥q¨!¡t™O¨aÑ/Ð
0€CÝ)¨#Ð5°Ð5Ð5Ð5�K�F€QˆˆCÝ˜Q  3Ñ'Ô'¨3Ò.Ð.Ð.Ð.Ð.Ð.r<   c                  ó  — t           dz  t          z   t          z   dz
  } t           t          dz  z   t          z   dz
  }t           t          z   t          dz  z   dz
  }t          d¦  «        dz
  t          d¦  «         dz
  }}t	          | ||gt           t          t          ¦  «        g d¢k    sJ ‚t          j        t          d¦  «        ¦  «        }t	          | ||gt           t          t          |¬¦  «        ddd|||f|||fgk    sJ ‚t          t          dz  dt          z  z   dz
  d¦  «        t          t          dz  dt          z  z   dz
  d¦  «        }}t	          | ||gt           t          t          d	¬
¦  «        ddd|||f|||fgk    sJ ‚d S )Nr,   r+   )r1   r2   r3   ©rT   r1   r2   r3   r   T©Ú	extension)r   r   r   r
   r   r   Úalgebraic_fieldr   )rN   rO   rP   r   r   Údoms         r=   Útest_solve_triangulatedr†       s–  € Ý
ˆQ‰$•‰(•Q‰,˜Ñ
€CÝ
�a�‰d‰(•Q‰,˜Ñ
€CÝ
�a‰%•!�Q‘$‰,˜Ñ
€Cå�‰7Œ7�Q‰;�˜a™œ˜ 1™€q€Aå˜s C¨˜o­qµ!µQÑ7Ô7Ø)Ð)Ð)ò*ð *ð *ð *õ Ô
�T !™WœWÑ
%Ô
%€Cå˜s C¨˜o­qµ!µQ¸sÐCÑCÔCØ	�I˜y¨1¨a°¨)°a¸¸A°YÐ?ò@ð @ð @ð @õ •1�a‘4˜!�A™#‘: ‘> 1Ñ%Ô%¥w­q°!©t°a½±c©z¸A©~¸qÑ'AÔ'A€q€AÝ˜s C¨˜o­qµ!µQÀ$ÐGÑGÔGØ	�I˜y¨1¨a°¨)°a¸¸A°YÐ?ò@ð @ð @ð @ð @ð @r<   c                  óÌ  — t          t          dz
  dz  dz  t          t          dd¦  «        z
  dz  dz  z   dz
  t          gt          t          ¦  «        } | dt          j        dt          d¦  «        z  z
  fdt          j        dt          d¦  «        z  z   fgk    sJ ‚t          t          dz
  dz  dz  t          d	z
  dz  dz  z   dz
  t          gt          t          ¦  «        } t          | ¦  «        dk    sJ ‚| d         d         dk    sJ ‚| d         d                              d
d¦  «        sJ ‚| d         d         dk    sJ ‚| d         d                              dd¦  «        sJ ‚d S )Nr.   r,   i�Ð r/   r+   r   é   iW  g      à?gÌÑñ˜™7Àg   ¢”mBgÌÑñ˜™G@)	r   r   r   r   r   rL   r
   ra   Ú
epsilon_eq)Úrootss    r=   Útest_solve_issue_3686r‹   ´   s^  € Ý¥ Q¡¨¡
¨6Ñ 1µQ½À!ÀR¹¼Ñ5HÈ1Ñ4LÈVÑ4SÑ SÐWXÑXÕZ[Ð\Õ^_ÕabÑcÔc€EØ�a�œ "¥T¨$¡Z¤Z¡-Ñ/Ð0°1µa´f¸rÅ$ÀtÁ*Ä*¹}Ñ6LÐ2MÐNÒNÐNÐNÐNå¥ Q¡¨¡
¨6Ñ 1µQ¸±ZÀ!±OÀFÑ4JÑ JÈaÑOÕQRÐSÕUVÕXYÑZÔZ€Eåˆu‰:Œ:˜Š?ˆ?ˆ?ˆ?Ø�Œ8�AŒ;˜!ÒÐÐÐØ�Œ8�AŒ;×!Ò!Ð"3°TÑ:Ô:Ð:Ð:Ð:Ø�Œ8�AŒ;˜!ÒÐÐÐØ�Œ8�AŒ;×!Ò!Ð"2°DÑ9Ô9Ð9Ð9Ð9Ð9Ð9r<   c                  ó˜  — t          t          dz  dt          z  z   dz   g¦  «        t          dz   ggk    sJ ‚t          t          dz  dt          z  z   dz   t          dz  dt          z  z   dz   g¦  «        t          dz   t          dz   ggk    sJ ‚t          t          dz  dz   g¦  «        t          dz  dz   ggk    sJ ‚t          g ¦  «        g gk    sJ ‚t          t          dz  t          dz  z   dt          z  t          z  z   t          dz  dz
  gt          d¦  «        ¬¦  «        t          t          z   t          t          d¦  «        z   gt          t          z   t          t          d¦  «        z
  ggk    sJ ‚t          t          dz  dz   t          dz  dz   gd¬¦  «        t          t          z   t          t          z   gt          t          z   t          t          z
  gt          t          z
  t          t          z   gt          t          z
  t          t          z
  ggk    sJ ‚t          t          dz  dz   t          dz  dz   gt
          ¬¦  «        t          t          z   t          t          z   gt          t          z   t          t          z
  gt          t          z
  t          t          z   gt          t          z
  t          t          z
  ggk    sJ ‚t          dg¦  «        g gk    sJ ‚t          dg¦  «        g k    sJ ‚t          dt          g¦  «        t          ggk    sJ ‚t          ddt          g¦  «        g k    sJ ‚t          t          dz  dz
  t          d	z  dz
  g¦  «        t          dz  dz   t          dz  t          z   dz   gt          dz  dz   t          dz  t          z
  dz   gt          dz  dz   t          dz   gt          dz  dz   t          dz
  gt          dz   t          dz  t          z   dz   gt          dz   t          dz  t          z
  dz   gt          dz
  t          dz  t          z   dz   gt          dz
  t          dz  t          z
  dz   gt          dz   t          dz   gt          dz   t          dz
  gt          dz
  t          dz   gt          dz
  t          dz
  ggk    sJ ‚t          t          dz
  t          dz
  z  t          dz
  t          d
z
  z  g¦  «        t          dz
  t          d
z
  gt          dz
  ggk    sJ ‚t          t          t          ¦  «        dz  t          t          ¦  «        dz  z   dz
  t          g¦  «        t          t          t          ¦  «        dz  t          t          ¦  «        dz  z   dz
  ggk    sJ ‚t          t          t          ¦  «        dz  t          t          ¦  «        dz  z   dz
  g¦  «        t          t          ¦  «        dz  t          t          ¦  «        dz  z   dz
  ggk    sJ ‚t          t          t          ¦  «        dz  t          t          ¦  «        dz  z   g¦  «        t          t          ¦  «        dz  t          t          ¦  «        dz  z   ggk    sJ ‚t          t          t          z  t          t          g¦  «        t          t          ggk    sJ ‚t          t          t          z  t          t          gt          t          g¦  «        g k    sJ ‚t          t          dz  t          z  t          gt          t          g¦  «        t          t          ggk    sJ ‚t          t          t          z  t          dz
  z  t          t          z  t          gt          t          g¦  «        g k    sJ ‚t          t          t          z  t          dz
  z  t          t          z  t          gt          t          t          g¦  «        t          dz
  t          t          gt          t          t          ggk    sJ ‚t          t          t          z  t          dz
  z  t          t          z  t          g¦  «        t          dz
  t          t          gt          t          t          gt          dz
  t          t          gt          t          t          gt          t          t          gt          t          t          ggk    sJ ‚t          t          dz  dz
  gt          g¦  «        g k    sJ ‚t          t          dz  dz
  gt          g¦  «        t          dz  dz
  ggk    sJ ‚t          t          t          ¦  «        dz  t          t          ¦  «        dz  z
  t          t          ¦  «        dz  t          t          ¦  «        dz  z   dz
  g¦  «        t          t          ¦  «        dz  t          t          ¦  «        dz  z   dz
  t          t          ¦  «        t          t          ¦  «        z   gt          t          ¦  «        dz  t          t          ¦  «        dz  z   dz
  t          t          ¦  «         t          t          ¦  «        z   ggk    sJ ‚t          t          t          ¦  «        t          t          ¦  «        z   dz  dz
  t          t          ¦  «        dz  t          t          ¦  «        dz  z
  t          dt          z  ¦  «        z
  g¦  «        t          t          ¦  «        dz  t          t          ¦  «        dz  z
  t          dt          z  ¦  «        z   t          t          ¦  «        t          t          ¦  «        z   dz   gt          t          ¦  «        dz  t          t          ¦  «        dz  z
  t          dt          z  ¦  «        z   t          t          ¦  «        t          t          ¦  «        z   dz
  ggk    sJ ‚t          t          t          ¦  «        t          t          ¦  «        z   t          t          ¦  «        z  dz
  t          t          ¦  «        t          t          ¦  «        z
  t          t          ¦  «        z  dz
  g¦  «        t          t          ¦  «        t          t          ¦  «        z  t          t          ¦  «        t          t          ¦  «        z  z   dz
  t          t          ¦  «         t          t          ¦  «        z  t          t          ¦  «        t          t          ¦  «        z  z   dz
  ggk    sJ ‚d S )Nr,   r+   r‚   T)Úgaussianr�   r   r6   é   r-   )r!   r   r   r
   r   r   r   r'   r(   r   r   r   r)   r;   r<   r=   Útest_factor_systemr�   Á   s
  € å�!˜Q™$ ¥1¡™* q™.Ð)Ñ*Ô*µ°Q±°¨yÒ8Ð8Ð8Ð8Ý�!˜Q™$ ¥1¡™* q™.­!¨Q©$°µ1±©*°q©.Ð9Ñ:Ô:ÅÀQÁÍÈAÉÀÐ?OÒOÐOÐOÐOÝ�!˜Q™$ ™(˜Ñ$Ô$­1¨a©4°!©8¨*¨Ò5Ð5Ð5Ð5Ý˜ÑÔ  Ò$Ð$Ð$Ð$å�!˜Q™$¥ A¡™+¨­!©­A©Ñ-­q°!©t°a©xÐ8ÅDÈÁGÄGÐLÑLÔLÝ	
�Q‰••D˜‘G”G‘ÐÝ	
�Q‰••D˜‘G”G‘ÐðQò ð ð ð õ
 �!˜Q™$ ™(¥A q¡D¨1¡HÐ-¸Ð=Ñ=Ô=Ý	
�Q‰••A‘ˆÝ	
�Q‰••A‘ˆÝ	
�Q‰••A‘ˆÝ	
�Q‰••A‘ˆð	Bò ð ð ð õ �!˜Q™$ ™(¥A q¡D¨1¡HÐ-µdÐ;Ñ;Ô;Ý	
�Q‰••A‘ˆÝ	
�Q‰••A‘ˆÝ	
�Q‰••A‘ˆÝ	
�Q‰••A‘ˆð	@ò ð ð ð õ ˜!˜ÑÔ " Ò%Ð%Ð%Ð%Ý˜!˜ÑÔ Ò#Ð#Ð#Ð#Ý˜!�a˜Ñ!Ô!¥q c UÒ*Ð*Ð*Ð*Ý˜!˜Q¥˜Ñ#Ô# rÒ)Ð)Ð)Ð)å�!˜Q™$ ™(¥A q¡D¨1¡HÐ-Ñ.Ô.Ý	
ˆA‰�‰•1�a‘4�!‘8˜a‘<Ð Ý	
ˆA‰�‰•1�a‘4�!‘8˜a‘<Ð Ý	
ˆA‰�‰•1�q‘5ÐÝ	
ˆA‰�‰•1�q‘5ÐÝ	
ˆQ‰•�1‘•q‘˜1‘ÐÝ	
ˆQ‰•�1‘•q‘˜1‘ÐÝ	
ˆQ‰•�1‘•q‘˜1‘ÐÝ	
ˆQ‰•�1‘•q‘˜1‘ÐÝ	
ˆQ‰•�A‘ˆÝ	
ˆQ‰•�A‘ˆÝ	
ˆQ‰•�A‘ˆÝ	
ˆQ‰•�A‘ˆð3ò ð ð ð õ �1˜q™5¥1 q¡5™/­A°©EµA¸±E©?Ð;Ñ<Ô<Ý	
ˆQ‰•�A‘ˆÝ	
ˆQ‰ˆðAò ð ð ð õ
 �#�a™&œ& !™)¥c­!¡f¤f¨a¡iÑ/°!Ñ3µQÐ7Ñ8Ô8Ý	
�C•‰FŒF�A‰I��A™œ ™	Ñ! AÑ%Ð&ð=ò ð ð ð õ �#�a™&œ& !™)¥c­!¡f¤f¨a¡iÑ/°!Ñ3Ð4Ñ5Ô5Ý	�Q‰Œ�‰•S�‘V”V˜Q‘YÑ	 Ñ	"Ð#ð:ò ð ð ð õ �#�a™&œ& !™)¥c­!¡f¤f¨a¡iÑ/Ð0Ñ1Ô1Ý	�Q‰Œ�‰•S�‘V”V˜Q‘YÑ	Ðð6ò ð ð ð õ �!�A™#�q¥!˜Ñ%Ô%­1­a¨&¨Ò1Ð1Ð1Ð1å�!�A™#�q¥!˜¥q­! fÑ-Ô-°Ò3Ð3Ð3Ð3å�!˜q™&¥1™*¥a˜­1­a¨&Ñ1Ô1µq½!°f°XÒ=Ð=Ð=Ð=å�!�A™#�q 1™u™+¥q­¡s­AÐ.µµA°Ñ7Ô7¸2Ò=Ð=Ð=Ð=å�!�A™#�q 1™u™+¥q­¡s­AÐ.µµAµq°	Ñ:Ô:Ý	
ˆQ‰••1ˆÝ	
�A�qˆ	ð?ò ð ð ð õ
 �!�A™#�q 1™u™+¥q­¡s­AÐ.Ñ/Ô/Ý	
ˆQ‰••1ˆÝ	
�A�qˆ	Ý	
ˆQ‰••1ˆÝ	
�A�qˆ	Ý	
�A�qˆ	Ý	
�A�qˆ	ð4ò ð ð ð õ �!˜Q™$ ™(˜¥a SÑ)Ô)¨RÒ/Ð/Ð/Ð/å�!˜Q™$ ™(˜¥a SÑ)Ô)­q°!©t°a©x¨j¨\Ò9Ð9Ð9Ð9å�#�a™&œ& !™)¥c­!¡f¤f¨a¡iÑ/µµQ±´¸±½SÅ¹V¼VÀQ¹YÑ1FÈÑ1JÐKÑLÔLÝ	�Q‰Œ�‰•S�‘V”V˜Q‘YÑ	 Ñ	"¥C­¡F¤F­Sµ©V¬V¡OÐ4Ý	�Q‰Œ�‰•S�‘V”V˜Q‘YÑ	 Ñ	"¥S­¡V¤V G­cµ!©f¬fÑ$4Ð5ðQò ð ð ð õ
 �3�q™6œ6¥C­¡F¤F™?¨QÑ.°Ñ2µC½±F´F¸A±IÅÅAÁÄÈÁ	Ñ4IÍCÐPQÕRSÑPSÉHÌHÑ4TÐUÑVÔVÝ	�Q‰Œ�‰•S�‘V”V˜Q‘YÑ	¥ Q¥q¡S¡¤Ñ	)­3­q©6¬6µC½±F´F©?¸QÑ+>Ð?Ý	�Q‰Œ�‰•S�‘V”V˜Q‘YÑ	¥ Q¥q¡S¡¤Ñ	)­3­q©6¬6µC½±F´F©?¸QÑ+>Ð?ð[ò ð ð ð õ
 �3�q™6œ6¥C­¡F¤F™?­Cµ©F¬FÑ2°QÑ6½½Q¹¼Å#ÅaÁ&Ä&¹Í#ÍaÉ&Ì&Ñ8PÐSTÑ8TÐUÑVÔVÝ	�Q‰Œ••A‘”‰��Q™œ¥¥A¡¤™Ñ	&¨Ñ	*­Sµ©V¬V¨GµC½±F´F©N½SÅ¹V¼VÅCÍÁFÄF¹]Ñ,JÈQÑ,NÐOð[ò ð ð ð ð ð r<   c            	      ó\  — d„ } d„ }d„ }d„ }t           | t          dz  dz
  ¦  «         | t          dz  dz
  ¦  «        g¦  «         | t          dz   ¦  «         | t          dz   ¦  «        g | t          dz   ¦  «         | t          dz
  ¦  «        g | t          dz   ¦  «         | t          dz
  ¦  «        g | t          dz
  ¦  «         | t          dz
  ¦  «        ggk    sJ ‚t           | t          dz  dz
  ¦  «        g¦  «         | t          dz   ¦  «        g | t          dz
  ¦  «        ggk    sJ ‚t           |t          dz  t          z  t          z
  ¦  «         |t          dz  t          z  t          z
  ¦  «        g¦  «         |t          dz   ¦  «        g |t          dz
  ¦  «        g |t          ¦  «         |t          ¦  «        ggk    sJ ‚t           | t          dz  t          dz
  dz  z  ¦  «         | t          t          dz
  z  ¦  «        g¦  «         | t          ¦  «        g | t          dz
  ¦  «        ggk    sJ ‚t           |t          dz  t          t          z  z   ¦  «         |t          dz  t          t          z  z   ¦  «        g¦  «         |t          t          z   ¦  «         |t          t          z   ¦  «        g |t          ¦  «        ggk    sJ ‚t           |t          dz
  t          dz
  z  ¦  «         |t
          dz
  t          dz
  z  ¦  «        g¦  «         |t          dz
  ¦  «        g |t          dz
  ¦  «         |t
          dz
  ¦  «        ggk    sJ ‚t           |t          dz  dz   ¦  «        g¦  «         |t          t          z   ¦  «        g |t          t          z
  ¦  «        ggk    sJ ‚t          g ¦  «        g gk    sJ ‚t           | d¦  «        g¦  «        g k    sJ ‚t           | d	¦  «         | t          ¦  «        g¦  «         | t          ¦  «        ggk    sJ ‚d S )
Nc                 ó,   — t          | t          ¦  «        S r[   )r   r   ©Úes    r=   r>   z)test_factor_system_poly.<locals>.<lambda>+  s   € •4˜�1‘:”:€ r<   c                 ó^   — t          | t          t          t          t          f         ¬¦  «        S ©Nr�   )r   r   r   r   r   r’   s    r=   r>   z)test_factor_system_poly.<locals>.<lambda>,  s   € •T˜!�Q¥r­!­Q¨$¤xÐ0Ñ0Ô0€ r<   c                 ó:   — t          | t          t          ¬¦  «        S r•   )r   r   r   r’   s    r=   r>   z)test_factor_system_poly.<locals>.<lambda>-  s   € •D˜�A¥dÐ+Ñ+Ô+€ r<   c                 óF   — t          | t          t          t          f¦  «        S r[   )r   r   r   r   r’   s    r=   r>   z)test_factor_system_poly.<locals>.<lambda>.  s   € •T˜!�a¥¥A˜YÑ'Ô'€ r<   r,   r+   r6   r-   r   )r    r   r   r   r   r   r   )ÚpxÚpxabÚpxIÚpxyzs       r=   Útest_factor_system_polyrœ   )  s  € à	Ð	€BØ0Ð0€DØ
+Ð
+€CØ'Ð'€Då˜r˜r¥! Q¡$¨¡(™|œ|¨R¨Rµ°1±°q±©\¬\Ð:Ñ;Ô;Ø	ˆ�A�‰E‰Œ�B�B•q˜1‘u‘I”IÐØ	ˆ�A�‰E‰Œ�B�B•q˜1‘u‘I”IÐØ	ˆ�A�‰E‰Œ�B�B•q˜1‘u‘I”IÐØ	ˆ�A�‰E‰Œ�B�B•q˜1‘u‘I”IÐð	@ò ð ð ð õ ˜r˜r¥! Q¡$¨¡(™|œ|˜nÑ-Ô-°2°2µa¸!±e±9´9°+ÀÀÅ1ÀqÁ5Á	Ä	¸{Ð1KÒKÐKÐKÐKå˜t˜t¥A q¡D­¡F­Q¡JÑ/Ô/°°µa¸±d½1±f½q±jÑ1AÔ1AÐBÑCÔCØ	ˆ�a�!‰e‰ŒˆØ	ˆ�a�!‰e‰ŒˆØ	ˆ�a‰Œ�$�$•q‘'”'ÐðHò ð ð ð õ ˜r˜r¥! Q¡$­¨A©°¡z¡/Ñ2Ô2°B°Bµq½!¸a¹%±y±M´MÐBÑCÔCØ	ˆ�A‰ŒˆØ	ˆ�A�‰E‰ŒˆðHò ð ð ð õ
 ˜t˜t¥A q¡D­1­Q©3¡JÑ/Ô/°°µa¸±d½Q½q¹S±jÑ1AÔ1AÐBÑCÔCØ	ˆ�a•!‰e‰Œ�d�d�1�q™5‘k”kÐ"Ø	ˆ�a‰Œˆ	ðHò ð ð ð õ
 ˜t˜t¥Q¨¡U­Q°©U¡OÑ4Ô4°d°d½AÀ¹EÅAÈÁE¹?Ñ6KÔ6KÐLÑMÔMØ	ˆ�a�!‰e‰ŒˆØ	ˆ�a�!‰e‰Œ�d�d�1˜q™5‘k”kÐ"ðRò ð ð ð õ
 ˜s˜s¥1 a¡4¨!¡8™}œ}˜oÑ.Ô.°C°C½½A¹±J´J°<À#À#ÅaÍ!ÁeÁ*Ä*ÀÐ2NÒNÐNÐNÐNå˜bÑ!Ô! b TÒ)Ð)Ð)Ð)å˜r˜r !™uœu˜gÑ&Ô&¨"Ò,Ð,Ð,Ð,Ý˜r˜r !™uœu b b­¡e¤e˜nÑ-Ô-°2°2µa±5´5°'°Ò:Ð:Ð:Ð:Ð:Ð:r<   c            	      ól	  — t          t          dz  dz
  t          dz  dz
  g¦  «        t          dz   t          dz   gt          dz   t          dz
  gt          dz   t          dz
  gt          dz
  t          dz
  ggk    sJ ‚t          dg¦  «        g k    sJ ‚t          dg¦  «        g gk    sJ ‚t          dt          g¦  «        g k    sJ ‚t          dt          g¦  «        t          ggk    sJ ‚t          g ¦  «        g gk    sJ ‚t          t          dz  t          t          z  z   g¦  «        t          t          z   gt          ggk    sJ ‚t          t          dz
  t          dz
  z  t          dz
  t          dz
  z  gt          g¦  «        t          dz
  gt          dz
  t          dz
  ggk    sJ ‚t          t          t          dz
  z  t          gt          g¦  «        t          dz
  t          gt          t          ggk    sJ ‚t          t          t          z  t          dz
  z  t          t          z  t
          gt          t          g¦  «        t          dz
  t          t
          gt          t          t
          gt          dz
  t          t
          gt          t          t
          gt          t          t
          gt          t          t
          ggk    sJ ‚t          t          t          dz
  z  t          gt          t          g¦  «        t          dz
  t          gt          t          ggk    sJ ‚t          t          t          z  t          t          gt          t          g¦  «        t          t          ggk    sJ ‚t          t          t          z  t          t          z  gt          t          g¦  «        t          gt          t          ggk    sJ ‚t          t          t          z  t          z  t          gt          t          g¦  «        t          t          gt          t          t          z  ggk    sJ ‚t          t          t          z  t          z  t          g¦  «        t          t          gt          t          gt          t          ggk    sJ ‚t          t          dz  t          z  t          gt          t          g¦  «        t          t          gt          t          ggk    sJ ‚d S )Nr,   r+   r6   r   r-   )r   r   r   r   r   r   r;   r<   r=   Útest_factor_system_condrž   V  s«  € å�q A™v¨™z­1°©6°A©:Ð6Ñ7Ô7Ý	
ˆQ‰•�A‘ˆÝ	
ˆQ‰•�A‘ˆÝ	
ˆQ‰•�A‘ˆÝ	
ˆQ‰•�A‘ˆð	<ò ð ð ð õ ˜q˜cÑ"Ô" bÒ(Ð(Ð(Ð(Ý˜q˜cÑ"Ô" r dÒ*Ð*Ð*Ð*Ý˜q¥!˜fÑ%Ô%¨Ò+Ð+Ð+Ð+Ý˜q¥!˜fÑ%Ô%­1¨#¨Ò.Ð.Ð.Ð.Ý˜bÑ!Ô! b TÒ)Ð)Ð)Ð)å�q !™t¥a­¡c™z˜lÑ+Ô+µµQ±°½!¸¨~Ò=Ð=Ð=Ð=å¥ A¡­¨A©™µ°Q±½¸Q¹±Ð@Å1À#ÑFÔFÝ	
ˆQ‰ˆÝ	
ˆQ‰•�A‘ˆðKò ð ð ð õ
 �q¥A¨¡E™{­AÐ.µ°Ñ4Ô4½!¸a¹%Å¸ÅaÍÀVÐ8LÒLÐLÐLÐLå�q¥™s¥A a¡C™y­!­A©#­qÐ1µAµq°6Ñ:Ô:Ý	
ˆQ‰••1ˆÝ	
�A�qˆ	Ý	
ˆQ‰••1ˆÝ	
�A�qˆ	Ý	
�A�qˆ	Ý	
�A�qˆ	ð?ò ð ð ð õ �q¥! A¡#™w­˜l­Qµ¨FÑ3Ô3½¸Q¹Å¸
ÅQÍÀFÐ7KÒKÐKÐKÐKå�q¥™s¥A¥q˜k­A­q¨6Ñ2Ô2½½1°v°hÒ>Ð>Ð>Ð>å�q¥™s¥A¥a¡C˜j­1­a¨&Ñ1Ô1µq°c½A½q¸6°]ÒBÐBÐBÐBå�q¥™s¥1™u¥a˜j­1­a¨&Ñ1Ô1µq½!°f½qÅ!ÅAÁ#¸hÐ5GÒGÐGÐGÐGå�q¥™s¥1™u¥a˜jÑ)Ô)­qµ!¨fµq½!°f½qÅ!¸fÐ-EÒEÐEÐEÐEå�q !™t¥A™v¥q˜k­A­q¨6Ñ2Ô2½½1°vÅÅ1¸vÐ6FÒFÐFÐFÐFÐFÐFr<   c                  óx  — t           t          dz
  z  t          dz
  z  t          t          dz
  z  t          dz
  z  t          dz
  z  g} t	          | t          t          g¦  «        t          t          dz
  d¦  «        t          t           d¦  «        t          t          d¦  «        z  z  t          t           d¦  «        t          t          dz
  d¦  «        z  z  t          t           d¦  «        t          t          dz
  d¦  «        z  z  t          t          d¦  «        t          t          dz
  d¦  «        z  z  t          t          dz
  d¦  «        t          t          dz
  d¦  «        z  z  t          t          dz
  d¦  «        t          t          dz
  d¦  «        z  z  k    sJ ‚t	          t          dz
  gt          g¦  «        t          t          dz
  d¦  «        k    sJ ‚t	          t          dz
  t          dz
  z  gt          g¦  «        t          t          dz
  d¦  «        t          t          dz
  d¦  «        z  k    sJ ‚t	          g t          g¦  «        dk    sJ ‚t	          dgt          g¦  «        dk    sJ ‚t	          dgt          g¦  «        dk    sJ ‚t	          t           gt          g¦  «        t          t           d¦  «        k    sJ ‚t	          t           t          z  t          t           gt          t          g¦  «        t          t           d¦  «        t          t          d¦  «        z  k    sJ ‚t	          t           t          z  t          t          z  t          z  t           gt          t          g¦  «        t          t           d¦  «        t          t          d¦  «        z  t          t           d¦  «        t          t          d¦  «        z  z  t          t           d¦  «        t          t          d¦  «        z  z  k    sJ ‚t	          t           t          z  t          t          z  gt          t          g¦  «        t          t          d¦  «        t          t           d¦  «        t          t          d¦  «        z  z  k    sJ ‚t	          t           t          z  t          z  t          gt          t          g¦  «        t          t          d¦  «        t          t          d¦  «        z  t          t          d¦  «        t          t           t          z  d¦  «        z  z  k    sJ ‚t	          t           dz  t          z  t          gt          t          g¦  «        t          t           d¦  «        t          t          d¦  «        z  t          t          d¦  «        t          t          d¦  «        z  z  k    sJ ‚t	          t           t          z  t          z  t          t          z  t          z  gt          t          t          g¦  «        t          t          d¦  «        t          t           d¦  «        t          t          d¦  «        z  z  t          t           d¦  «        t          t          d¦  «        z  z  t          t          d¦  «        t          t          d¦  «        z  z  t          t          d¦  «        t          t          d¦  «        z  z  k    sJ ‚t	          t           t          dz
  z  t          gt          g¦  «        t          t           d¦  «        t          t          d¦  «        z  t          t          dz
  d¦  «        t          t          d¦  «        z  z  k    sJ ‚d S )Nr+   r,   r   TF)r   r   r   r   r   r&   r   )Úeqss    r=   Útest_factor_system_boolr¡   ƒ  se  € å�a�!‰e‰9•a˜!‘eÑ�a¥ Q¡™i­¨Q©Ñ/µ°Q±Ñ7Ð
8€CÝ˜c¥A¥q 6Ñ*Ô*Ý
�1ˆq‰5�!‰ŒÝ�a�‰8Œ8•b�˜A‘h”hÑñ	 å�a�‰8Œ8•b�˜Q™ ‘l”lÑ"ñ	$õ �a�‰8Œ8•b�˜Q™ ‘l”lÑ"ñ	$õ �a�‰8Œ8•b�˜Q™ ‘l”lÑ"ñ		$õ
 �a�!‰e�Q‰<Œ<�"�Q ™U A™,œ,Ñ&ñ	(õ �a�!‰e�Q‰<Œ<�"�Q ™U A™,œ,Ñ&ñ	(òð ð ð õ �q 1™u˜g­ sÑ+Ô+­rµ!°a±%¸©|¬|Ò;Ð;Ð;Ð;å¥ A¡­¨A©™Ð/µ!°Ñ5Ô5½½AÀ¹EÀ1¹¼ÍÍ1ÈqÉ5ÐRSÉÌÑ9TÒTÐTÐTÐTå˜b¥1 #Ñ&Ô&¨$Ò.Ð.Ð.Ð.Ý˜q˜c¥A 3Ñ'Ô'¨4Ò/Ð/Ð/Ð/Ý˜q˜c¥A 3Ñ'Ô'¨5Ò0Ð0Ð0Ð0Ý�q˜c¥A 3Ñ'Ô'­2­a°©8¬8Ò3Ð3Ð3Ð3å�q¥1™u¥a­˜m­aµ¨VÑ4Ô4½½1¸a¹¼Å2ÅaÈÁ8Ä8Ñ8KÒKÐKÐKÐKå¥¥!¡¥Q¥q¡S­¡U­A˜µµA°Ñ7Ô7Ý
�1ˆa‰Œ•2•a˜‘8”8ÑÝ�a�‰8Œ8•b�˜A‘h”hÑñ< õ �a�‰8Œ8•b�˜A‘h”hÑñ< ò  ð  ð  ð  õ
 ¥¥!¡¥Q¥q¡S˜z­A­q¨6Ñ2Ô2µb½¸A±h´hÝ•�1‰XŒX��1˜a™œÑ ñ7"ò "ð "ð "ð "õ ¥¥!¡¥A¡¥q˜z­A­q¨6Ñ2Ô2Ý
�1ˆa‰Œ•2•a˜‘8”8ÑÝ	�Aˆq‰Œ•B•q�‘s˜A‘J”JÑ	ñ7 ò  ð  ð  ð  õ ¥ 1¡¥Q¡­˜{­Qµ¨FÑ3Ô3Ý
�1ˆa‰Œ•2•a˜‘8”8ÑÝ	�Aˆq‰Œ•B•q˜!‘H”HÑ	ñ8ò ð ð ð õ �q¥™s¥1™u¥a­¡c­!¡e˜n­qµ!µQ¨iÑ8Ô8Ý
�1ˆa‰ŒÝ�a�‰8Œ8•b�˜A‘h”hÑñ	 å�a�‰8Œ8•b�˜A‘h”hÑñ	 õ �a�‰8Œ8•b�˜A‘h”hÑñ	 õ �a�‰8Œ8•b�˜A‘h”hÑñ		 òð ð ð õ �q¥! a¡%™y­!˜n­q¨cÑ2Ô2Ý	�Aˆq‰Œ•B•q˜!‘H”HÑ	Ý�a�!‰e�Q‰<Œ<�"�Q ™(œ(Ñ"ñ	$òð ð ð ð ð r<   c                  ó  ‡— ddl mŠ d
ˆfd„	} ddgddggddgddggdgddgdggg}|D ]$}t          |¦  «        t          |¦  «        k    sJ ‚Œ%t	          d	¦  «        D ].} | ¦   «         }t          |¦  «        t          |¦  «        k    sJ ‚Œ/d S )Nr   )Úrandintr-   r,   r/   c                 óB   •‡‡— ˆˆˆfd„t          | ¦  «        D ¦   «         S )Nc           	      ó\   •— g | ](}ˆˆfd „t           ‰d‰¦  «        ¦  «        D ¦   «         ‘Œ)S )c                 ó(   •— g | ]} ‰d ‰¦  «        ‘ŒS )r   r;   )rc   Ú_Úmax_valr£   s     €€r=   ú
<listcomp>zOtest_factor_sets.<locals>.generate_random_system.<locals>.<listcomp>.<listcomp>¿  s%   ø€ ÐGÐGÐG QˆWˆW�Q˜Ñ Ô ÐGÐGÐGr<   r+   ©Úrange)rc   r§   r¨   Ú	n_factorsr£   s     €€€r=   r©   zDtest_factor_sets.<locals>.generate_random_system.<locals>.<listcomp>¾  sU   ø€ ð 
ð 
ð 
àð HÐGÐGÐGÐG­%°°¸¸9Ñ0EÔ0EÑ*FÔ*FÐGÑGÔGð
ð 
ð 
r<   rª   )Ún_eqsr¬   r¨   r£   s    ``€r=   Úgenerate_random_systemz0test_factor_sets.<locals>.generate_random_system½  s@   øøø€ ð
ð 
ð 
ð 
ð 
ð 
å˜5‘\”\ð
ñ 
ô 
ð 	
r<   r+   r6   éd   )r-   r,   r/   )Úrandomr£   r"   r#   r«   )r®   Ú
test_casesÚcaser§   Úsystemr£   s        @r=   Útest_factor_setsr´   ¹  sú   ø€ àÐÐÐÐÐð
ð 
ð 
ð 
ð 
ð 
ð ˆQˆ�!�Q�ÐØ
ˆQˆ�!�Q�ÐØ
ˆˆq�!ˆf�q�cÐð€Jð ð =ð =ˆÝ˜DÑ!Ô!Õ%6°tÑ%<Ô%<Ò<Ð<Ð<Ð<Ð<å�3‰ZŒZð Að AˆØ'Ð'Ñ)Ô)ˆÝ˜FÑ#Ô#Õ'8¸Ñ'@Ô'@Ò@Ð@Ð@Ð@Ð@ðAð Ar<   N)EÚ__doc__Úsympy.polys.domainsr   r   Úsympy.core.numbersr   r   r   Úsympy.core.singletonr   Úsympy.core.symbolr	   Ú(sympy.functions.elementary.miscellaneousr
   Ú!sympy.polys.domains.rationalfieldr   Úsympy.polys.polyerrorsr   Úsympy.polys.polyoptionsr   Úsympy.polys.polytoolsr   Úsympy.polys.rootoftoolsr   Úsympy.solvers.solversr   Úsympy.utilities.iterablesr   Ú	sympy.abcr   r   r   r   r   r   Úsympy.polysr   Úsympy.solvers.polysysr   r   r   r   r   r   r   r    r!   r"   r#   r$   Úsympy.testing.pytestr%   Úsympy.core.relationalr&   Ú(sympy.functions.elementary.trigonometricr'   r(   Ú&sympy.functions.elementary.exponentialr)   rR   rX   r   r†   r‹   r�   rœ   rž   r¡   r´   r;   r<   r=   ú<module>rÉ      sì  ðØ <Ð <Ø )Ð )Ð )Ð )Ð )Ð )Ð )Ð )Ø 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ð 5Ø "Ð "Ð "Ð "Ð "Ð "Ø %Ð %Ð %Ð %Ð %Ð %Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø +Ð +Ð +Ð +Ð +Ð +Ø &Ð &Ð &Ð &Ð &Ð &Ø +Ð +Ð +Ð +Ð +Ð +Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø -Ð -Ð -Ð -Ð -Ð -Ø &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ð &Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'ðSð Sð Sð Sð Sð Sð Sð Sð Sð Sð Sð Sð Sð Sð Sð Sð Sð Sð Sð Sð Sð Sð Sð Sð Sð Sð :Ð 9Ð 9Ð 9Ð 9Ð 9Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'Ø $Ð $Ð $Ð $Ð $Ð $Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =à 6Ð 6Ð 6Ð 6Ð 6Ð 6ð6;ð 6;ð 6;ðrDð Dð Dð"5/ð 5/ð 5/ðp@ð @ð @ð(
:ð 
:ð 
:ðeð eð eðP*;ð *;ð *;ðZ+Gð +Gð +GðZ3ð 3ð 3ðlAð Að Að Að Ar<   