Ë
    7^(h˜H  ã                   óf  — d Z ddlmZmZmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZ ddlmZ ddlmZmZ ddlmZmZ ddlmZmZ ddlmZ ddl m!Z" d	„ Z#d
„ Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z,d„ Z-d„ Z.d„ Z/d„ Z0ed„ «       Z1d„ Z2d„ Z3d„ Z4d„ Z5d„ Z6d„ Z7d„ Z8d„ Z9d „ Z:d!„ Z;d"„ Z<d#„ Z=d$„ Z>d%„ Z?d&„ Z@y')(zTests for Groebner bases. é    )ÚgroebnerÚsigÚsig_keyÚlbpÚlbp_keyÚcritical_pairÚcp_keyÚis_rewritable_or_comparableÚSignÚPolynÚNumÚs_polyÚ	f5_reduceÚgroebner_lcmÚgroebner_gcdÚis_groebnerÚ
is_reduced)Ú_representing_matrices)ÚlexÚgrlex)ÚringÚxring)ÚZZÚQQ)Úslow)Ú
polyconfigc                  óŽ  — t        dt        t        «      \  } }}|dz  d|z  |dz  z  z   }||z  d|dz  z  z   dz
  }t        ||g| «      ||dz  t        dd«      z
  gk(  sJ ‚t        dt        t        «      \  } }}d|dz  z  |z  |dz  z   }d|dz  z  ||z  z   dz
  }t        ||g| «      ||dz  t        dd«      z
  gk(  sJ ‚t        dt        t        «      \  } }}}||dz  z
  }||dz  z
  }t        ||g| «      ||gk(  sJ ‚t        dt        t        «      \  } }}|dz  d|z  |z  z
  }|dz  |z  |z   d|dz  z  z
  }t        ||g| «      |dz  ||z  t        dd«       |z  |dz  z   gk(  sJ ‚t        dt        t        «      \  } }}}|dz   |z   }|dz   |z   }t        ||g| «      |dz  |z
  ||z  |z
  ||z  |dz  z
  |dz  |dz  z
  gk(  sJ ‚t        dt        t        «      \  } }}}|dz   |z   }|dz   |z   }t        ||g| «      |dz  |dz  z
  |dz  |z
  ||z  |z
  ||z  |dz  z
  gk(  sJ ‚t        dt        t        «      \  } }}}|dz   |z   }|dz   |z   }t        ||g| «      |dz  |z
  ||z  |dz  z
  ||z  |z
  |dz  |dz  z
  gk(  sJ ‚t        dt        t        «      \  } }}}|dz   |z   }|dz   |z   }t        ||g| «      |dz   |dz  z   |dz  |z
  ||z  |dz  z
  ||z  |z
  gk(  sJ ‚t        dt        t        «      \  } }}}||dz  z
  }|dz   |z   }t        ||g| «      ||dz  z
  |dz  |z
  gk(  sJ ‚t        dt        t        «      \  } }}}||dz  z
  }|dz   |z   }t        ||g| «      |dz  ||z  z
  ||z  |z
  | |dz  z   gk(  sJ ‚t        dt        t        «      \  } }}}||dz  z
  }||dz  z
  }t        ||g| «      ||dz  z
  ||dz  z
  gk(  sJ ‚t        dt        t        «      \  } }}}||dz  z
  }||dz  z
  }t        ||g| «      |dz  ||z  z
  ||z  |z
  | |dz  z   gk(  sJ ‚t        dt        t        «      \  } }}}|dz   |z   }||dz  z
  }t        ||g| «      |||z  z
  |dz  |z
  gk(  sJ ‚t        dt        t        «      \  } }}}|dz   |z   }||dz  z
  }t        ||g| «      |dz   |dz  z   ||z  |dz  z
  |dz  |z
  | ||z  z   gk(  sJ ‚t        dt        t        «      \  } }}}||dz  z
  }||dz  z
  }t        ||g| «      ||dz  z
  ||dz  z
  gk(  sJ ‚t        dt        t        «      \  } }}}||dz  z
  }||dz  z
  }t        ||g| «      |dz   |dz  z   ||z  |dz  z
  | ||z  z   | |dz  z   gk(  sJ ‚t        dt        t        «      \  } }}}d|dz  z  |dz  z  d|z  |z  z   dz   }|dz  |dz  z   dz
  }t        ||g| «      |d|dz  z  z
  d	|d
z  z  z   d|dz  z  z
  d|z  z   |d	z  d|dz  z  z
  t        dd«      |dz  z  z   t        dd«      |dz  z  z
  t        dd«      z   gk(  sJ ‚y )Núx,yé   é   é   zy,xúx,y,zé   é   é   é   é   é   )r   r   r   r   r   )ÚRÚxÚyÚfÚgÚzs         úb/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/sympy/polys/tests/test_groebnertools.pyÚ_do_test_groebnerr0      s÷  € Ü�%œœSÓ!�F€A€qˆØ	ˆ1‰ˆq�‰s�1�a‘4‰x‰€AØ	ˆ!‰ˆa��1‘‰f‰�qÑ€Aä�Q˜�F˜AÓ 1 a¨¡d¬R°°!«W¡nÐ"5Ò5Ð5Ð5ä�%œœSÓ!�F€A€qˆØ	ˆ!ˆQ‰$‰ˆq‰�1�a‘4‰€AØ	ˆ!ˆQ‰$‰��1‘‰�qÑ€Aä�Q˜�F˜AÓ 1 a¨¡d¬R°°!«W¡nÐ"5Ò5Ð5Ð5ä�GœR¤Ó%�H€A€qˆˆ1Ø	ˆAˆq‰D‰€AØ	ˆAˆq‰D‰€Aä�Q˜�F˜AÓ 1 a &Ò(Ð(Ð(ä�%œœUÓ#�F€A€qˆØ	ˆ1‰ˆq�‰s�1‰u‰€AØ	ˆ1‰ˆQ‰�‰
�Q�q˜!‘t‘VÑ€Aä�Q˜�F˜AÓ 1 a¡4¨¨1©¬r°!°A«w¨h°q©j¸1¸a¹4Ñ.?Ð"@Ò@Ð@Ð@ä�GœR¤Ó%�H€A€qˆˆ1Ø	
ˆA‰ˆ�‰	€AØ	
ˆA‰ˆ�‰	€Aä�Q˜�F˜AÓ 1 a¡4¨!¡8¨Q¨q©S°1©W°a¸±c¸A¸q¹D±jÀ!ÀQÁ$ÈÈAÉÁ+Ð"NÒNÐNÐNä�GœR¤Ó'�H€A€qˆˆ1Ø	
ˆA‰ˆ�‰	€AØ	
ˆA‰ˆ�‰	€Aä�Q˜�F˜AÓ 1 a¡4¨!¨Q©$¡;°°1±°q±¸!¸A¹#À¹'À1ÀQÁ3ÈÈAÉÁ:Ð"NÒNÐNÐNä�GœR¤Ó%�H€A€qˆˆ1Ø	
ˆA‰ˆ�‰	€AØ	
ˆA‰ˆ�‰	€Aä�Q˜�F˜AÓ 1 a¡4¨!¡8¨Q¨q©S°1°a±4©Z¸¸1¹¸q¹À!ÀQÁ$ÈÈAÉÁ+Ð"NÒNÐNÐNä�GœR¤Ó'�H€A€qˆˆ1Ø	
ˆA‰ˆ�‰	€AØ	
ˆA‰ˆ�‰	€Aä�Q˜�F˜AÓ A q¡D 5¨1¨a©4¡<°°A±¸±¸1¸Q¹3ÀÀAÁ¹:ÀqÈÁsÈQÁwÐ"OÒOÐOÐOä�GœR¤Ó%�H€A€qˆˆ1Ø	ˆAˆq‰D‰€AØ	
ˆA‰ˆ�‰	€Aä�Q˜�F˜AÓ 1 q¨!¡t¡8¨Q°©T°A©XÐ"6Ò6Ð6Ð6ä�GœR¤Ó'�H€A€qˆˆ1Ø	ˆAˆq‰D‰€AØ	
ˆA‰ˆ�‰	€Aä�Q˜�F˜AÓ 1 a¡4¨!¨A©#¡:¨q°©s°Q©w¸¸¸QÀ¹T¹	Ð"BÒBÐBÐBä�GœR¤Ó%�H€A€qˆˆ1Ø	ˆAˆq‰D‰€AØ	ˆAˆq‰D‰€Aä�Q˜�F˜AÓ 1 q¨!¡t¡8¨Q°°A±©XÐ"6Ò6Ð6Ð6ä�GœR¤Ó'�H€A€qˆˆ1Ø	ˆAˆq‰D‰€AØ	ˆAˆq‰D‰€Aä�Q˜�F˜AÓ 1 a¡4¨!¨A©#¡:¨q°©s°Q©w¸¸¸QÀ¹T¹	Ð"BÒBÐBÐBä�GœR¤Ó%�H€A€qˆˆ1Ø	
ˆA‰ˆ�‰	€AØ	ˆAˆq‰D‰€Aä�Q˜�F˜AÓ 1 q¨¡s¡7¨A¨q©D°1©HÐ"5Ò5Ð5Ð5ä�GœR¤Ó'�H€A€qˆˆ1Ø	
ˆA‰ˆ�‰	€AØ	ˆAˆq‰D‰€Aä�Q˜�F˜AÓ A q¡D 5¨1¨a©4¡<°°1±°q¸!±t±¸QÀ¹TÀA¹XÈÀrÈAÈaÉCÁxÐ"PÒPÐPÐPä�GœR¤Ó%�H€A€qˆˆ1Ø	ˆAˆq‰D‰€AØ	ˆAˆq‰D‰€Aä�Q˜�F˜AÓ 1 q¨!¡t¡8¨Q°°A±©XÐ"6Ò6Ð6Ð6ä�GœR¤Ó'�H€A€qˆˆ1Ø	ˆAˆq‰D‰€AØ	ˆAˆq‰D‰€Aä�Q˜�F˜AÓ A q¡D 5¨1¨a©4¡<°°1±°q¸!±t±¸a¸RÀ!ÀAÁ#¹XÈÀrÈAÈqÉDÁyÐ"QÒQÐQÐQä�GœR¤Ó%�H€A€qˆˆ1Ø	ˆ!ˆQ‰$‰ˆq�!‰t‰�a˜‘c˜!‘eÑ˜aÑ€AØ	ˆ1‰ˆq�!‰t‰�a‰€Aä�Q˜�F˜AÓØ	ˆAˆa�‰d‰F‰
�Q�q˜!‘t‘VÑ˜a  1¡™fÑ$ q¨¡sÑ*Ø	ˆ1‰ˆq��A‘‰v‰œ˜1˜Q›  1¡™Ñ$¤r¨!¨A£w¨q°!©t¡|Ñ3´b¸¸2³hÑ>ð#ò ð ñ ó    c                  ón   — t        j                  d¬«      5  t        «        d d d «       y # 1 sw Y   y xY w©NÚ
buchberger©r   ©ÚconfigÚusingr0   © r1   r/   Útest_groebner_buchbergerr:      s)   € Ü	�‰˜|Ô	,ñ ÜÔ÷÷ ñ úó   —+«4c                  ón   — t        j                  d¬«      5  t        «        d d d «       y # 1 sw Y   y xY w©NÚf5br5   r6   r9   r1   r/   Útest_groebner_f5br?   ƒ   s)   € Ü	�‰˜uÔ	%ñ ÜÔ÷÷ ñ úr;   c                  ó´  — t        dt        t        «      \  } }}}|dz  |z   dz   |dz  |z   dz   ||z   |z  |dz  |z   z
  g}|t        dd«      |dz  z  z   t        dd	«      |d
z  z  z
  t        dd«      |dz  z  z   t        dd	«      |dz  z  z
  t        dd«      |z  z   t        dd«      z
  |t        d
d«      |dz  z  z   t        dd«      |d
z  z  z
  t        dd«      |dz  z  z   t        dd«      |dz  z  z
  t        dd«      |z  z   t        dd«      z
  |dz  d|dz  z  z
  d|d
z  z  z   d|dz  z  z
  d|dz  z  z   d|z  z
  dz   g}t        || «      |k(  sJ ‚y )Nr"   r    r!   r   é›   i  r&   ic  i±  r#   i®  ig  iÞ  é   é5   é[   éŸ   i  iƒ  i  i4  r'   r$   é)   éR   éY   é.   é   )r   r   r   r   )r)   r*   r+   r.   ÚFÚGs         r/   Ú_do_test_benchmark_minpolyrM   ‡   s§  € Ü�GœR¤Ó%�H€A€qˆˆ1à	
ˆA‰�‰�A‰�q˜!‘t˜a‘x !‘| a¨!¡e¨q¡[°A°q±D¸1±HÑ%=Ð>€AØ	
ŒR��D‹\˜!˜Q™$ÑÑ	¤ C¨£¨Q°©TÑ!1Ñ	1´B°t¸D³MÀ!ÀQÁ$Ñ4FÑ	FÌÈDÐQTËÐVWÐYZÑVZÑIZÑ	ZÔ]_Ð`dÐeiÓ]jÐklÑ]lÑ	lÔoqÐrtÐuwÓoxÑ	xØ	
ŒR��"‹X�a˜‘d‰]Ñ	œR  3›Z¨¨1©™_Ñ	,¬r°#°c«{¸1¸a¹4Ñ/?Ñ	?Ä"ÀSÈÃ*ÈQÐPQÉTÁ/Ñ	QÔTVÐW[Ð\_ÓT`ÐabÑTbÑ	bÔegÐhkÐloÓepÑ	pØ	
ˆA‰��!�Q‘$‘‰˜˜A˜q™D™Ñ	  2 a¨¡d¡7Ñ	*¨R°°1±©WÑ	4°r¸!±tÑ	;¸bÑ	@ð	B€Aô �A�q‹>˜QÒÐÑr1   c                  ón   — t        j                  d¬«      5  t        «        d d d «       y # 1 sw Y   y xY wr3   ©r7   r8   rM   r9   r1   r/   Ú!test_benchmark_minpoly_buchbergerrP   ‘   s)   € Ü	�‰˜|Ô	,ñ %Ü"Ô$÷%÷ %ñ %úr;   c                  ón   — t        j                  d¬«      5  t        «        d d d «       y # 1 sw Y   y xY wr=   rO   r9   r1   r/   Útest_benchmark_minpoly_f5brR   •   s)   € Ü	�‰˜uÔ	%ñ %Ü"Ô$÷%÷ %ñ %úr;   c                  ó`  — t        dd«      } g d¢}t        | D �cg c]  }d|z  ‘Œ	 c}t        t        «      \  }} |D ��cg c]  \  }}| |dz
     | |dz
     f‘Œ }}}| \  }}}}	}
}}}}}}}| D �cg c]
  }|dz  dz
  ‘Œ }}|D ��cg c]  \  }}|dz  ||z  z   |dz  z   ‘Œ }}}||z   }t	        |d d |«      ||z   |z   ||z
  ||z
  |	|z
  |
|z   |z   ||z
  ||z
  ||z   |z   ||z
  ||z   |z   |dz  ||z  z   |dz  z   |dz  dz
  gk(  sJ ‚t	        ||«      dgk(  sJ ‚y c c}w c c}}w c c}w c c}}w )Nr!   rJ   ))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%   rW   )rW   rU   )rU   rV   )rV   rT   )r&   rT   )r&   rW   )r'   rU   )r$   rV   )r%   rT   )r    r#   zx%dr    r   éÿÿÿÿ)Úranger   r   r   r   )ÚVÚEÚvr)   ÚiÚjÚx1Úx2Úx3Úx4Úx5Úx6Úx7Úx8Úx9Úx10Úx11Úx12r*   ÚI3r+   ÚIgÚIs                          r/   Útest_benchmark_coloringrn   š   s™  € Üˆa�Ó€Aò	G€Aô  aÖ) �5˜1“9Ò)¬2¬sÓ3�D€A€qØ*+×,¡$ ! Qˆ!ˆA�‰E‰(�A�a˜!‘e‘HÒ	Ð,€AÑ,à89Ñ5€BˆˆB��B˜˜B  B¨¨S°#àÖ	�qˆ!ˆQ‰$�‹(Ð	€BÐ	Ø()×	*¡  1ˆ!ˆQ‰$��1‘‰*�q˜!‘tÓ
Ð	*€BÑ	*à
ˆR‰€Aä�A�c�r�F˜AÓØ
ˆS‰�3‰Ø
ˆS‰Ø
ˆS‰Ø
ˆS‰Ø
ˆS‰�3‰Ø
ˆS‰Ø
ˆS‰Ø
ˆS‰�3‰Ø
ˆS‰Øˆc‰	�C‰ØˆQ‰��S‘Ñ˜3 ™6Ñ!ØˆQ‰�‰
ð#ò ð ð ô �A�q‹>˜a˜SÒ Ð Ñ ùò3 *ùÛ,ùò 
ùÛ	*s   šD¿DÁ/D%ÂD*c                  óÔ  — t        dt        t        «      \  } }}}|d|z  z   d|z  z   dz
  |dz  d|dz  z  z   d|dz  z  z   |z
  d|z  |z  d|z  |z  z   |z
  g}t        || «      dd|z  z   d|z  z   d|dz  z  z   d|d	z  z  z
  d|z  d	|z  z   d
|dz  z  z
  d|d	z  z  z   ||dz  z   d|d	z  z  z
  d|dz  z  z   gk(  sJ ‚t        dt        t        «      \  } }}}|D �cg c]  }|j                  | «      ‘Œ }}t        || «      d|z  d	|z  z   d
|dz  z  z
  d|d	z  z  z   | |z   d	|dz  z  z
  d|dz  z  z   | d|z  z
  d|z  |z  z   d|dz  z  z   d|z   d|z  z   d|z  z   gk(  sJ ‚y c c}w )Nzx:3r   r!   iùÿÿÿr$   r%   éž   i¤  r    éO   éÒ   é(   éT   r#   r&   rU   rT   rX   ©r   r   r   r   r   Úset_ring)r)   Úx0r_   r`   rm   r]   s         r/   Ú_do_test_benchmark_katsura_3rx   ¼   sõ  € Ü�uœb¤#Ó&�K€A€rˆ"ˆRØ	ˆa�‰d‰�Q�r‘TÑ	˜AÑ	Ø	ˆQ‰��2�q‘5‘‰˜1˜R ™U™7Ñ	" RÑ	'Ø	
ˆ2‰ˆb‰�1�R‘4˜‘7Ñ	˜RÑ	ð	!€Aô �A�q‹>Ø
ˆQˆr‰T‰	�A�b‘DÑ˜3˜r 1™u™9Ñ$ s¨2¨q©5¡yÑ0Ø	ˆ"‰ˆq�‰t‰�b˜˜Q™‘hÑ  R¨¡U¡Ñ*Ø
ˆR�‰U‰
�R˜˜A™‘XÑ  2 q¡5¡Ñ(ðò ð ð ô �uœb¤%Ó(�K€A€rˆ"ˆRØ!"Ö$˜Aˆ!�*‰*�Q�-Ð$€AÐ$ä�A�q‹>Ø	ˆ"‰ˆq�‰t‰�b˜˜Q™‘hÑ  R¨¡U¡Ñ*Ø	ˆˆb‰�1�R˜‘U‘7Ñ˜Q˜r 1™u™WÑ$Ø	ˆˆa�‰d‰
�R˜‘U˜2‘XÑ  2 q¡5¡Ñ(Ø
ˆR‰�!�B‘$‰˜˜2™Ñð	ò ð ñ ùò 	%s   ÃE%c                  ón   — t        j                  d¬«      5  t        «        d d d «       y # 1 sw Y   y xY wr3   ©r7   r8   rx   r9   r1   r/   Ú"test_benchmark_katsura3_buchbergerr{   Ò   ó)   € Ü	�‰˜|Ô	,ñ 'Ü$Ô&÷'÷ 'ñ 'úr;   c                  ón   — t        j                  d¬«      5  t        «        d d d «       y # 1 sw Y   y xY wr=   rz   r9   r1   r/   Útest_benchmark_katsura3_f5br~   Ö   ó)   € Ü	�‰˜uÔ	%ñ 'Ü$Ô&÷'÷ 'ñ 'úr;   c                  ó   — t        dt        t        «      \  } }}}}|d|z  z   d|z  z   d|z  z   dz
  |dz  d|dz  z  z   d|dz  z  z   d|dz  z  z   |z
  d|z  |z  d|z  |z  z   d|z  |z  z   |z
  |dz  d|z  |z  z   d|z  |z  z   |z
  g}t        || «      d|z  d|dz  z  z
  d|dz  z  z   d	|d
z  z  z   d|dz  z  z
  d|dz  z  z
  d|dz  z  z   d|z  z   dz
  d|z  d|dz  z  z
  d|dz  z  z   d|d
z  z  z
  d|dz  z  z
  d|dz  z  z   d|dz  z  z
  d|z  z
  d|z  d|dz  z  z   d|dz  z  z
  d|d
z  z  z   d|dz  z  z   d|dz  z  z
  d|dz  z  z
  d|z  z   d |d!z  z  d"|dz  z  z
  d#|dz  z  z   d$|d
z  z  z   d%|dz  z  z
  d&|dz  z  z   d'|dz  z  z   |z
  gk(  sJ ‚t        dt        t        «      \  } }}}}|D �cg c]  }|j                  | «      ‘Œ }}t        || «      d(|z  d)|dz  z  z
  d*|z  |z  z   d+|z  z
  d,|dz  z  z   d-|dz  z  z
  d.|dz  z  z
  d/|z  z   | d0|dz  z  z   d1|dz  z  z
  d2|z  |z  z   d3|z  z
  d4|dz  z  z
  d5|dz  z  z   d6|z  z
  d7|z  d8|dz  z  |z  z   d9|dz  z  z
  d:|z  |z  z
  d;|z  z   d<|dz  z  z
  d=|dz  z  z   d>|z  z   d?|z  d@|dz  z  z   dA|z  |dz  z  z   dB|z  |z  z
  dC|z  z   dD|dz  z  z   dE|dz  z  z
  d|z  z   d|dz  z  |z
  d|dz  z  z
  dF|z  |z  z
  d|z  z   d'|dz  z  z
  d
|z  z   dG|z  |z  |z
  dG|dz  z  z   d3|z  |z  z   d|z  z
  d|dz  z  z   d|z  z
  dG|z  |z  |z
  d|dz  z  z   d;|z  |z  z   d|z  z
  dH|dz  z  z   d6|z  z
  |d|z  z   d|z  z   d|z  z   dz
  gk(  sJ ‚y c c}w )INzx:4r   r!   ió9Z l    '�\” r$   l    =Ø r'   l   °:G r&   l   h2÷ r#   i0%2r    iþeiF†J iQ l    ßBZ l    •rD l   ˜>% l   ¸!I i|À�0i°œ iÁ‹ l   àkävYl   `A+Ý l   p› l   \8_]
 iÜ®±xiô(æiô9Øi0õ r%   i€l iÀ<  iH  i`  é$   é   i‰  i6  in  é;   im iXd i¦  iþ  éÄ   é   é<   é   é¨   éS   rW   iúÿÿÿin  é½   iÒ  é    iv  é9   é3   é!   é?   iÜ  é¼   é"   iØ	  iQ  é   é   é   ru   )r)   rw   r_   r`   ra   rm   r]   s          r/   Ú_do_test_benchmark_katsura_4r•   Ú   sò  € Ü˜%¤¤SÓ)�N€A€rˆ"ˆR�Ø	ˆa�‰d‰�Q�r‘TÑ	˜A˜b™DÑ	  1Ñ	$Ø	ˆQ‰��2�q‘5‘‰˜1˜R ™U™7Ñ	" Q r¨1¡u¡WÑ	,¨rÑ	1Ø	
ˆ2‰ˆb‰�1�R‘4˜‘7Ñ	˜Q˜r™T "™WÑ	$ rÑ	)Ø	ˆQ‰��2‘�b‘‰˜1˜R™4 ™7Ñ	" RÑ	'ð	)€Aô
 �A�q‹>Ø�‰
�\ " a¡%Ñ'Ñ'¨+°b¸!±eÑ*;Ñ;¸kÈ"ÈaÉ%Ñ>OÑOÐR\Ð]_ÐabÑ]bÑRbÑbÐenÐoqÐstÑotÑetÑtð  xAð  BDð  FGñ  BGñ  xGñ  	Gð  JQð  RTñ  JTñ  	Tð  W^ñ  	^Ø�‰
�[  Q¡Ñ&Ñ&¨°R¸±UÑ):Ñ:¸[ÈÈQÉÑ=NÑNÐQ[Ð\^Ð`aÑ\aÑQaÑaÐdmÐnpÐrsÑnsÑdsÑsÐv}ð  Að  CDñ  Dñ  wDñ  	Dð  GNð  OQñ  GQñ  	QØ�‰
�\ " a¡%Ñ'Ñ'¨,°r¸1±uÑ*<Ñ<¸{È2ÈqÉ5Ñ?PÑPÐS^Ð_aÐcdÑ_dÑSdÑdÐgqÐrtÐvwÑrwÑgwÑwð  {Dð  EGð  IJñ  EJñ  {Jñ  	Jð  MUð  VXñ  MXñ  	XØˆr�1‰u‰�u˜R ™U‘{Ñ" U¨2¨q©5¡[Ñ0°4¸¸A¹±:Ñ=ØˆR�‰U‰
ñ	Ø˜˜A™‘Xñ	Ø " 2 q¡5¡ñ	)Ø+-ñ	.ð	ò ð ð ô ˜%¤¤UÓ+�N€A€rˆ"ˆR�Ø!"Ö$˜Aˆ!�*‰*�Q�-Ð$€AÐ$ä�A�q‹>ØˆB‰��b˜!‘e‘Ñ˜d 2™g b™jÑ(¨2¨b©5Ñ0°6¸"¸a¹%±<Ñ?À%ÈÈAÉÁ+ÑMÐPSÐTVÐXYÑTYÑPYÑYÐ\`ÐacÑ\cÑcØ	ˆˆc�"�a‘%‰i‰˜"˜R ™U™(Ñ" R¨¡U¨2¡XÑ-°°2±Ñ5¸¸BÀ¹E¹	ÑAÀBÀrÈ1ÁuÁHÑLÈqÐQSÉtÑSØ
ˆ2‰��R˜‘U‘
˜2‘Ñ  B¨¡E¡	Ñ)¨C°©F°2©IÑ5¸¸2¹Ñ=ÀÀBÈÁEÁ	ÑIÈBÈrÐSTÉuÉHÑTÐWYÐZ\ÑW\Ñ\Ø
ˆ2‰��2�q‘5‘Ñ˜4 ™7 2 q¡5™=Ñ(¨3¨r©6°"©9Ñ4°r¸"±uÑ<¸tÀBÈÁE¹zÑIÈCÐPRÐTUÑPUÉIÑUÐXYÐZ\ÑX\Ñ\Ø	ˆ"ˆa‰%‰�"‰�q˜˜Q™‘wÑ  B¡ r¡Ñ)¨A¨b©DÑ0°2°b¸!±e±8Ñ;¸aÀ¹dÑBØ
ˆ2‰ˆb‰�2‰˜˜2˜q™5™Ñ  2 b¡5¨¡8Ñ+¨a°©dÑ2°Q°r¸1±u±WÑ<¸qÀ¹tÑCØ
ˆ2‰ˆb‰�2‰˜˜"˜a™%™Ñ " R¡%¨¡(Ñ*¨Q¨r©TÑ1°B°r¸1±u±HÑ<¸qÀ¹tÑCØ
ˆQˆr‰T‰	�A�b‘DÑ˜1˜R™4Ñ !Ñ#ð	ò 	ð 	ñ 	ùò 	%s   Æ>Nc                  ón   — t        j                  d¬«      5  t        «        d d d «       y # 1 sw Y   y xY wr3   ©r7   r8   r•   r9   r1   r/   Ú#test_benchmark_kastura_4_buchbergerr˜   ÷   r|   r;   c                  ón   — t        j                  d¬«      5  t        «        d d d «       y # 1 sw Y   y xY wr=   r—   r9   r1   r/   Útest_benchmark_kastura_4_f5brš   û   r   r;   c                  ó¤  — t        dt        t        «      \  } }}d|dz  z  d|dz  z  z   d|dz  z  z
  d|d	z  z  z
  d
|dz  z  z
  d|dz  z  z   d|dz  z  z   d|z  z
  dz   dd|z  z
  |dz  z  dd|z  z
  |dz  z  z   dd|z  z   |d	z  z  z   dd|z  z   |dz  z  z   dd|z  z   |dz  z  z   d|z  |dz  z  z   dd|z  z
  |z  z   dz   d|z  z   g}t        || «      d|z  d|dz  z  z
  d|dz  z  z
  d|d	z  z  z
  d |dz  z  z
  d!|dz  z  z
  d"|dz  z  z
  d#|z  z
  d$z
  d%|dz  z  d&|dz  z  z   d'|dz  z  z   d(|d	z  z  z   d)|dz  z  z   d*|dz  z  z   d+|dz  z  z   d,|z  z   d-z   gk(  sJ ‚t        dt        t        «      \  } }}|D �cg c]  }|j                  | «      ‘Œ }}t        || «      d.|dz  z  |z  d/|dz  z  z
  d0|dz  z  |z  z   d1|dz  z  z
  d2|z  |z  z   d3|z  z
  d4|dz  z  z   d5|z  z   d6z
  d7|dz  z  d8|dz  z  z   d9|dz  z  |z  z   d:|dz  z  z   d;|z  |z  z   d<|z  z   d=|dz  z  z   d>|z  z   d?z   d@|dz  z  dA|dz  z  |z  z   dB|dz  z  z
  dC|z  |z  z   dD|z  z
  dE|dz  z  z   dF|dz  z  z   dG|z  z   dHz
  dI|dz  z  dJ|dz  z  |z  z   dK|dz  z  z
  dL|z  |dz  z  z   dM|z  |z  z   dN|z  z
  dO|dz  z  z   dP|z  z   dQz
  gk(  sJ ‚y c c}w )RNzx,trW   r%   r�   r$   r‹   r'   éü   r&   éN   r#   iÔ  r    i   r   él   i¸ÿÿÿéH   i ÿÿÿéÀ   i   iì  i8  ilþÿÿiÀýÿÿi@  é`   l     
RtJ)1~M²C©MgKÝb¨q«ùcÃL¶e«l   Árýa2ÈU!J�'B\KW4Du+Á%B:®N'Œ/|,ç3D`N l    >C_õ=DèmbgrVJ5n,»Oÿ{Ž-[8 ·Dî/7Ê"²l   *×uæQ!ó3'É; ÄPtµSäo"_ ;�2g0PZwg
l   À§.ëSö[_iºªák
8Cšn|#	v*’u0Ht–S¡l    5‘u3ÜjÁx˜]L*Ÿ(ýIIyLÚ1iC©Âo§latÖ1:'É6(l    P­gÿ];meVŠÎqÌæ'Ž%°op¹Z "¼Mmtä:%63l    P*71}<U1qÕq,¼+¼'ÔcíX0rVvQa;ô pA9l    @ir›0ê@ƒ>/3,«F%*Á;W@ {=5|o&à(Ëc_46l   ±¥:ÕW]l   `k-·@\K'l   À,8y'X^l    4C|	,Ydm l    Loÿ5§R®s l     "#?ÇVq l    @otc?c l      t¢-JOl     Sêz(Gçl	   jëP.qlj=ËMÕjò1l	   Ç:q~³\Ÿq,9D³ ûhÊ`l
   \»Bú{•+9Cý0ä-öf l
   ÌnÇ•_ùYø\ûD&n»Ýb l
   àjj9žk${Ï.øûZG�c l
   èv^˜OÓ1mDMöß( l	   À|!�gc]0„t|- l
   @þ�Nw¿*È%’iLM!6 l
    zÁ *r‘p“KÍ0Í‘Z% l   ½4X\Üh@T¦:VçÇ%„]yFó= l   è 8bH�(KK¬nªEm?„p©@(8‘*. l   `'[º%¹­gQ CÉe4
?ß÷XG l   `Abwc}îÛ{°?êV¦ïq¿ï*ŸqA l    .ì'l�#8Ê}¢(×ýU×U�,±7 l   €¹û8…úLø*ŠeÆ?¸FRÄm Š& l    ^¢4O}ÏPÐ\X9Ó�T7cùq!2l    &mu@ŠI«¶gG8Hˆ2GÂW l    m
QÁ<²-Ø-å:Ôbá8Úûa¼oíTV lõÿÿÿkJöXˆ]¶JDh6,^%Š>a1R l   4c DHa¤d,;T&~DÈ!C0 l   ¤3Áb!Ó@ª+ï(#�5;1l    a¤°R¦z2y,äv“D‰ l   [¨K0PÒRž;Tze3D©lol
   €,'_w‰R²°$9M^ƒDr.l
   À[66­F£W×g¹^Ž4ýPw*
3l   @;ñk»À`¾n|Ø)É^ó&a l   €Z(G“2uj²)œ)Žg¹CÔZ� löÿÿÿO]ÜiMW
âjVÝo5CU l
   D
¦K6º
u^·´¦@_3 l
   ¼|Eù}Þw˜BÕ=ñ`/kœ!l
     ñ9ä)šP9@®II%N`ü; l
   €VÐDqtÿRx
T,S) l
   °ZDóHbEV*x
Ò5VGI2l
   @4•e`2e²r¬1NX0yÂ6 l
   ÀîÁ4IÒDê¼V!%v l
   €_Ã+YSYB&…kþ'?®%l ru   )r)   r*   Útrm   r]   s        r/   Ú_do_test_benchmark_czichowskir£   ÿ   s´  € Ü�%œœSÓ!�F€A€qˆØ	
ˆ1ˆa‰4‰�"�Q˜‘T‘'Ñ	˜B˜q !™t™GÑ	# c¨!¨Q©$¡hÑ	.°°A°q±D±Ñ	8¸3¸qÀ!¹t¹8Ñ	CÀcÈ!ÈQÉ$ÁhÑ	NÐQTÐUVÑQVÑ	VÐYZÑ	ZØ
��1‘‰*�a˜‘dÑ	˜d S¨¡U™l¨A¨q©DÑ0Ñ	0°C¸#¸a¹%±KÀÀAÁÑ3EÑ	EÈÐPTÐUVÑPVÉÐXYÐ[\ÑX\ÑH\Ñ	\Ð`cÐfiÐjkÑfkÑ`kÐmnÐpqÑmqÑ_qÑ	qÐuyÐz{Ñu{Ð}~ð  ABñ  ~Bñ  uBñ  
Bð  FJð  MPð  QRñ  MRñ  FRð  TUñ  EUñ  
Uð  XZñ  
Zð  ]`ð  abñ  ]bñ  
bð	c€Aô �A�q‹>Ø]Ð^_Ñ_ØeÐfgÐijÑfjÑjñ	kàfÐghÐjkÑgkÑkñ	lð 	gÐghÐjkÑgkÑkñ	lð 	hÐhiÐklÑhlÑlñ		mð
 	hÐhiÐklÑhlÑlñ	mð 	gÐghÐjkÑgkÑkñ	lð 	gÐghÑhñ	ið 	fñ	fð 	˜a ™dÑ"Ø˜q !™tÑ#ñ	$à  1¡Ñ$ñ	%ð 	   1¡Ñ$ñ	%ð 	!  A¡Ñ%ñ		&ð
 	!  A¡Ñ%ñ	&ð 	   1¡Ñ$ñ	%ð 	  Ñ!ñ	"ð 	ñ	ðò ð ð ô* �%œœUÓ#�F€A€qˆØ!"Ö$˜Aˆ!�*‰*�Q�-Ð$€AÐ$ä�A�q‹>Ø1°!°Q±$Ñ6°qÑ8Ø1°!°Q±$Ñ6ñ	7à1°!°Q±$Ñ6°qÑ8ñ	9ð 	3°1°a±4Ñ7ñ	8ð 	3°1Ñ4°QÑ6ñ		7ð
 	3°1Ñ4ñ	5ð 	/¨q°!©tÑ3ñ	4ð 	2°!Ñ3ñ	4ð 	2ñ	2ð 	EÀQÈÁTÑIØEÀaÈÁdÑJñ	KàDÀQÈÁTÑIÈ!ÑKñ	Lð 	FÀaÈÁdÑJñ	Kð 	EÀQÑFÀqÑHñ		Ið
 	FÀaÑGñ	Hð 	BÀ!ÀQÁ$ÑFñ	Gð 	EÀQÑFñ	Gð 	Eñ	Eð 9¸¸A¹Ñ=Ø7¸¸1¹Ñ<¸QÑ>ñ?à8¸¸A¹Ñ=ñ>ð 	9¸Ñ:¸1Ñ<ñ=ð 	9¸Ñ:ñ	;ð
 	6°a¸±dÑ:ñ;ð 	6°a¸±dÑ:ñ;ð 	9¸Ñ:ñ;ð 	9ñ9ð 4°A°q±DÑ8Ø2°1°a±4Ñ7¸Ñ9ñ:à4°Q¸±TÑ9ñ:ð 	3°1Ñ4°Q¸±TÑ9ñ:ð 	4°AÑ5°aÑ7ñ	8ð
 	5°QÑ6ñ7ð 	3°1°a±4Ñ7ñ8ð 	4°AÑ5ñ6ð 	4ñ4ð9%ò %ð %ñ %ùò 	%s   ÆKc                  ón   — t        j                  d¬«      5  t        «        d d d «       y # 1 sw Y   y xY wr3   ©r7   r8   r£   r9   r1   r/   Ú$test_benchmark_czichowski_buchbergerr¦   D  s)   € ä	�‰˜|Ô	,ñ (Ü%Ô'÷(÷ (ñ (úr;   c                  ón   — t        j                  d¬«      5  t        «        d d d «       y # 1 sw Y   y xY wr=   r¥   r9   r1   r/   Útest_benchmark_czichowski_f5br¨   I  s)   € Ü	�‰˜uÔ	%ñ (Ü%Ô'÷(÷ (ñ (úr;   c                  ó˜  — t        dt        t        «      \  } }}}}||z   |z   |z   ||z  ||z  z   ||z  z   ||z  z   ||z  |z  ||z  |z  z   ||z  |z  z   ||z  |z  z   ||z  |z  |z  dz
  g}t        || «      d|z  d|dz  z  z   d|dz  z  z
  d|z  z
  d|z  d|z  z   d|dz  z  z
  d|dz  z  z   d|z  z   d|dz  z  d|d	z  z  z   d|d
z  z  z
  d|dz  z  z
  d|z  |dz  z  d|z  z   |dz  z
  d|dz  z  z   d|z  z   |dz  |dz  z
  |dz  z
  dz   gk(  sJ ‚t        dt        t        «      \  } }}}}|D �cg c]  }|j                  | «      ‘Œ }}t        || «      d|z  |z  |dz  z
  |d
z  z   d|dz  z  z
  | d|dz  z  |dz  z  z   |z
  |dz  z
  d|z  z
  | d|z  |dz  z  z   d|z  z   d|dz  z  z   d|z  z   |dz  d|dz  z  |dz  z  z   |dz  z
  dz
  |dz  |z  ||dz  z  z   |dz  z   dz   ||dz  z  |dz  z
  |dz  |z  z
  d|z  |dz  z  z
  |dz  z
  |dz  |dz  z
  ||z  |dz  z   ||z  z   |dz  z   ||z   |z   |z   g	k(  sJ ‚y c c}w )Nza,b,c,dr!   r#   r    rW   r&   r$   r   rU   r'   rT   r%   ru   )r)   ÚaÚbÚcÚdrm   r]   s          r/   Ú_do_test_benchmark_cyclic_4r®   M  s>  € Ü�i¤¤SÓ)�J€A€qˆˆ1ˆQà	
ˆQ‰�‰�Q‰Ø	
ˆ1‰ˆq�‰s‰�Q�q‘S‰˜1˜Q™3Ñ	Ø	
ˆ1‰ˆQ‰��1‘�Q‘‰˜˜1™˜Q™Ñ	  1¡ Q¡Ñ	&Ø	
ˆ1‰ˆQ‰ˆq‰�1‰ð	€Aô
 �A�q‹>Ø	ˆ!‰ˆa��1‘‰f‰�q˜˜A™‘vÑ  !¡Ñ#Ø	ˆ!‰ˆa�‰c‰	�A�a˜‘d‘FÑ˜Q˜q !™t™VÑ# a¨¡cÑ)Ø	ˆ!ˆQ‰$‰��1�b‘5‘Ñ˜1˜Q ™T™6Ñ! A a¨¡d¡FÑ*Ø	ˆ!‰ˆAˆq‰D‰�1�Q‘3‰˜˜A™Ñ  ! Q¡$¡Ñ&¨¨1©Ñ,¨a°©e°a¸±d©l¸QÀ¹TÑ.AÀAÑ.Eð	ò ð ð ô �i¤¤UÓ+�J€A€qˆˆ1ˆQØ!"Ö$˜Aˆ!�*‰*�Q�-Ð$€AÐ$ä�A�q‹>Ø	ˆ!‰ˆA‰��1‘‰�q˜!‘tÑ˜a  1¡™fÑ$Ø	
ˆˆQˆq�!‰t‰V�A�q‘D‰[Ñ˜1Ñ˜q !™tÑ# a¨¡cÑ)Ø	
ˆˆQˆq‰S��A‘‰X‰˜˜!™Ñ˜a  1¡™fÑ$ q¨¡sÑ*Ø	ˆ1‰ˆq��A‘‰v�a˜‘d‰{Ñ˜Q ™TÑ! AÑ%Ø	ˆ1‰ˆQ‰��1�a‘4‘‰˜!˜Q™$Ñ Ñ"Ø	ˆ!ˆQ‰$‰��A‘‰˜˜1™˜Q™Ñ  1¡ Q¨¡T¡Ñ)¨A¨q©DÑ0Ø	ˆ1‰ˆq�!‰t‰�Q�q‘S˜1˜a™4‘Z ! A¡#Ñ%¨¨1©Ñ,Ø	ˆA‰�‰	�A‰ð	ò 	ð 	ñ 	ùò 	%s   Ä5Ic                  ón   — t        j                  d¬«      5  t        «        d d d «       y # 1 sw Y   y xY wr3   ©r7   r8   r®   r9   r1   r/   Ú"test_benchmark_cyclic_4_buchbergerr±   j  s)   € Ü	�‰˜|Ô	,ñ &Ü#Ô%÷&÷ &ñ &úr;   c                  ón   — t        j                  d¬«      5  t        «        d d d «       y # 1 sw Y   y xY wr=   r°   r9   r1   r/   Útest_benchmark_cyclic_4_f5br³   n  s)   € Ü	�‰˜uÔ	%ñ &Ü#Ô%÷&÷ &ñ &úr;   c                  óØ   — t        dd«      } t        dd«      }t        dd«      }t        | t        «      t        |t        «      kD  sJ ‚t        |t        «      t        |t        «      k  sJ ‚y )N©r   r   r   r   )r!   r!   r!   r#   )r   r   r   )r   r   r   )Ús1Ús2Ús3s      r/   Útest_sig_keyr¹   r  s^   € Ü	ˆX�qÓ	€BÜ	ˆX�qÓ	€BÜ	ˆX�qÓ	€Bä�2”sÓœg b¬#Ó.Ò.Ð.Ð.Ü�2”sÓœg b¬#Ó.Ò.Ð.Ñ.r1   c                  ód  — t        dt        t        «      \  } }}}}t        t	        dd«      | j
                  d«      }t        t	        dd«      | j
                  d«      }t        t	        dd«      | j
                  d«      }t        |«      t        |«      kD  sJ ‚t        |«      t        |«      k  sJ ‚y )Núx,y,z,t©r   r   r   r   r    rT   r#   rJ   )r   r   r   r   r   Úzeror   )r)   r*   r+   r.   r¢   Úp1Úp2Úp3s           r/   Útest_lbp_keyrÁ   {  s‘   € Ü�i¤¤SÓ)�J€A€qˆˆ1ˆQä	ŒS�˜1Ó˜qŸv™v rÓ	*€BÜ	ŒS�˜1Ó˜qŸv™v rÓ	*€BÜ	ŒS�˜1Ó˜qŸv™v rÓ	*€Bä�2‹;œ ›Ò$Ð$Ð$Ü�2‹;œ ›Ò$Ð$Ñ$r1   c                  óÖ  — t        dt        t        «      \  } }}}}d||z  |dz  z  |dz  |dz  z  z   |dz  z
  dz
  df}d|dz   ||z  z
  ||z  z
  |dz  z
  df}d|dz  |dz  z  |dz  |dz  z  z   |z
  |z
  d	f}d
||z  ||d	z  z  z   ||z  z   |dz  z   df}t        ||| «      ddt        dd«      fd|dz   ||z  z
  ||z  z
  |dz  z
  dfddt        dd«      fd||z  |dz  z  |dz  |dz  z  z   |dz  z
  dz
  dffk(  sJ ‚t        ||| «      ddt        dd«      fd
||z  ||d	z  z  z   ||z  z   |dz  z   dfddt        dd«      fd|dz  |dz  z  |dz  |dz  z  z   |z
  |z
  d	ffk(  sJ ‚y )Nr»   ©r¼   r#   r   r#   r!   ©r¼   r   ©)r   r   r   r   r    r    r&   ©)r   r   r   r   r   r'   rJ   )©r   r   r!   r   r   rÇ   rX   )©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   r   r   )	r)   r*   r+   r.   r¢   r¾   Úq1r¿   Úq2s	            r/   Útest_critical_pairrË   †  sH  € ä�i¤¤UÓ+�J€A€qˆˆ1ˆQà
˜Q˜q™S  A¡™X¨¨1©¨Q°©T©	Ñ1°A°q±DÑ8¸1Ñ<¸aÐ	@€BØ
˜a ™d˜U Q q¡S™[¨1¨Q©3Ñ.°°A±Ñ5°qÐ	9€Bà
˜Q ™T ! Q¡$™Y¨¨A©¨a°©d©Ñ2°QÑ6¸Ñ:¸AÐ	>€BØ
˜Q˜q™S 1 Q¨¡T¡6™\¨A¨a©CÑ/°!°Q±$Ñ6¸Ð	;€Bä˜˜R Ó#Ø˜L¬"¨R°«)Ð4Ð7HÈ1ÈaÉ4È%ÐRSÐTUÑRUÉ+ÐXYÐZ[ÑX[ÑJ[Ð^_ÐabÑ^bÑJbÐdeÐ6fØ˜L¬"¨Q°«(Ð3Ð6GÈÈ1ÉÈQÐPQÉTÉÐTUÐWXÑTXÐYZÐ\]ÑY]ÑT]ÑI]Ð`aÐcdÑ`dÑIdÐghÑIhÐjkÐ5lð(ò ð ð ô ˜˜R Ó#Ø˜L¬"¨Q°«(Ð3Ð6GÈÈ1ÉÈqÐQRÐTUÑQUÉvÉÐXYÐZ[ÑX[ÑI[Ð^_ÐabÑ^bÑIbÐdfÐ5gØ˜L¬"¨Q°«(Ð3Ð6GÈÈAÉÈaÐQRÉdÉÐUVÐXYÑUYÐZ[Ð]^ÑZ^ÑU^ÑI^ÐabÑIbÐefÑIfÐhiÐ5jð(ò ð ñ r1   c                  ó  — t        dt        t        «      \  } }}}}d||z  |dz  z  |dz  |dz  z  z   |dz  z
  dz
  df}d|dz   ||z  z
  ||z  z
  |dz  z
  df}d|dz  |dz  z  |dz  |dz  z  z   |z
  |z
  d	f}d
||z  ||d	z  z  z   ||z  z   |dz  z   df}t        ||| «      }	t        ||| «      }
t	        |	| «      t	        |
| «      k  sJ ‚t        ||| «      }	t        ||| «      }
t	        |	| «      t	        |
| «      k  sJ ‚y )Nr»   rÃ   r   r#   r!   rÄ   rÅ   r    r&   rÆ   r'   rJ   )r   r   r   r   r	   )r)   r*   r+   r.   r¢   r¾   rÉ   r¿   rÊ   Úcp1Úcp2s              r/   Útest_cp_keyrÏ   ™  sJ  € ä�i¤¤UÓ+�J€A€qˆˆ1ˆQà
˜Q˜q™S  A¡™X¨¨1©¨Q°©T©	Ñ1°A°q±DÑ8¸1Ñ<¸aÐ	@€BØ
˜a ™d˜U Q q¡S™[¨1¨Q©3Ñ.°°A±Ñ5°qÐ	9€Bà
˜Q ™T ! Q¡$™Y¨¨A©¨a°©d©Ñ2°QÑ6¸Ñ:¸AÐ	>€BØ
˜Q˜q™S 1 Q¨¡T¡6™\¨A¨a©CÑ/°!°Q±$Ñ6¸Ð	;€Bä
˜˜B Ó
"€CÜ
˜˜B Ó
"€Cä�#�q‹>œF 3¨›NÒ*Ð*Ð*ä
˜˜B Ó
"€CÜ
˜˜B Ó
"€Cä�#�q‹>œF 3¨›NÒ*Ð*Ñ*r1   c                  óÜ  — t        dt        t        «      \  } }}}}t        t	        dd«      | j
                  d«      }t        t	        dd«      t        dd«      |dz  z  t        dd«      |z  |z  z   t        dd«      |z  |z  z   |dz  |z  z   t        d	d«      |dz  z  z   t        d
d«      |z  |dz  z  z   t        dd«      |z  |z  z
  t        dd«      |dz  z  z   t        dd«      |dz  z  z
  d«      g}t        t        |«      t        |«      |«      du sJ ‚t        t	        dd«      | j
                  d«      }t        t	        dd«      t        dd«      |z  |z  t        d	d«      |z  |z  z   t        dd«      |z  z
  d	|dz  z  z   t        dd«      |z  |z  z   t        d	d«      |z  z
  d	|dz  z  z   t        d	d«      |z  z
  d«      g}t        t        |«      t        |«      |«      du sJ ‚y )Nr»   )r   r   r   r!   r   )r   r   r   r!   é-   r!   r&   r�   r#   éL   é#   r‹   éi   rJ   r$   r    r…   r'   T)r   r!   r!   r   r¼   rU   é   )	r   r   r   r   r   r½   r
   r   r   )r)   r*   r+   r.   r¢   ÚpÚBs          r/   Ú test_is_rewritable_or_comparablerØ   ®  s°  € ä�i¤¤UÓ+�J€A€qˆˆ1ˆQäŒC�˜aÓ  !§&¡&¨!Ó,€AÜ	ŒS�˜qÓ!¤2 a¨£8¨A¨q©D¡=´2°a¸³7¸1±9¸Q±;Ñ#>ÄÀAÀbÃÈ!ÁÈAÁÑ#MÐPQÐSTÑPTÐUVÑPVÑ#VÔY[Ð\]Ð^`ÓYaÐbcÐefÑbfÑYfÑ#fÔikÐlnÐoqÓirÐstÑitÐuvÐxyÑuyÑiyÑ#yÔ|~ð  @Bð  CFó  }Gð  HIñ  }Ið  JKñ  }Kñ  $Kô  NPð  QSð  TUó  NVð  WXð  Z[ñ  W[ñ  N[ñ  $[ô  ^`ð  acð  dfó  ^gð  hið  klñ  hlñ  ^lñ  $lð  noó  
pð  	q€Aô '¤t¨A£w´°A³¸Ó:¸dÑBÐBÐBäŒC�˜aÓ  !§&¡&¨!Ó,€AÜ	ŒS�˜qÓ!¤2 b¨£8¨A¡:¨a¡<´"°Q°q³'¸!±)¸A±+Ñ#=ÄÀ1ÀQÃÈÁ	Ñ#IÈAÈaÐQRÉdÉFÑ#RÔUWÐXZÐ[\ÓU]Ð^_ÑU_Ð`aÑUaÑ#aÔdfÐghÐijÓdkÐlmÑdmÑ#mÐpqÐrsÐuvÑrvÑpvÑ#vÔy{Ð|}Ð~ó  zAð  BCñ  zCñ  $Cð  EFó  
Gð  	H€Aô '¤t¨A£w´°A³¸Ó:¸dÑBÐBÑBr1   c            
      ó
  — t        dt        t        «      \  } }}}d|d|z  z   d|z  z   dz
  dfdd|dz  z  d|z  |z  z   d|z  z
  d|dz  z  z   d|z  z
  dfdt        d	d
«      |z  |z  t        dd
«      |z  z
  d|dz  z  z   t        dd
«      |z  z
  d
fd|d|d
z  z  z   t        dd«      |dz  z  z
  t        d
d«      |z  z   dfd|dz  t        d	d«      |d
z  z  z
  t        dd«      |dz  z  z   t        dd«      |z  z   dfg}t        |d   |d   | «      }t	        |«      }t        ||«      d| j                  dfk(  sJ ‚t        t        t        |«      d   d«      t        |«      t        |«      «      }t        ||«      |k(  sJ ‚y )Nr"   )rµ   r!   r   r!   )rµ   r   r'   r%   )rµ   r    rU   r    r#   ))r   r   r!   r   é   rq   r$   ))r   r   r   r   r…   rt   r&   r   ))r   r   r   r!   éd   )r   r   r   r   r   r   r½   r   r   r   r   r   )r)   r*   r+   r.   rK   ÚcpÚss          r/   Útest_f5_reducerÞ   ¿  s³  € ä�GœR¤Ó%�H€A€qˆˆ1à
˜!˜a ™c™' A a¡C™-¨!Ñ+¨QÐ	/Ø
˜!˜A˜q™D™& 1 Q¡3 q¡5™.¨1¨Q©3Ñ.°°1°a±4±Ñ7¸!¸A¹#Ñ=¸qÐ	AØ
œ"˜R ›( 1™* Q™,¬¨A¨a«°©Ñ2°Q°q¸!±t±VÑ;¼bÀÀ1»gÀa¹iÑGÈÐ	KØ
˜!˜b  A¡™g™+¬¨2¨a«°°A±©Ñ5¼¸1¸Q»À¹	ÑAÀ1Ð	EØ
˜!˜Q™$¤ B r£¨1¨a©4¡Ñ/´"°Q°r³(¸1¸a¹4±-Ñ?Ä"ÀQÀrÃ(È1Á*ÑLÈaÐ	Pð		R€Aô 
�q˜‘t˜Q˜q™T 1Ó	%€BÜˆr‹
€Aä�Q˜‹?˜~¨q¯v©v°qÐ9Ò9Ð9Ð9äŒC”�Q“˜‘
˜CÓ ¤%¨£(¬C°«FÓ3€AÜ�Q˜‹?˜aÒÐÑr1   c                  ó„  — t        dt        t        «      \  } }}g d¢}|dz  |z
  d|z  z
  dz   d|z  |dz  z   |z   dz
  g}t        ||| «      t        dd«      t        dd«      t        dd«       t        dd«      gt        dd«      t        dd«      t        dd«      t        dd«       gt        dd«      t        dd«      t        dd«      t        d	d«      gt        dd«      t        dd«      t        dd«      t        dd«      ggt        dd«      t        dd«      t        dd«      t        dd«       gt        dd«      t        dd«       t        dd«      t        d	d«      gt        dd«      t        dd«      t        dd«      t        dd«      gt        dd«      t        dd«      t        dd«      t        dd«       gggk(  sJ ‚y )
Nr   ))r   r   )r   r!   )r!   r   )r!   r!   r   r    r!   éþÿÿÿr   r#   r'   )r   r   r   r   )r)   r*   r+   ÚbasisrK   s        r/   Útest_representing_matricesrâ   Ò  s¥  € Ü�%œœUÓ#�F€A€qˆâ,€EØ	
ˆA‰�‰�A�a‘C‰˜!Ñ	˜R ™T A q¡D™[¨1™_¨qÑ0Ð1€Aä! %¨¨AÓ.Ü
ˆQ�‹(”B�q˜!“Hœb  A›h˜Y¬¨1¨a«Ð	1Ü
ˆQ�‹(”B�q˜!“Hœb  A›h¬¨1¨a« yÐ	1Ü
ˆQ�‹(”B�q˜!“Hœb  A›h¬¨1¨a«Ð	1Ü
ˆQ�‹(”B�q˜!“Hœb  A›h¬¨1¨a«Ð	1ð	3ô ˆQ�‹(”B�q˜!“Hœb  A›h¬¨1¨a« yÐ	1Ü
ˆQ�‹(”B�q˜!“H�9œb  A›h¬¨1¨a«Ð	1Ü
ˆQ�‹(”B�q˜!“Hœb  A›h¬¨1¨a«Ð	1Ü
ˆQ�‹(”B�q˜!“Hœb  A›h¬¨1¨a« yÐ	1ð	3ð34ò 4ð 4ñ 4r1   c                  óÎ  — t        dt        «      \  } }}}t        |dz  |dz  z
  ||z
  «      |dz  |dz  z
  k(  sJ ‚t        d|dz  z  d|dz  z  z
  d|z  d|z  z
  «      d|dz  z  d|dz  z  z
  k(  sJ ‚t        dt        «      \  } }}}t        |dz  |dz  z
  ||z
  «      |dz  |dz  z
  k(  sJ ‚t        d|dz  z  d|dz  z  z
  d|z  d|z  z
  «      d|dz  z  d|dz  z  z
  k(  sJ ‚t        dt        «      \  } }}t        |dz  |z  ||dz  z  «      |dz  |dz  z  k(  sJ ‚d|z  |dz  z  d|z  |dz  z  z
  d|z  |dz  z  z
  d|z  |dz  z  z   }|dz  d|dz  z  z
  |z   }d|z  |dz  z  d|z  |dz  z  z
  d|z  |dz  z  z
  d|z  |dz  z  z   d|z  |dz  z  z   d|z  |dz  z  z
  }t        ||«      |k(  sJ ‚|dz  d|dz  z  |z  z
  d	|z  |dz  z  z
  d|dz  z  z
  }|dz  d|dz  z  |z  z   d
|dz  z  |dz  z  z   d|z  |dz  z  z   d|dz  z  z   }|dz  |dz  |z  z   d|dz  z  |dz  z  z
  d|dz  z  |dz  z  z
  d|z  |dz  z  z
  d|dz  z  z
  }t        ||«      |k(  sJ ‚y )Nr"   r   r   r&   r    r#   r$   r'   rW   rT   rU   r‡   é2   é/   r‚   )r   r   r   r   )r)   r*   r+   r.   r,   r-   Úhs          r/   Útest_groebner_lcmrç   â  s.  € Ü�GœRÓ �H€A€qˆˆ1ä˜˜1™˜q !™t™ Q¨¡UÓ+¨q°!©t°a¸±d©{Ò:Ð:Ð:Ü˜˜!˜Q™$™  1 a¡4¡™¨¨1©¨q°©s©Ó3°q¸¸A¹±vÀÀ!ÀQÁ$Á±ÒFÐFÐFä�GœRÓ �H€A€qˆˆ1ä˜˜1™˜q !™t™ Q¨¡UÓ+¨q°!©t°a¸±d©{Ò:Ð:Ð:Ü˜˜!˜Q™$™  1 a¡4¡™¨¨1©¨q°©s©Ó3°q¸¸A¹±vÀÀ!ÀQÁ$Á±ÒFÐFÐFä�%œ‹_�F€A€qˆä˜˜1™˜Q™  ! Q¡$¡Ó'¨1¨a©4°°1±©9Ò4Ð4Ð4à	ˆ!‰ˆAˆq‰D‰�1�Q‘3�q˜!‘t‘8Ñ˜a ™c ! Q¡$™hÑ&¨¨1©¨Q°©T©Ñ1€AØ	ˆ1‰ˆq��A‘‰v‰˜Ñ€AØ	ˆ!‰ˆAˆq‰D‰�1�Q‘3�q˜!‘t‘8Ñ˜a ™c ! Q¡$™hÑ&¨¨1©¨Q°©T©Ñ1°A°a±C¸¸1¹±HÑ<¸qÀ¹sÀ1ÀaÁ4¹xÑG€Aä˜˜1Ó Ò"Ð"Ð"à	ˆ1‰ˆq��A‘‰v�a‰x‰˜!˜A™#˜a ™d™(Ñ" Q q¨!¡t¡VÑ+€AØ	ˆ1‰ˆq��A‘‰v�a‰x‰˜"˜Q ™T™' ! Q¡$™,Ñ&¨¨A©¨a°©d©Ñ2°Q°q¸!±t±VÑ;€AØ	ˆ1‰ˆq�!‰t�A‰v‰˜˜1˜a™4™  1¡™Ñ$ r¨!¨Q©$¡w¨q°!©t¡|Ñ3°b¸±d¸1¸a¹4±iÑ?À"ÀQÈÁTÁ'ÑI€Aä˜˜1Ó Ò"Ð"Ñ"r1   c                  ó”  — t        dt        «      \  } }}}t        |dz  |dz  z
  ||z
  «      ||z
  k(  sJ ‚t        d|dz  z  d|dz  z  z
  d|z  d|z  z
  «      d|z  d|z  z
  k(  sJ ‚t        dt        «      \  } }}}t        |dz  |dz  z
  ||z
  «      ||z
  k(  sJ ‚t        d|dz  z  d|dz  z  z
  d|z  d|z  z
  «      ||z
  k(  sJ ‚y )Nr"   r   )r   r   r   r   )r)   r*   r+   r.   s       r/   Útest_groebner_gcdré   ý  sö   € Ü�GœRÓ �H€A€qˆˆ1ä˜˜1™˜q !™t™ Q¨¡UÓ+¨q°1©uÒ4Ð4Ð4Ü˜˜!˜Q™$™  1 a¡4¡™¨¨1©¨q°©s©Ó3°q¸±s¸Q¸q¹S±yÒ@Ð@Ð@ä�GœRÓ �H€A€qˆˆ1ä˜˜1™˜q !™t™ Q¨¡UÓ+¨q°1©uÒ4Ð4Ð4Ü˜˜!˜Q™$™  1 a¡4¡™¨¨1©¨q°©s©Ó3°q¸1±uÒ<Ð<Ñ<r1   c                  óò   — t        dt        t        «      \  } }}|dz  ||z  t        dd«       |z  |dz  z   g}|dz  ||z  t        dd«       |z  |dz  z   g}t        || «      du sJ ‚t        || «      du sJ ‚y )Nr   r   r!   r    TF)r   r   r   r   )r)   r*   r+   Úvalid_groebnerÚinvalid_groebners        r/   Útest_is_groebnerrí     s”   € Ü�%œœUÓ#�F€A€qˆØ˜‘d˜A˜a™C¤" Q q£' ¨!¡¨a°©dÑ!2Ð3€NØ˜1™˜a ™c¤B q¨£G 8¨A¡:°°1±Ñ#4Ð5ÐÜ�~ qÓ)¨TÑ1Ð1Ð1ÜÐ'¨Ó+¨uÑ4Ð4Ñ4r1   c                  óÞ   — t        dt        t        «      \  } }}|dz  d|z  |dz  z  z   }||z  d|dz  z  z   dz
  }t        ||g| «      dk(  sJ ‚t	        ||g| «      }t        || «      dk(  sJ ‚y )Nr   r   r    r!   FT)r   r   r   r   r   )r)   r*   r+   r,   r-   rL   s         r/   Útest_is_reducedrï     s‡   € Ü�5œ"œcÓ"�G€A€qˆ!Ø	ˆ1‰ˆq�‰s�1�a‘4‰x‰€AØ	ˆ!‰ˆa��1‘‰f‰�qÑ€AÜ�q˜!�f˜aÓ  UÒ*Ð*Ð*Ü�!�Q�˜Ó€AÜ�a˜Ó˜tÒ#Ð#Ñ#r1   N)AÚ__doc__Úsympy.polys.groebnertoolsr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   Úsympy.polys.fglmtoolsr   Úsympy.polys.orderingsr   r   Úsympy.polys.ringsr   r   Úsympy.polys.domainsr   r   Úsympy.testing.pytestr   Úsympy.polysr   r7   r0   r:   r?   rM   rP   rR   rn   rx   r{   r~   r•   r˜   rš   r£   r¦   r¨   r®   r±   r³   r¹   rÁ   rË   rÏ   rØ   rÞ   râ   rç   ré   rí   rï   r9   r1   r/   ú<module>rø      sà   ðÙ  ÷÷ ÷ ÷ õ õ 9ß ,ç )ß &å %Ý ,òhòTòòò%ò%ò
!òDò,'ò'òò:'ò'òBðJ ñ(ó ð(ò(òò:&ò&ò/ò%òò&+ò*Cò" ò&4ò #ò6	=ò5ó$r1   