Ë
    š2Úi1P  ã            
       ór  — d Z ddlmZ ddlZddlmc mZ ddlZddl	m
Z
 ddlmZmZmZmZmZmZmZ d„ ZdgZddgZg d¢Zg d	¢Zg d
¢Zg d¢Zg d¢Zg d¢Zg d¢Zg d¢Zeeeeeeeeeeg
Z G d„ d«      Z G d„ d«      Z  G d„ d«      Z! G d„ d«      Z" G d„ d«      Z# G d„ d«      Z$ G d„ d«      Z% G d„ d«      Z&y) zTests for polynomial module.

é    )ÚreduceN)Údeepcopy)Úassert_almost_equalÚassert_raisesÚassert_equalÚassert_Úassert_warnsÚassert_array_equalÚassert_raises_regexc                 ó0   — t        j                  | d¬«      S )Ng�íµ ÷Æ°>)Útol)ÚpolyÚpolytrim©Úxs    ú]/var/www/html/acx/venv/lib/python3.12/site-packages/numpy/polynomial/tests/test_polynomial.pyÚtrimr      s   € Ü�=‰=˜ Ô%Ð%ó    é   )éÿÿÿÿr   é   )r   éýÿÿÿr   é   )r   r   iøÿÿÿr   é   )r   é   r   iìÿÿÿr   é   )r   r   é   r   iÐÿÿÿr   é    )r   iùÿÿÿr   é8   r   i�ÿÿÿr   é@   )	r   r   iàÿÿÿr   é    r   i ÿÿÿr   é€   )
r   é	   r   iˆÿÿÿr   i°  r   iÀýÿÿr   é   c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestConstantsc                 ó<   — t        t        j                  ddg«       y )Nr   r   )r   r   Ú
polydomain©Úselfs    r   Útest_polydomainzTestConstants.test_polydomain"   s   € Ü”T—_‘_ r¨1 gÕ.r   c                 ó:   — t        t        j                  dg«       y )Nr   )r   r   Úpolyzeror)   s    r   Útest_polyzerozTestConstants.test_polyzero%   s   € Ü”T—]‘] Q CÕ(r   c                 ó:   — t        t        j                  dg«       y ©Nr   )r   r   Úpolyoner)   s    r   Útest_polyonezTestConstants.test_polyone(   s   € Ü”T—\‘\ A 3Õ'r   c                 ó<   — t        t        j                  ddg«       y )Nr   r   )r   r   Úpolyxr)   s    r   Ú
test_polyxzTestConstants.test_polyx+   s   € Ü”T—Z‘Z ! Q Õ(r   c                 ó`   — t        j                  g d¢«      }t        |«      }t        ||«       y ©N©r   r   é   )r   Ú
Polynomialr   r   ©r*   r   Úys      r   Ú	test_copyzTestConstants.test_copy.   s#   € Ü�O‰OšIÓ&ˆÜ�Q‹KˆÜ�Q˜Õr   c                 óš   — t        j                  g d¢«      }t        j                  t        j                  |«      «      }t        ||«       y r7   )r   r:   ÚpickleÚloadsÚdumpsr   r;   s      r   Útest_picklezTestConstants.test_pickle3   s0   € Ü�O‰OšIÓ&ˆÜ�L‰LœŸ™ a›Ó)ˆÜ�Q˜Õr   N)	Ú__name__Ú
__module__Ú__qualname__r+   r.   r2   r5   r=   rB   © r   r   r&   r&       s    „ ò/ò)ò(ò)òó
r   r&   c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestArithmeticc                 óX  — t        d«      D ]œ  }t        d«      D ]Œ  }d|› d|› �}t        j                  t        ||«      dz   «      }||xx   dz  cc<   ||xx   dz  cc<   t	        j
                  dg|z  dgz   dg|z  dgz   «      }t        t        |«      t        |«      |¬«       ŒŽ Œž y ©Nr   úAt i=ú, j=r   r   ©Úerr_msg)ÚrangeÚnpÚzerosÚmaxr   Úpolyaddr   r   ©r*   ÚiÚjÚmsgÚtgtÚress         r   Útest_polyaddzTestArithmetic.test_polyadd:   ó¬   € Ü�q“ò 	@ˆAÜ˜1“Xò @�Ø˜a˜S  Q CÐ(�Ü—h‘hœs 1 a›y¨1™}Ó-�Ø�A“˜!‘“Ø�A“˜!‘“Ü—l‘l A 3 q¡5¨A¨3¡;°°°A±¸¸±Ó<�ÜœT #›Y¬¨S«	¸3Ö?ñ@ñ	@r   c                 óX  — t        d«      D ]œ  }t        d«      D ]Œ  }d|› d|› �}t        j                  t        ||«      dz   «      }||xx   dz  cc<   ||xx   dz  cc<   t	        j
                  dg|z  dgz   dg|z  dgz   «      }t        t        |«      t        |«      |¬«       ŒŽ Œž y rJ   )rO   rP   rQ   rR   r   Úpolysubr   r   rT   s         r   Útest_polysubzTestArithmetic.test_polysubD   r[   r   c                 ó  — t        t        j                  dg«      dg«       t        t        j                  dg«      ddg«       t        dd«      D ]8  }dg|z  dgz   }dg|dz   z  dgz   }t        t        j                  |«      |«       Œ: y )Nr   r   r   )r   r   ÚpolymulxrO   )r*   rU   ÚserrX   s       r   Útest_polymulxzTestArithmetic.test_polymulxN   s�   € Ü”T—]‘] A 3Ó'¨!¨Ô-Ü”T—]‘] A 3Ó'¨!¨Q¨Ô0Ü�q˜!“ò 	2ˆAØ�#�a‘%˜1˜#‘+ˆCØ�#�q˜1‘u‘+  Ñ#ˆCÜœŸ™ sÓ+¨SÕ1ñ	2r   c                 ó6  — t        d«      D ]‹  }t        d«      D ]{  }d|› d|› �}t        j                  ||z   dz   «      }|||z   xx   dz  cc<   t        j                  dg|z  dgz   dg|z  dgz   «      }t        t        |«      t        |«      |¬«       Œ} Œ� y rJ   )rO   rP   rQ   r   Úpolymulr   r   rT   s         r   Útest_polymulzTestArithmetic.test_polymulV   s¡   € Ü�q“ò 	@ˆAÜ˜1“Xò @�Ø˜a˜S  Q CÐ(�Ü—h‘h˜q 1™u q™yÓ)�Ø�A˜‘E“
˜a‘“
Ü—l‘l A 3 q¡5¨A¨3¡;°°°A±¸¸±Ó<�ÜœT #›Y¬¨S«	¸3Ö?ñ@ñ	@r   c                 ó8  — t        t        t        j                  dgdg«       t        j                  dgdg«      \  }}t	        ||fd«       t        j                  ddgdg«      \  }}t	        ||fd«       t        d«      D ]—  }t        d«      D ]‡  }d|› d|› �}dg|z  ddgz   }dg|z  ddgz   }t        j                  ||«      }t        j                  ||«      \  }}t        j                  t        j                  ||«      |«      }	t	        |	||¬	«       Œ‰ Œ™ y )
Nr   r   r   )r   r   ))r   r   r   r   rK   rL   rM   )r   ÚZeroDivisionErrorr   Úpolydivr   rO   rS   rd   )
r*   ÚquoÚremrU   rV   rW   ÚciÚcjrX   rY   s
             r   Útest_polydivzTestArithmetic.test_polydiv_   s  € äÔ'¬¯©¸°s¸Q¸CÔ@ô —<‘<   a SÓ)‰ˆˆSÜ�c˜3�Z Ô(Ü—<‘<  A ¨¨Ó,‰ˆˆSÜ�c˜3�Z Ô-ô �q“ò 	4ˆAÜ˜1“Xò 4�Ø˜a˜S  Q CÐ(�Ø�S˜‘U˜a ˜V‘^�Ø�S˜‘U˜a ˜V‘^�Ü—l‘l 2 rÓ*�ÜŸ<™<¨¨RÓ0‘��SÜ—l‘l¤4§<¡<°°RÓ#8¸#Ó>�Ü˜S #¨sÖ3ñ4ñ	4r   c           	      óV  — t        d«      D ]›  }t        d«      D ]‹  }d|› d|› �}t        j                  |dz   «      }t        t        j
                  |g|z  t        j                  dg«      «      }t	        j                  ||«      }t        t        |«      t        |«      |¬«       Œ� Œ� y )Nr   rK   rL   r   rM   )
rO   rP   Úaranger   r   rd   ÚarrayÚpolypowr   r   )r*   rU   rV   rW   ÚcrX   rY   s          r   Útest_polypowzTestArithmetic.test_polypowt   s–   € Ü�q“ò 	@ˆAÜ˜1“Xò @�Ø˜a˜S  Q CÐ(�Ü—I‘I˜a !™eÓ$�ÜœTŸ\™\¨A¨3¨q©5´"·(±(¸A¸3³-Ó@�Ü—l‘l 1 aÓ(�ÜœT #›Y¬¨S«	¸3Ö?ñ@ñ	@r   N)	rC   rD   rE   rZ   r^   rb   re   rm   rs   rF   r   r   rH   rH   8   s$   „ ò@ò@ò2ò@ò4ó*@r   rH   c                   ó  — e Zd Z ej                  g d¢«      Z ej                  dee«      Z ej                  deee«      Zej                  j                  d«      dz  dz
  Z
 ej                  e
g d¢«      Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zy)ÚTestEvaluation)ç      ð?g       @g      @úi,j->ijú
i,j,k->ijk©r9   r   r   r   c                 ó|  — t        t        j                  g dg«      j                  d«       t	        j
                  dd«      }t        d«      D �cg c]  }||z  ‘Œ	 }}t        d«      D ]1  }||   }t        j                  |dg|z  dgz   «      }t        ||«       Œ3 ||dz  dz
  z  }t        j                  |g d¢«      }t        ||«       t        d«      D ]   }dg|z  }t	        j                  |«      }t        t        j                  |dg«      j                  |«       t        t        j                  |ddg«      j                  |«       t        t        j                  |g d¢«      j                  |«       Œ¢ g d	¢}t        j                  j                  g d
¢|¬«      }t	        j                  g d¢|«      }t        |j                  |«        G d„ dt        j                  «      }	t	        j                  g d
¢«      j                  |	«      }
t        t!        t	        j                  g d¢|
«      «      |	«       y c c}w )Nr   r   r   r   r   )r   r   r   r   r9   ©r   r   r   )FTFr8   )Úmask)é   r   r9   c                   ó   — e Zd Zy)ú&TestEvaluation.test_polyval.<locals>.CN)rC   rD   rE   rF   r   r   ÚCr   ¦   s   „ Ør   r€   ©r   r9   r   )r   r   ÚpolyvalÚsizerP   ÚlinspacerO   r   rQ   ÚshapeÚmarp   r
   r|   ÚndarrayÚviewÚtype)r*   r   rU   r<   rX   rY   Údimsr|   Úmxr€   Úcxs              r   Útest_polyvalzTestEvaluation.test_polyvalˆ   sÆ  € ä”T—\‘\ " q cÓ*×/Ñ/°Ô3ô �K‰K˜˜AÓˆÜ  ›8Ö$�aˆQ�‹TÐ$ˆÐ$Ü�q“ò 	*ˆAØ�A‘$ˆCÜ—,‘,˜q 1 # a¡%¨1¨#¡+Ó.ˆCÜ  SÕ)ð	*ð ��A‘˜‘‰lˆÜ�l‰l˜1šmÓ,ˆÜ˜C Ô%ô �q“ò 	AˆAØ�3�q‘5ˆDÜ—‘˜“ˆAÜœŸ™ a¨!¨Ó-×3Ñ3°TÔ:ÜœŸ™ a¨!¨Q¨Ó0×6Ñ6¸Ô=ÜœŸ™ aªÓ3×9Ñ9¸4Õ@ð	Aò $ˆÜ�U‰U�[‰[š¨ˆ[Ó.ˆÜ�j‰jš BÓ'ˆÜ˜3Ÿ8™8 TÔ*ô	”—
‘
ô 	ô �X‰X’iÓ ×%Ñ% aÓ(ˆÜ”Tœ"Ÿ*™*¢Y°Ó3Ó4°aÕ8ùò9 %s   ÁH9c                 óü  — t        t        t        j                  dgdgd¬«       t	        t        j                  g dg«      j
                  d«       t        t        j                  g dg«      j                  dk(  «       t	        t        j                  g dgdz  g«      j
                  d«       t        t        j                  g dgdz  g«      j                  dk(  «       t	        t        j                  dd«      d«       t        t        j                  dt        j                  d«      «      j                  d	k(  «       t        j                  d
d«      }t        d«      D �cg c]  }||z  ‘Œ	 }}t        dd«      D ]-  }||   }t        j                  |dg|z  «      }t        ||«       Œ/ ||dz
  z  |dz   z  }t        j                  |g d¢«      }t        ||«       t        d«      D ]   }dg|z  }t        j                  |«      }t	        t        j                  |dg«      j                  |«       t	        t        j                  |ddg«      j                  |«       t	        t        j                  |g d¢«      j                  |«       Œ¢ g d¢}t        j                  |«      }t        j                  d
d«      }t        t        j                  ||«      t        j                  ||«      «       d}	t        j                   dd«      }t        j"                  j%                  dd|	¬«      }t        j                  ||d¬«      }t        j&                  |j                  dd  «      }t        |j
                  «      D ]%  }
t        j                  ||
   |d d …|
f   «      ||
<   Œ' t	        ||«       t        j(                  |d|z  g«      }t        j                  ||d¬«      }t        j&                  |j                  dd  |j                  z   «      }t        |j                  d   «      D ]G  }
t        |j                  d   «      D ]*  }t        j                  ||   |d d …|
f   «      ||
|d d …f<   Œ, ŒI t	        ||«       y c c}w )Nr   F)Útensorr   )r   r   )r   r   )r9   r9   )r9   r   )r   r   r   r9   r   r{   )é   r   iðÿÿÿéþÿÿÿr   ry   r   éûÿÿÿ)rƒ   T)r   Ú
ValueErrorr   Úpolyvalfromrootsr   rƒ   r   r…   rP   Úonesr„   rO   r   rQ   Ú	polyrootsr‚   ro   ÚrandomÚrandintÚemptyÚvstack)r*   r   rU   r<   rX   rY   rŠ   ÚptestÚrÚrshapeÚiiÚjjs               r   Útest_polyvalfromrootsz$TestEvaluation.test_polyvalfromroots¬   sÏ  € ô 	”j¤$×"7Ñ"7Ø�c˜A˜3 uõ	.ô 	”T×*Ñ*¨2°¨sÓ3×8Ñ8¸!Ô<Ü”×%Ñ% b¨1¨#Ó.×4Ñ4¸Ñ<Ô=ô 	”T×*Ñ*¨2°°°a±¨yÓ9×>Ñ>ÀÔBÜ”×%Ñ% b¨A¨3°©7¨)Ó4×:Ñ:¸fÑDÔEô 	”T×*Ñ*¨1¨aÓ0°!Ô4Ü”×%Ñ% a¬¯©°«Ó9×?Ñ?À4ÑGÔHô �K‰K˜˜AÓˆÜ  ›8Ö$�aˆQ�‹TÐ$ˆÐ$Ü�q˜!“ò 	*ˆAØ�A‘$ˆCÜ×'Ñ'¨¨A¨3¨q©5Ó1ˆCÜ  SÕ)ð	*ð ��Q‘‰i˜˜Q™ÑˆÜ×#Ñ# A¢zÓ2ˆÜ˜C Ô%ô �q“ò 	JˆAØ�3�q‘5ˆDÜ—‘˜“ˆAÜœ×.Ñ.¨q°1°#Ó6×<Ñ<¸dÔCÜœ×.Ñ.¨q°1°a°&Ó9×?Ñ?ÀÔFÜœ×.Ñ.¨q²)Ó<×BÑBÀDÕIð	Jò $ˆÜ�N‰N˜5Ó!ˆÜ�K‰K˜˜AÓˆÜœDŸL™L¨¨EÓ2Ü ×1Ñ1°!°QÓ7ô	9ð
 ˆÜ�I‰I�b˜!ÓˆÜ�I‰I×Ñ˜b !¨&ÐÓ1ˆÜ×#Ñ# A q°Ô7ˆÜ�h‰h�q—w‘w˜q˜r�{Ó#ˆÜ˜Ÿ™“/ò 	=ˆBÜ×+Ñ+¨A¨b©E°1²Q¸°U±8Ó<ˆC�ŠGð	=ä�S˜#Ôô �I‰I�q˜!˜A™#�hÓˆÜ×#Ñ# A q°Ô6ˆÜ�h‰h�q—w‘w˜q˜r�{ Q§W¡WÑ,Ó-ˆÜ˜Ÿ™ ™
Ó#ò 	HˆBÜ˜AŸG™G A™JÓ'ò H�Ü!%×!6Ñ!6°q¸±u¸aÂÀ2À¹hÓ!G��B˜šA�I’ñHð	Hô 	�S˜#ÕùòU %s   ÅQ9c           	      ó¢  — | j                   \  }}}| j                  \  }}}t        t        dt        j
                  ||d d | j                  «       ||z  }t	        j
                  ||| j                  «      }t        ||«       t        j                  d«      }	t	        j
                  |	|	| j                  «      }t        |j                  dk(  «       y ©NÚincompatibler   ©r   r9   )r   r<   r   r“   r   Ú	polyval2dÚc2dr   rP   r•   r   r…   ©
r*   Úx1Úx2Úx3Úy1Úy2Úy3rX   rY   Úzs
             r   Útest_polyval2dzTestEvaluation.test_polyval2dì   s§   € Ø—V‘V‰
ˆˆB�Ø—V‘V‰
ˆˆB�ô 	œJ¨Ü ŸN™N¨B°°2°A°¸¿¹ô	Bð �‰eˆÜ�n‰n˜R  T§X¡XÓ.ˆÜ˜C Ô%ô �G‰G�F‹OˆÜ�n‰n˜Q  4§8¡8Ó,ˆÜ�—	‘	˜VÑ#Õ$r   c           
      ó®  — | j                   \  }}}| j                  \  }}}t        t        dt        j
                  |||d d | j                  «       ||z  |z  }t	        j
                  |||| j                  «      }t        ||«       t        j                  d«      }	t	        j
                  |	|	|	| j                  «      }t        |j                  dk(  «       y r¢   )r   r<   r   r“   r   Ú	polyval3dÚc3dr   rP   r•   r   r…   r§   s
             r   Útest_polyval3dzTestEvaluation.test_polyval3dþ   s±   € Ø—V‘V‰
ˆˆB�Ø—V‘V‰
ˆˆB�ô 	œJ¨Ü—n‘n b¨"¨b°°!¨f°d·h±hô	@ð �‰e�B‰hˆÜ�n‰n˜R  R¨¯©Ó2ˆÜ˜C Ô%ô �G‰G�F‹OˆÜ�n‰n˜Q  1 d§h¡hÓ/ˆÜ�—	‘	˜VÑ#Õ$r   c                 óh  — | j                   \  }}}| j                  \  }}}t        j                  d||«      }t	        j
                  ||| j                  «      }t        ||«       t        j                  d«      }	t	        j
                  |	|	| j                  «      }t        |j                  dk(  «       y )Nrw   r¤   )r   r9   r   r9   )r   r<   rP   Úeinsumr   Ú
polygrid2dr¦   r   r•   r   r…   r§   s
             r   Útest_polygrid2dzTestEvaluation.test_polygrid2d  sŠ   € Ø—V‘V‰
ˆˆB�Ø—V‘V‰
ˆˆB�ô �i‰i˜	 2 rÓ*ˆÜ�o‰o˜b " d§h¡hÓ/ˆÜ˜C Ô%ô �G‰G�F‹OˆÜ�o‰o˜a  D§H¡HÓ-ˆÜ�—	‘	˜XÑ%Õ&r   c                 ón  — | j                   \  }}}| j                  \  }}}t        j                  d|||«      }t	        j
                  |||| j                  «      }t        ||«       t        j                  d«      }	t	        j
                  |	|	|	| j                  «      }t        |j                  dk(  «       y )Nrx   r¤   )r   r9   r   r9   r   r9   )r   r<   rP   rµ   r   Ú
polygrid3dr²   r   r•   r   r…   r§   s
             r   Útest_polygrid3dzTestEvaluation.test_polygrid3d  s�   € Ø—V‘V‰
ˆˆB�Ø—V‘V‰
ˆˆB�ô �i‰i˜ b¨"¨bÓ1ˆÜ�o‰o˜b " b¨$¯(©(Ó3ˆÜ˜C Ô%ô �G‰G�F‹OˆÜ�o‰o˜a  A t§x¡xÓ0ˆÜ�—	‘	˜XÑ%Õ&r   N)rC   rD   rE   rP   rp   Úc1drµ   r¦   r²   r—   r   r   r‚   r<   r�   r    r¯   r³   r·   rº   rF   r   r   ru   ru   ~   sŽ   „ à
ˆ"�(‰(’<Ó
 €CØ
ˆ"�)‰)�I˜s CÓ
(€CØ
ˆ"�)‰)�L # s¨CÓ
0€Cð 	�	‰	×Ñ˜Ó  Ñ" QÑ&€AØˆ�‰�QšÓ%€Aò"9òH>ò@%ò$%ò$'ó'r   ru   c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestIntegralc                 óÚ	  — t        t        t        j                  dgd«       t        t        t        j                  dgd«       t        t        t        j                  dgdddg«       t        t        t        j                  dgdg¬«       t        t        t        j                  dgdg¬«       t        t        t        j                  dgd¬«       t        t        «      5  t        j                  ddgd«       d d d «       t        d	d
«      D ]6  }dg|d	z
  z  dgz   }t        j                  dg||¬«      }t        |ddg«       Œ8 t        d
«      D ]Y  }|dz   }dg|z  dgz   }|gdg|z  z   d|z  gz   }t        j                  |d|g¬«      }t        t        |«      t        |«      «       Œ[ t        d
«      D ]K  }|dz   }dg|z  dgz   }t        j                  |d|gd¬«      }t        t        j                  d|«      |«       ŒM t        d
«      D ]Z  }|dz   }dg|z  dgz   }|gdg|z  z   d	|z  gz   }t        j                  |d|gd	¬«      }t        t        |«      t        |«      «       Œ\ t        d
«      D ]~  }t        d	d
«      D ]m  }dg|z  dgz   }|d d  }t        |«      D ]  }t        j                  |d¬«      }Œ t        j                  ||¬«      }t        t        |«      t        |«      «       Œo Œ€ t        d
«      D ]“  }t        d	d
«      D ]‚  }dg|z  dgz   }|d d  }t        |«      D ]  }t        j                  |d|g¬«      }Œ t        j                  ||t        t        |«      «      ¬«      }t        t        |«      t        |«      «       Œ„ Œ• t        d
«      D ]•  }t        d	d
«      D ]„  }dg|z  dgz   }|d d  }t        |«      D ]  }t        j                  |d|gd¬«      }Œ t        j                  ||t        t        |«      «      d¬«      }t        t        |«      t        |«      «       Œ† Œ— t        d
«      D ]•  }t        d	d
«      D ]„  }dg|z  dgz   }|d d  }t        |«      D ]  }t        j                  |d|gd	¬«      }Œ t        j                  ||t        t        |«      «      d	¬«      }t        t        |«      t        |«      «       Œ† Œ— y # 1 sw Y   �ŒëxY w)Nr   ç      à?r   r   )Úlbnd)Úscl©Úaxisrv   r   r   )ÚmÚk)rÄ   rÅ   rÀ   )rÄ   rÅ   rÁ   ©rÄ   )r   Ú	TypeErrorr   Úpolyintr“   r	   ÚDeprecationWarningrO   r   r   r‚   Úlist)r*   rU   rÅ   rY   rÁ   ÚpolrX   rV   s           r   Útest_polyintzTestIntegral.test_polyint/  sš  € ä”i¤§¡°¨s°BÔ7Ü”j¤$§,¡,°°°RÔ8Ü”j¤$§,¡,°°°Q¸¸A¸Ô?Ü”j¤$§,¡,°°¸1¸#Õ>Ü”j¤$§,¡,°°¸!¸Õ=Ü”i¤§¡°¨s¸Õ<ÜÔ,Ó-ñ 	%Ü�L‰L˜!˜Q˜ Ô$÷	%ô �q˜!“ò 	-ˆAØ��Q˜‘U‘˜q˜cÑ!ˆAÜ—,‘, ˜s a¨1Ô-ˆCÜ  a¨ VÕ,ð	-ô �q“ò 	6ˆAØ�a‘%ˆCØ�#�a‘%˜1˜#‘+ˆCØ�#˜˜˜A™‘+  3¡ Ñ'ˆCÜ—,‘,˜s a¨A¨3Ô/ˆCÜ¤ S£	¬4°«9Õ5ð	6ô �q“ò 	:ˆAØ�a‘%ˆCØ�#�a‘%˜1˜#‘+ˆCÜ—,‘,˜s a¨A¨3°RÔ8ˆCÜ¤§¡¨R°Ó 5°qÕ9ð		:ô �q“ò 	6ˆAØ�a‘%ˆCØ�#�a‘%˜1˜#‘+ˆCØ�#˜˜˜A™‘+  3¡ Ñ'ˆCÜ—,‘,˜s a¨A¨3°AÔ6ˆCÜ¤ S£	¬4°«9Õ5ð	6ô �q“ò 	:ˆAÜ˜1˜a“[ò :�Ø�c˜!‘e˜q˜c‘k�Ø™!�f�Ü˜q›ò 1�AÜŸ,™, s¨aÔ0‘Cð1ä—l‘l 3¨!Ô,�Ü#¤D¨£I¬t°C«yÕ9ñ:ð	:ô �q“ò 	:ˆAÜ˜1˜a“[ò :�Ø�c˜!‘e˜q˜c‘k�Ø™!�f�Ü˜q›ò 8�AÜŸ,™, s¨a°A°3Ô7‘Cð8ä—l‘l 3¨!¬t´E¸!³H«~Ô>�Ü#¤D¨£I¬t°C«yÕ9ñ:ð	:ô �q“ò 	:ˆAÜ˜1˜a“[ò :�Ø�c˜!‘e˜q˜c‘k�Ø™!�f�Ü˜q›ò A�AÜŸ,™, s¨a°A°3¸RÔ@‘CðAä—l‘l 3¨!¬t´E¸!³H«~ÀBÔG�Ü#¤D¨£I¬t°C«yÕ9ñ:ð	:ô �q“ò 	:ˆAÜ˜1˜a“[ò :�Ø�c˜!‘e˜q˜c‘k�Ø™!�f�Ü˜q›ò ?�AÜŸ,™, s¨a°A°3¸AÔ>‘Cð?ä—l‘l 3¨!¬t´E¸!³H«~À1ÔE�Ü#¤D¨£I¬t°C«yÕ9ñ:ñ	:÷	%ñ 	%ús   ÃS Ó S*c           	      ó¤  — t         j                  j                  d«      }t        j                  |j                  D �cg c]  }t	        j
                  |«      ‘Œ c}«      j                  }t	        j
                  |d¬«      }t        ||«       t        j                  |D �cg c]  }t	        j
                  |«      ‘Œ c}«      }t	        j
                  |d¬«      }t        ||«       t        j                  |D �cg c]  }t	        j
                  |d¬«      ‘Œ c}«      }t	        j
                  |dd¬«      }t        ||«       y c c}w c c}w c c}w )N©r9   r   r   rÂ   r   r9   )rÅ   )rÅ   rÃ   )rP   r—   rš   ÚTr   rÈ   r   ©r*   r¦   rr   rX   rY   s        r   Útest_polyint_axiszTestIntegral.test_polyint_axis  så   € ä�i‰i×Ñ˜vÓ&ˆä�i‰i°#·%±%Ö8¨QœŸ™ a�Ò8Ó9×;Ñ;ˆÜ�l‰l˜3 QÔ'ˆÜ˜C Ô%ä�i‰i°#Ö6¨QœŸ™ a�Ò6Ó7ˆÜ�l‰l˜3 QÔ'ˆÜ˜C Ô%ä�i‰i°sÖ;°!œŸ™ a¨1Ö-Ò;Ó<ˆÜ�l‰l˜3 !¨!Ô,ˆÜ˜C Õ%ùò 9ùò 7ùò <s   ½EÂ EÃ9EN)rC   rD   rE   rÌ   rÑ   rF   r   r   r½   r½   -  s   „ òN:ó`&r   r½   c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestDerivativec           	      óþ  — t        t        t        j                  dgd«       t        t        t        j                  dgd«       t        d«      D ]A  }dg|z  dgz   }t        j                  |d¬«      }t        t        |«      t        |«      «       ŒC t        d«      D ]g  }t        dd«      D ]V  }dg|z  dgz   }t        j                  t        j                  ||¬«      |¬«      }t        t        |«      t        |«      «       ŒX Œi t        d«      D ]i  }t        dd«      D ]X  }dg|z  dgz   }t        j                  t        j                  ||d¬«      |d¬«      }t        t        |«      t        |«      «       ŒZ Œk y )	Nr   r¿   r   r   r   rÆ   r   )rÄ   rÁ   )
r   rÇ   r   Úpolyderr“   rO   r   r   rÈ   r   )r*   rU   rX   rY   rV   s        r   Útest_polyderzTestDerivative.test_polyder’  sF  € ä”i¤§¡°¨s°BÔ7Ü”j¤$§,¡,°°°RÔ8ô �q“ò 	/ˆAØ�#�a‘%˜1˜#‘+ˆCÜ—,‘,˜s aÔ(ˆCÜœ˜c›¤D¨£IÕ.ð	/ô �q“ò 	:ˆAÜ˜1˜a“[ò :�Ø�c˜!‘e˜q˜c‘k�Ü—l‘l¤4§<¡<°°qÔ#9¸QÔ?�Ü#¤D¨£I¬t°C«yÕ9ñ:ð	:ô �q“ò 	:ˆAÜ˜1˜a“[ò :�Ø�c˜!‘e˜q˜c‘k�Ü—l‘l¤4§<¡<°°q¸aÔ#@ÀAÈ2ÔN�Ü#¤D¨£I¬t°C«yÕ9ñ:ñ	:r   c                 óâ  — t         j                  j                  d«      }t        j                  |j                  D �cg c]  }t	        j
                  |«      ‘Œ c}«      j                  }t	        j
                  |d¬«      }t        ||«       t        j                  |D �cg c]  }t	        j
                  |«      ‘Œ c}«      }t	        j
                  |d¬«      }t        ||«       y c c}w c c}w )NrÎ   r   rÂ   r   )rP   r—   rš   rÏ   r   rÕ   r   rÐ   s        r   Útest_polyder_axisz TestDerivative.test_polyder_axis«  s    € ä�i‰i×Ñ˜vÓ&ˆä�i‰i°#·%±%Ö8¨QœŸ™ a�Ò8Ó9×;Ñ;ˆÜ�l‰l˜3 QÔ'ˆÜ˜C Ô%ä�i‰i°#Ö6¨QœŸ™ a�Ò6Ó7ˆÜ�l‰l˜3 QÔ'ˆÜ˜C Õ%ùò 9ùò 7s   ½C'Â C,N)rC   rD   rE   rÖ   rØ   rF   r   r   rÓ   rÓ   �  s   „ ò:ó2
&r   rÓ   c                   óf   — e Zd Zej                  j	                  d«      dz  dz
  Zd„ Zd„ Zd„ Zd„ Z	y)	Ú
TestVanderry   r   r   c                 ó  — t        j                  d«      }t        j                  |d«      }t	        |j
                  dk(  «       t        d«      D ]1  }dg|z  dgz   }t        |d|f   t        j                  ||«      «       Œ3 t        j                  ddgddgdd	gg«      }t        j                  |d«      }t	        |j
                  d
k(  «       t        d«      D ]1  }dg|z  dgz   }t        |d|f   t        j                  ||«      «       Œ3 y )Nr9   rÎ   r   r   r   .r   r   é   )r9   r   r   )
rP   ro   r   Ú
polyvanderr   r…   rO   r   r‚   rp   )r*   r   ÚvrU   Úcoefs        r   Útest_polyvanderzTestVander.test_polyvander¼  sú   € ä�I‰I�a‹LˆÜ�O‰O˜A˜qÓ!ˆÜ�—‘˜6Ñ!Ô"Ü�q“ò 	BˆAØ�3�q‘5˜A˜3‘;ˆDÜ  # q &¡	¬4¯<©<¸¸4Ó+@ÕAð	Bô
 �H‰H�q˜!�f˜q !˜f q¨! fÐ-Ó.ˆÜ�O‰O˜A˜qÓ!ˆÜ�—‘˜9Ñ$Ô%Ü�q“ò 	BˆAØ�3�q‘5˜A˜3‘;ˆDÜ  # q &¡	¬4¯<©<¸¸4Ó+@ÕAñ	Br   c                 ó€  — | j                   \  }}}t        j                  j                  d«      }t        j                  ||ddg«      }t        j
                  |||«      }t        j                  ||j                  «      }t        ||«       t        j                  |g|gddg«      }t        |j                  dk(  «       y )Nr¤   r   r   )r   r   rÜ   )r   rP   r—   r   Úpolyvander2dr¥   ÚdotÚflatr   r   r…   ©r*   r¨   r©   rª   rr   ÚvanrX   rY   s           r   Útest_polyvander2dzTestVander.test_polyvander2dÍ  sœ   € à—V‘V‰
ˆˆB�Ü�I‰I×Ñ˜VÓ$ˆÜ×Ñ  B¨¨A¨Ó/ˆÜ�n‰n˜R  QÓ'ˆÜ�f‰f�S˜!Ÿ&™&Ó!ˆÜ˜C Ô%ô ×Ñ   r d¨Q°¨FÓ3ˆÜ�—	‘	˜YÑ&Õ'r   c                 óˆ  — | j                   \  }}}t        j                  j                  d«      }t        j                  |||g d¢«      }t        j
                  ||||«      }t        j                  ||j                  «      }t        ||«       t        j                  |g|g|gg d¢«      }t        |j                  dk(  «       y )Nr�   r8   )r   r   é   )r   rP   r—   r   Úpolyvander3dr±   rã   rä   r   r   r…   rå   s           r   Útest_polyvander3dzTestVander.test_polyvander3dÚ  sœ   € à—V‘V‰
ˆˆB�Ü�I‰I×Ñ˜YÓ'ˆÜ×Ñ  B¨ªIÓ6ˆÜ�n‰n˜R  R¨Ó+ˆÜ�f‰f�S˜!Ÿ&™&Ó!ˆÜ˜C Ô%ô ×Ñ   r d¨R¨D²)Ó<ˆÜ�—	‘	˜ZÑ'Õ(r   c                 ón   — t        j                  d«      }t        t        t        j
                  |d«       y )Nr9   r   )rP   ro   r   r“   r   rÝ   )r*   r   s     r   Útest_polyvandernegdegz TestVander.test_polyvandernegdegç  s!   € Ü�I‰I�a‹LˆÜ”j¤$§/¡/°1°bÕ9r   N)
rC   rD   rE   rP   r—   r   rà   rç   rë   rí   rF   r   r   rÚ   rÚ   ¸  s5   „ à
�	‰	×Ñ˜Ó  Ñ" QÑ&€AòBò"(ò)ó:r   rÚ   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚTestCompanionc                 ó‚   — t        t        t        j                  g «       t        t        t        j                  dg«       y r0   )r   r“   r   Úpolycompanionr)   s    r   Útest_raiseszTestCompanion.test_raisesî  s(   € Ü”j¤$×"4Ñ"4°bÔ9Ü”j¤$×"4Ñ"4°q°cÕ:r   c                 ó”   — t        dd«      D ]9  }dg|z  dgz   }t        t        j                  |«      j                  ||fk(  «       Œ; y )Nr   r   r   )rO   r   r   rñ   r…   )r*   rU   rß   s      r   Útest_dimensionszTestCompanion.test_dimensionsò  sJ   € Ü�q˜!“ò 	>ˆAØ�3�q‘5˜A˜3‘;ˆDÜ”D×&Ñ& tÓ,×2Ñ2°q¸!°fÑ<Õ=ñ	>r   c                 óP   — t        t        j                  ddg«      d   dk(  «       y )Nr   r   )r   r   ç      à¿)r   r   rñ   r)   s    r   Útest_linear_rootzTestCompanion.test_linear_root÷  s#   € Ü”×"Ñ" A q 6Ó*¨4Ñ0°CÑ7Õ8r   N)rC   rD   rE   rò   rô   r÷   rF   r   r   rï   rï   ì  s   „ ò;ò>ó
9r   rï   c                   ó0   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚTestMiscc           	      ó�  — t        j                  g «      }t        t        |«      dg«       t	        dd«      D ]Œ  }t        j                  t        j                  t
        j                   dd|z  dz   «      dd d…   «      }t        |   }t        j                  |«      d|dz
  z  z  }t        t        |«      t        |«      «       ŒŽ y )Nr   r   r   r   )
r   Úpolyfromrootsr   r   rO   rP   Úcosr„   ÚpiÚTlist)r*   rY   rU   ÚrootsrX   s        r   Útest_polyfromrootszTestMisc.test_polyfromrootsý  s£   € Ü× Ñ  Ó$ˆÜœD ›I¨ sÔ+Ü�q˜!“ò 	6ˆAÜ—F‘Fœ2Ÿ;™;¬¯© v¨q°!°A±#¸±'Ó:¸1¸4¸a¸4Ñ@ÓAˆEÜ˜‘(ˆCÜ×$Ñ$ UÓ+¨A°°!±©HÑ4ˆCÜ¤ S£	¬4°«9Õ5ñ		6r   c                 ód  — t        t        j                  dg«      g «       t        t        j                  ddg«      dg«       t        dd«      D ]_  }t	        j
                  dd|«      }t        j                  t        j                  |«      «      }t        t        |«      t        |«      «       Œa y )Nr   r   rö   r   r   )r   r   r–   rO   rP   r„   rû   r   )r*   rU   rX   rY   s       r   Útest_polyrootszTestMisc.test_polyroots  s‚   € ÜœDŸN™N¨A¨3Ó/°Ô4ÜœDŸN™N¨A¨q¨6Ó2°S°EÔ:Ü�q˜!“ò 	6ˆAÜ—+‘+˜b ! QÓ'ˆCÜ—.‘.¤×!3Ñ!3°CÓ!8Ó9ˆCÜ¤ S£	¬4°«9Õ5ñ	6r   c           	      óº  — d„ }d„ }t        t        t        j                  dgdgd«       t        t        t        j                  dggdgd«       t        t        t        j                  g dgd«       t        t        t        j                  dgdgggd«       t        t        t        j                  ddgdgd«       t        t        t        j                  dgddgd«       t        t        t        j                  dgdgddgg¬«       t        t        t        j                  dgdgdddg¬«       t        t        t        j                  dgdgdg«       t        t        t        j                  dgdgg d¢«       t        t        t        j                  dgdgg «       t        j                  dd«      } ||«      }t        j                  ||d	«      }t        t        |«      d
«       t        t        j                  ||«      |«       t        j                  ||g d¢«      }t        t        |«      d
«       t        t        j                  ||«      |«       t        j                  ||d
«      }t        t        |«      d«       t        t        j                  ||«      |«       t        j                  ||g d¢«      }t        t        |«      d«       t        t        j                  ||«      |«       t        j                  |t        j                  ||g«      j                  d	«      }t        |t        j                  ||g«      j                  «       t        j                  |t        j                  ||g«      j                  g d¢«      }t        |t        j                  ||g«      j                  «       t        j                  |«      }|j                  «       }	d|dd d…<   d|	dd d…<   t        j                  ||	d	|¬«      }
t        |
|«       t        j                  ||	g d¢|¬«      }
t        |
|«       t        j                  |t        j                  |	|	g«      j                  d	|¬«      }t        |t        j                  ||g«      j                  «       t        j                  |t        j                  |	|	g«      j                  g d¢|¬«      }t        |t        j                  ||g«      j                  «       g d¢}t        t        j                  ||d«      ddg«       t        t        j                  ||ddg«      ddg«       t        j                  dd«      } ||«      }t        j                  ||d
«      }t        t        j                  ||«      |«       t        j                  ||g d¢«      }t        t        j                  ||«      |«       t        ||«       y )Nc                 ó   — | | dz
  z  | dz
  z  S )Nr   r   rF   r   s    r   Úfz TestMisc.test_polyfit.<locals>.f  s   € Ø�a˜!‘e‘9˜a !™eÑ$Ð$r   c                 ó   — | dz  | dz  z   dz   S )Nr   r   r   rF   r   s    r   Úf2z!TestMisc.test_polyfit.<locals>.f2  s   € Ø�a‘4˜!˜Q™$‘; ‘?Ð"r   r   r   r   r   )Úw)r   r   rÜ   r9   r   )r   r   r   r9   r   )r   r   r   r9   r   )r   y              ð?r   y       €      ð¿)r   r   r   )r   r“   r   ÚpolyfitrÇ   rP   r„   r   Úlenr   r‚   rp   rÏ   Ú
zeros_likeÚcopy)r*   r  r  r   r<   Úcoef3Úcoef4Úcoef2dr  ÚywÚwcoef3Úwcoef2dÚcoef1Úcoef2s                 r   Útest_polyfitzTestMisc.test_polyfit  sL  € ò	%ò	#ô 	”j¤$§,¡,°°°a°S¸"Ô=Ü”i¤§¡°°¨u°q°c¸1Ô=Ü”i¤§¡¨r°A°3¸Ô:Ü”i¤§¡°¨s°q°c°U°G¸QÔ?Ü”i¤§¡°°1¨v¸°s¸AÔ>Ü”i¤§¡°¨s°Q¸°F¸AÔ>Ü”i¤§¡°¨s°Q°C¸À¸s¸eÕDÜ”i¤§¡°¨s°Q°C¸¸qÀ!¸fÕEÜ”j¤$§,¡,°°°a°S¸2¸%Ô@Ü”j¤$§,¡,°°°a°Sº*ÔEÜ”i¤§¡°¨s°Q°C¸Ô<ô �K‰K˜˜1ÓˆÙˆa‹Dˆä—‘˜Q  1Ó%ˆÜ”S˜“Z Ô#ÜœDŸL™L¨¨EÓ2°AÔ6Ü—‘˜Q ¢<Ó0ˆÜ”S˜“Z Ô#ÜœDŸL™L¨¨EÓ2°AÔ6ä—‘˜Q  1Ó%ˆÜ”S˜“Z Ô#ÜœDŸL™L¨¨EÓ2°AÔ6Ü—‘˜Q ¢?Ó3ˆÜ”S˜“Z Ô#ÜœDŸL™L¨¨EÓ2°AÔ6ä—‘˜a¤§¡¨1¨a¨&Ó!1×!3Ñ!3°QÓ7ˆÜ˜F¤B§H¡H¨e°U¨^Ó$<×$>Ñ$>Ô?Ü—‘˜a¤§¡¨1¨a¨&Ó!1×!3Ñ!3²\ÓBˆÜ˜F¤B§H¡H¨e°U¨^Ó$<×$>Ñ$>Ô?ä�M‰M˜!ÓˆØ�V‰V‹XˆØˆˆ!ˆ$ˆQˆ$‰Øˆˆ1ˆ4ˆaˆ4‰Ü—‘˜a  Q¨!Ô,ˆÜ˜F EÔ*Ü—‘˜a ¢\°QÔ7ˆÜ˜F EÔ*ä—,‘,˜q¤"§(¡(¨B°¨8Ó"4×"6Ñ"6¸¸QÔ?ˆÜ˜G¤R§X¡X¨u°e¨nÓ%=×%?Ñ%?Ô@Ü—,‘,˜q¤"§(¡(¨B°¨8Ó"4×"6Ñ"6ºÈÔJˆÜ˜G¤R§X¡X¨u°e¨nÓ%=×%?Ñ%?Ô@ò ˆÜœDŸL™L¨¨A¨qÓ1°A°q°6Ô:ÜœDŸL™L¨¨A°°1¨vÓ6¸¸A¸Ô?ä�K‰K˜˜AÓˆÙˆq‹EˆÜ—‘˜Q  1Ó%ˆÜœDŸL™L¨¨EÓ2°AÔ6Ü—‘˜Q ¢9Ó-ˆÜœDŸL™L¨¨EÓ2°AÔ6Ü˜E 5Õ)r   c                 ó  — g d¢}t        t        t        j                  |d«       t	        t        j                  |«      |d d «       t	        t        j                  |d«      |d d «       t	        t        j                  |d«      dg«       y )N)r   r   r   r   r   r   r   r   r   )r   r“   r   r   r   )r*   rß   s     r   Útest_polytrimzTestMisc.test_polytrimT  sh   € Úˆô 	”j¤$§-¡-°°rÔ:ô 	”T—]‘] 4Ó(¨$¨s°¨)Ô4Ü”T—]‘] 4¨Ó+¨T°#°2¨YÔ7Ü”T—]‘] 4¨Ó+¨a¨SÕ1r   c                 óH   — t        t        j                  dd«      ddg«       y )Nr9   r   ©r   r   Úpolyliner)   s    r   Útest_polylinezTestMisc.test_polyline_  s   € Ü”T—]‘] 1 aÓ(¨1¨a¨&Õ1r   c                 óF   — t        t        j                  dd«      dg«       y )Nr9   r   r  r)   s    r   Útest_polyline_zerozTestMisc.test_polyline_zerob  s   € Ü”T—]‘] 1 aÓ(¨1¨#Õ.r   N)	rC   rD   rE   r   r  r  r  r  r  rF   r   r   rù   rù   û  s"   „ ò6ò6òD*òL	2ò2ó/r   rù   )'Ú__doc__Ú	functoolsr   ÚnumpyrP   Únumpy.polynomial.polynomialÚ
polynomialr   r?   r  r   Únumpy.testingr   r   r   r   r	   r
   r   r   ÚT0ÚT1ÚT2ÚT3ÚT4ÚT5ÚT6ÚT7ÚT8ÚT9rþ   r&   rH   ru   r½   rÓ   rÚ   rï   rù   rF   r   r   ú<module>r.     så   ðñõ ã ß *Ð *Û Ý ÷;÷ ;ñ ;ò
&ð €S€Øˆ€V€Ú€Ú€Ú€Ú€Ú€Ú#€Ú)€Ú-€à	ˆR��R˜˜R  R¨¨RÐ0€÷ñ ÷0C@ñ C@÷Ll'ñ l'÷^`&ñ `&÷F%&ñ %&÷P1:ñ 1:÷h9ñ 9÷h/ò h/r   