ó
    �œ‘h°K  ã            
       óö  • S r SSKJr  SSKrSSKJs  Jr  SSK	J
r
  SSKJrJrJrJr  \R                   " S/5      r\R                   " SS/5      r\R                   " / SQ5      S-  r\R                   " / S	Q5      S-  r\R                   " / S
Q5      S-  r\R                   " / SQ5      S-  r\R                   " / SQ5      S-  r\R                   " / SQ5      S-  r\R                   " / SQ5      S-  r\R                   " / SQ5      S-  r\\\\\\\\\\/
rS r " S S5      r " S S5      r " S S5      r " S S5      r  " S S5      r! " S S5      r" " S  S!5      r# " S" S#5      r$ " S$ S%5      r% " S& S'5      r&g)(zTests for legendre module.

é    )ÚreduceN)Úpolyval)Úassert_Úassert_almost_equalÚassert_equalÚassert_raisesé   )éÿÿÿÿr   é   é   )r   éýÿÿÿr   é   )r   r   iâÿÿÿr   é#   é   )r   é   r   iºÿÿÿr   é?   )éûÿÿÿr   éi   r   iÅþÿÿr   éç   é   )r   iÝÿÿÿr   é;  r   iKýÿÿr   i­  )	r   r   iûÿÿr   i  r   iÑÿÿr   i#  é€   )
r   r   r   iôíÿÿr   ibF  r   it›ÿÿr   i{/  c                 ó,   • [         R                  " U SS9$ )Ng�íµ ÷Æ°>)Útol)ÚlegÚlegtrim©Úxs    ÚhC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\numpy/polynomial/tests/test_legendre.pyÚtrimr       s   € Ü�;Š;�q˜dÑ#Ð#ó    c                   ó,   • \ rS rSrS rS rS rS rSrg)ÚTestConstantsé"   c                 ó<   • [        [        R                  SS/5        g )Nr
   r	   )r   r   Ú	legdomain©Úselfs    r   Útest_legdomainÚTestConstants.test_legdomain$   s   € Ü”S—]‘] R¨ GÕ,r!   c                 ó:   • [        [        R                  S/5        g )Nr   )r   r   Úlegzeror'   s    r   Útest_legzeroÚTestConstants.test_legzero'   s   € Ü”S—[‘[ 1 #Õ&r!   c                 ó:   • [        [        R                  S/5        g ©Nr	   )r   r   Úlegoner'   s    r   Útest_legoneÚTestConstants.test_legone*   s   € Ü”S—Z‘Z ! Õ%r!   c                 ó<   • [        [        R                  SS/5        g )Nr   r	   )r   r   Úlegxr'   s    r   Ú	test_legxÚTestConstants.test_legx-   s   € Ü”S—X‘X  1˜vÕ&r!   © N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r)   r-   r2   r6   Ú__static_attributes__r8   r!   r   r#   r#   "   s   † ò-ò'ò&õ'r!   r#   c                   ó`   • \ rS rSr\R
                  " SSS5      rS rS rS r	S r
S	 rS
 rSrg)ÚTestArithmeticé1   r
   r	   éd   c                 óX  • [        S5       H›  n[        S5       H‰  nSU SU 3n[        R                  " [        X5      S-   5      nXA==   S-  ss'   XB==   S-  ss'   [        R
                  " S/U-  S/-   S/U-  S/-   5      n[        [        U5      [        U5      US9  M‹     M�     g ©Nr   úAt i=ú, j=r	   r   ©Úerr_msg)ÚrangeÚnpÚzerosÚmaxr   Úlegaddr   r    ©r(   ÚiÚjÚmsgÚtgtÚress         r   Útest_legaddÚTestArithmetic.test_legadd4   ó˜   € Ü�q–ˆAÜ˜1–X�Ø˜a˜S  Q CÐ(�Ü—h’hœs 1›y¨1™}Ó-�Ø“˜!‘“Ø“˜!‘“Ü—j’j !  q¡¨A¨3¡°°°a±¸1¸#±Ó>�ÜœT #›Y¬¨S«	¸3Ô?ó ò r!   c                 óX  • [        S5       H›  n[        S5       H‰  nSU SU 3n[        R                  " [        X5      S-   5      nXA==   S-  ss'   XB==   S-  ss'   [        R
                  " S/U-  S/-   S/U-  S/-   5      n[        [        U5      [        U5      US9  M‹     M�     g rC   )rH   rI   rJ   rK   r   Úlegsubr   r    rM   s         r   Útest_legsubÚTestArithmetic.test_legsub>   rU   r!   c                 óF  • [        [        R                  " S/5      S/5        [        [        R                  " S/5      SS/5        [        SS5       HL  nSU-  S-   nS/U-  S/-   nS/US-
  -  X-  SUS-   U-  /-   n[        [        R                  " U5      U5        MN     g )Nr   r	   r   r   )r   r   ÚlegmulxrH   )r(   rN   ÚtmpÚserrQ   s        r   Útest_legmulxÚTestArithmetic.test_legmulxH   s˜   € Ü”S—[’[ ! Ó%¨ sÔ+Ü”S—[’[ ! Ó%¨¨1 vÔ.Ü�q˜!–ˆAØ�a‘%˜!‘)ˆCØ�#˜‘'˜Q˜C‘-ˆCØ�#˜˜Q™‘- 1¡7¨A°°A±¸©}Ð"=Ñ=ˆCÜœŸš SÓ)¨3Ö/ò	 r!   c                 óÊ  • [        S5       HÔ  nS/U-  S/-   n[        R                  " U R                  U5      n[        S5       H—  nSU SU 3nS/U-  S/-   n[        R                  " U R                  U5      n[        R                  " X&5      n[        R                  " U R                  U5      n	[        [        U5      X-   S-   :H  U5        [        X“U-  US9  M™     MÖ     g )Nr   r   r	   rD   rE   rF   )rH   r   Úlegvalr   Úlegmulr   Úlenr   )
r(   rN   Úpol1Úval1rO   rP   Úpol2Úval2Úpol3Úval3s
             r   Útest_legmulÚTestArithmetic.test_legmulQ   sÃ   € ä�q–ˆAØ�3˜‘7˜a˜S‘=ˆDÜ—:’:˜dŸf™f dÓ+ˆDÜ˜1–X�Ø˜a˜S  Q CÐ(�Ø�s˜Q‘w ! ‘}�Ü—z’z $§&¡&¨$Ó/�Ü—z’z $Ó-�Ü—z’z $§&¡&¨$Ó/�Üœ˜D›	 Q¡U¨Q¡YÑ.°Ô4Ü# D°©+¸sÔCó ò r!   c                 óp  • [        S5       H§  n[        S5       H•  nSU SU 3nS/U-  S/-   nS/U-  S/-   n[        R                  " XE5      n[        R                  " Xd5      u  px[        R                  " [        R                  " Xt5      U5      n	[        [        U	5      [        U5      US9  M—     M©     g )Nr   rD   rE   r   r	   rF   )rH   r   rL   Úlegdivrb   r   r    )
r(   rN   rO   rP   ÚciÚcjrQ   ÚquoÚremrR   s
             r   Útest_legdivÚTestArithmetic.test_legdiv_   s�   € Ü�q–ˆAÜ˜1–X�Ø˜a˜S  Q CÐ(�Ø�S˜1‘W ˜s‘]�Ø�S˜1‘W ˜s‘]�Ü—j’j Ó(�ÜŸ:š: cÓ.‘�Ü—j’j¤§¢¨CÓ!4°cÓ:�ÜœT #›Y¬¨S«	¸3Ô?ó ò r!   c           	      ó\  • [        S5       H�  n[        S5       H‹  nSU SU 3n[        R                  " US-   5      n[        [        R
                  U/U-  [        R                  " S/5      5      n[        R                  " XB5      n[        [        U5      [        U5      US9  M�     MŸ     g )Nr   rD   rE   r	   rF   )
rH   rI   Úaranger   r   rb   ÚarrayÚlegpowr   r    )r(   rN   rO   rP   ÚcrQ   rR   s          r   Útest_legpowÚTestArithmetic.test_legpowj   s†   € Ü�q–ˆAÜ˜1–X�Ø˜a˜S  Q CÐ(�Ü—I’I˜a !™eÓ$�ÜœSŸZ™Z¨!¨¨q©´"·(²(¸A¸3³-Ó@�Ü—j’j Ó&�ÜœT #›Y¬¨S«	¸3Ô?ó ò r!   r8   N)r9   r:   r;   r<   rI   Úlinspacer   rS   rX   r^   rj   rr   ry   r=   r8   r!   r   r?   r?   1   s7   † Ø
�Š�B˜˜3Ó€Aò@ò@ò0òDò	@õ@r!   r?   c                   ó  • \ rS rSr\R
                  " / SQ5      r\R                  " S\\5      r\R                  " S\\\5      r	\R                  R                  S5      S-  S-
  r\" \/ SQ5      rS	 rS
 rS rS rS rSrg)ÚTestEvaluationét   )ç       @r   r   úi,j->ijú
i,j,k->ijk©r   r   r   r	   )ç      ð?r   g      @c                 óÂ  • [        [        R                  " / S/5      R                  S5        [        R
                  " SS5      n[         Vs/ s H  n[        X5      PM     nn[        S5       H5  nSU 3nX4   n[        R                  " US/U-  S/-   5      n[        XvUS9  M7     [        S5       H¥  nS/U-  n[        R                  " U5      n[        [        R                  " US/5      R                  U5        [        [        R                  " USS/5      R                  U5        [        [        R                  " U/ S	Q5      R                  U5        M§     g s  snf )
Nr	   r   r
   é
   rD   rF   r   r   )r	   r   r   )r   r   ra   ÚsizerI   r{   ÚLlistr   rH   r   rJ   Úshape)	r(   r   rx   ÚyrN   rP   rQ   rR   Údimss	            r   Útest_legvalÚTestEvaluation.test_legval~   s  € ä”S—Z’Z  Q CÓ(×-Ñ-¨qÔ1ô �KŠK˜˜AÓˆÝ$)Ó*¢E˜qŒW�QŽ]¡EˆÐ*Ü�r–ˆAØ˜!˜�+ˆCØ‘$ˆCÜ—*’*˜Q   a¡¨1¨#¡Ó.ˆCÜ °#Ô6ñ	 ô �q–ˆAØ�3˜‘7ˆDÜ—’˜“ˆAÜœŸš A¨ sÓ+×1Ñ1°4Ô8ÜœŸš A¨¨1 vÓ.×4Ñ4°dÔ;ÜœŸš A¢yÓ1×7Ñ7¸Ö>ò ùò +s   ÁEc                 ó˜  • U R                   u  pnU R                  u  pEn[        [        [        R
                  XS S U R                  5        XE-  n[        R
                  " XU R                  5      n[        X‡5        [        R                  " S5      n	[        R
                  " X™U R                  5      n[        UR                  S:H  5        g ©Nr   ©r   r   )r   r‰   r   Ú
ValueErrorr   Úlegval2dÚc2dr   rI   Úonesr   rˆ   ©
r(   Úx1Úx2Úx3Úy1Úy2Úy3rQ   rR   Úzs
             r   Útest_legval2dÚTestEvaluation.test_legval2d“   s“   € Ø—V‘V‰
ˆ�Ø—V‘V‰
ˆ�ô 	”j¤#§,¡,°°r¸°F¸D¿H¹HÔEð ‰gˆÜ�lŠl˜2 4§8¡8Ó,ˆÜ˜CÔ%ô �GŠG�F‹OˆÜ�lŠl˜1 §¡Ó*ˆÜ�—	‘	˜VÑ#Õ$r!   c           	      ó   • U R                   u  pnU R                  u  pEn[        [        [        R
                  XUS S U R                  5        XE-  U-  n[        R
                  " XX0R                  5      n[        X‡5        [        R                  " S5      n	[        R
                  " X™X�R                  5      n[        UR                  S:H  5        g rŽ   )r   r‰   r   r�   r   Úlegval3dÚc3dr   rI   r“   r   rˆ   r”   s
             r   Útest_legval3dÚTestEvaluation.test_legval3d¤   s™   € Ø—V‘V‰
ˆ�Ø—V‘V‰
ˆ�ô 	”j¤#§,¡,°¸¸2¸A¸ÀÇÁÔIð ‰g˜‰lˆÜ�lŠl˜2 2§x¡xÓ0ˆÜ˜CÔ%ô �GŠG�F‹OˆÜ�lŠl˜1 §H¡HÓ-ˆÜ�—	‘	˜VÑ#Õ$r!   c                 ód  • U R                   u  pnU R                  u  pEn[        R                  " SXE5      n[        R
                  " XU R                  5      n[        X‡5        [        R                  " S5      n	[        R
                  " X™U R                  5      n[        UR                  S:H  5        g )Nr€   r�   )r   r   r   r   )r   r‰   rI   Úeinsumr   Ú	leggrid2dr’   r   r“   r   rˆ   r”   s
             r   Útest_leggrid2dÚTestEvaluation.test_leggrid2dµ   s~   € Ø—V‘V‰
ˆ�Ø—V‘V‰
ˆ�ô �iŠi˜	 2Ó*ˆÜ�mŠm˜B D§H¡HÓ-ˆÜ˜CÔ%ô �GŠG�F‹OˆÜ�mŠm˜A $§(¡(Ó+ˆÜ�—	‘	˜ZÑ'Õ(r!   c                 óf  • U R                   u  pnU R                  u  pEn[        R                  " SXEU5      n[        R
                  " XX0R                  5      n[        X‡5        [        R                  " S5      n	[        R
                  " X™X�R                  5      n[        UR                  S:H  5        g )Nr�   r�   )r   r   r   r   r   r   )r   r‰   rI   r¤   r   Ú	leggrid3dr    r   r“   r   rˆ   r”   s
             r   Útest_leggrid3dÚTestEvaluation.test_leggrid3dÃ   s€   € Ø—V‘V‰
ˆ�Ø—V‘V‰
ˆ�ô �iŠi˜ b¨bÓ1ˆÜ�mŠm˜B B¯©Ó1ˆÜ˜CÔ%ô �GŠG�F‹OˆÜ�mŠm˜A !§X¡XÓ.ˆÜ�—	‘	˜ZÑ'Õ(r!   r8   N)r9   r:   r;   r<   rI   rv   Úc1dr¤   r’   r    Úrandomr   r   r‰   r‹   rœ   r¡   r¦   rª   r=   r8   r!   r   r}   r}   t   s{   † à
�(Š(’<Ó
 €CØ
�)Š)�I˜s CÓ
(€CØ
�)Š)�L # s¨CÓ
0€Cð 	�	‰	×Ñ˜Ó  1Ñ$ qÑ(€AÙ�’<Ó €Aò?ò*%ò"%ò")õ)r!   r}   c                   ó&   • \ rS rSrS rS rS rSrg)ÚTestIntegraléÒ   c                 ó2
  • [        [        [        R                  S/S5        [        [        [        R                  S/S5        [        [        [        R                  S/SSS/5        [        [        [        R                  S/S/S9  [        [        [        R                  S/S/S9  [        [        [        R                  S/SS9  [        SS	5       H4  nS/US-
  -  S/-   n[        R                  " S/XS
9n[        USS/5        M6     [        S	5       H„  nUS-   nS/U-  S/-   nU/S/U-  -   SU-  /-   n[        R                  " U5      n[        R                  " USU/S
9n[        R                  " U5      n[        [        U5      [        U5      5        M†     [        S	5       Ha  nUS-   nS/U-  S/-   n[        R                  " U5      n[        R                  " USU/SS9n[        [        R                  " SU5      U5        Mc     [        S	5       H…  nUS-   nS/U-  S/-   nU/S/U-  -   SU-  /-   n[        R                  " U5      n[        R                  " USU/SS9n[        R                  " U5      n[        [        U5      [        U5      5        M‡     [        S	5       H~  n[        SS	5       Hk  n	S/U-  S/-   nUS S  n[        U	5       H  n[        R                  " USS9nM     [        R                  " XYS9n[        [        U5      [        U5      5        Mm     M€     [        S	5       H“  n[        SS	5       H€  n	S/U-  S/-   nUS S  n[        U	5       H  n[        R                  " USU/S
9nM     [        R                  " XY[        [        U	5      5      S
9n[        [        U5      [        U5      5        M‚     M•     [        S	5       H•  n[        SS	5       H‚  n	S/U-  S/-   nUS S  n[        U	5       H  n[        R                  " USU/SS9nM     [        R                  " XY[        [        U	5      5      SS9n[        [        U5      [        U5      5        M„     M—     [        S	5       H•  n[        SS	5       H‚  n	S/U-  S/-   nUS S  n[        U	5       H  n[        R                  " USU/SS9nM     [        R                  " XY[        [        U	5      5      SS9n[        [        U5      [        U5      5        M„     M—     g )Nr   ç      à?r
   r	   )Úlbnd)Úscl©Úaxisr   r   )ÚmÚk)r·   r¸   r³   )r·   r¸   r´   ©r·   )r   Ú	TypeErrorr   Úlegintr�   rH   r   Úpoly2legÚleg2polyr    ra   Úlist)
r(   rN   r¸   rR   r´   ÚpolrQ   Úlegpolr»   rO   s
             r   Útest_legintÚTestIntegral.test_legintÔ   sS  € ä”i¤§¡¨a¨S°"Ô5Ü”j¤#§*¡*¨q¨c°2Ô6Ü”j¤#§*¡*¨q¨c°1°q¸!°fÔ=Ü”j¤#§*¡*¨q¨c¸¸Ò<Ü”j¤#§*¡*¨q¨c¸°sÒ;Ü”i¤§¡¨a¨S°rÒ:ô �q˜!–ˆAØ��q˜1‘u‘  Ñ#ˆAÜ—*’*˜a˜S AÑ+ˆCÜ  a¨ VÖ,ñ ô �q–ˆAØ�a‘%ˆCØ�#˜‘'˜Q˜C‘-ˆCØ�#˜˜˜a™‘- 1 s¡7 )Ñ+ˆCÜ—\’\ #Ó&ˆFÜ—Z’Z ¨!°¨sÑ3ˆFÜ—,’,˜vÓ&ˆCÜ¤ S£	¬4°«9Ö5ñ ô �q–ˆAØ�a‘%ˆCØ�#˜‘'˜Q˜C‘-ˆCÜ—\’\ #Ó&ˆFÜ—Z’Z ¨!°¨s¸Ñ<ˆFÜ¤§
¢
¨2¨vÓ 6¸Ö:ñ ô �q–ˆAØ�a‘%ˆCØ�#˜‘'˜Q˜C‘-ˆCØ�#˜˜˜a™‘- 1 s¡7 )Ñ+ˆCÜ—\’\ #Ó&ˆFÜ—Z’Z ¨!°¨s¸Ñ:ˆFÜ—,’,˜vÓ&ˆCÜ¤ S£	¬4°«9Ö5ñ ô �q–ˆAÜ˜1˜a–[�Ø�c˜A‘g  ‘m�Ø™!�f�Ü˜qž�AÜŸ*š* S¨AÑ.’Cñ "ä—j’j Ñ*�Ü#¤D¨£I¬t°C«yÖ9ó !ñ ô �q–ˆAÜ˜1˜a–[�Ø�c˜A‘g  ‘m�Ø™!�f�Ü˜qž�AÜŸ*š* S¨A°!°Ñ5’Cñ "ä—j’j ¬T´%¸³(«^Ñ<�Ü#¤D¨£I¬t°C«yÖ9ó !ñ ô �q–ˆAÜ˜1˜a–[�Ø�c˜A‘g  ‘m�Ø™!�f�Ü˜qž�AÜŸ*š* S¨A°!°¸2Ñ>’Cñ "ä—j’j ¬T´%¸³(«^À"ÑE�Ü#¤D¨£I¬t°C«yÖ9ó !ñ ô �q–ˆAÜ˜1˜a–[�Ø�c˜A‘g  ‘m�Ø™!�f�Ü˜qž�AÜŸ*š* S¨A°!°¸!Ñ<’Cñ "ä—j’j ¬T´%¸³(«^ÀÑC�Ü#¤D¨£I¬t°C«yÖ9ó !ò r!   c           
      óª  • [         R                  R                  S5      n[         R                  " UR                   Vs/ s H  n[        R
                  " U5      PM     sn5      R                  n[        R
                  " USS9n[        XC5        [         R                  " U Vs/ s H  n[        R
                  " U5      PM     sn5      n[        R
                  " USS9n[        XC5        [         R                  " U Vs/ s H  n[        R
                  " USS9PM     sn5      n[        R
                  " USSS9n[        XC5        g s  snf s  snf s  snf )N©r   é   r   rµ   r	   r   )r¸   )r¸   r¶   )rI   r­   ÚvstackÚTr   r»   r   ©r(   r’   rx   rQ   rR   s        r   Útest_legint_axisÚTestIntegral.test_legint_axis'  së   € ä�i‰i×Ñ˜vÓ&ˆä�iŠi°·²Ó6²¨1œŸš Až±Ñ6Ó7×9Ñ9ˆÜ�jŠj˜ 1Ñ%ˆÜ˜CÔ%ä�iŠi±Ó4²¨1œŸš Až±Ñ4Ó5ˆÜ�jŠj˜ 1Ñ%ˆÜ˜CÔ%ä�iŠi±SÓ9²S°œŸš A¨Ô+±SÑ9Ó:ˆÜ�jŠj˜ ¨Ñ*ˆÜ˜CÕ%ùò 7ùò 5ùò :s   ¾ EÂ# EÃ>Ec                 óF   • [        [        R                  " SS5      S5        g )N©r	   r   r   r   )r   r   r»   r'   s    r   Útest_legint_zerointordÚ#TestIntegral.test_legint_zerointord7  s   € Ü”S—Z’Z 	¨1Ó-¨yÕ9r!   r8   N)r9   r:   r;   r<   rÁ   rÉ   rÍ   r=   r8   r!   r   r¯   r¯   Ò   s   † òQ:òf&õ :r!   r¯   c                   ó&   • \ rS rSrS rS rS rSrg)ÚTestDerivativer   c           
      óú  • [        [        [        R                  S/S5        [        [        [        R                  S/S5        [        S5       H@  nS/U-  S/-   n[        R                  " USS9n[        [        U5      [        U5      5        MB     [        S5       He  n[        SS5       HR  nS/U-  S/-   n[        R                  " [        R                  " X$S9US9n[        [        U5      [        U5      5        MT     Mg     [        S5       Hg  n[        SS5       HT  nS/U-  S/-   n[        R                  " [        R                  " X$SS9USS9n[        [        U5      [        U5      5        MV     Mi     g )	Nr   r²   r
   r   r	   r¹   r   )r·   r´   )
r   rº   r   Úlegderr�   rH   r   r    r»   r   )r(   rN   rQ   rR   rO   s        r   Útest_legderÚTestDerivative.test_legder=  s)  € ä”i¤§¡¨a¨S°"Ô5Ü”j¤#§*¡*¨q¨c°2Ô6ô �q–ˆAØ�#˜‘'˜Q˜C‘-ˆCÜ—*’*˜S AÑ&ˆCÜœ˜c›¤D¨£IÖ.ñ ô �q–ˆAÜ˜1˜a–[�Ø�c˜A‘g  ‘m�Ü—j’j¤§¢¨CÑ!5¸Ñ;�Ü#¤D¨£I¬t°C«yÖ9ó !ñ ô �q–ˆAÜ˜1˜a–[�Ø�c˜A‘g  ‘m�Ü—j’j¤§¢¨C¸!Ñ!<ÀÀrÑJ�Ü#¤D¨£I¬t°C«yÖ9ó !ò r!   c                 óê  • [         R                  R                  S5      n[         R                  " UR                   Vs/ s H  n[        R
                  " U5      PM     sn5      R                  n[        R
                  " USS9n[        XC5        [         R                  " U Vs/ s H  n[        R
                  " U5      PM     sn5      n[        R
                  " USS9n[        XC5        g s  snf s  snf )NrÄ   r   rµ   r	   )rI   r­   rÆ   rÇ   r   rÒ   r   rÈ   s        r   Útest_legder_axisÚTestDerivative.test_legder_axisV  s¤   € ä�i‰i×Ñ˜vÓ&ˆä�iŠi°·²Ó6²¨1œŸš Až±Ñ6Ó7×9Ñ9ˆÜ�jŠj˜ 1Ñ%ˆÜ˜CÔ%ä�iŠi±Ó4²¨1œŸš Až±Ñ4Ó5ˆÜ�jŠj˜ 1Ñ%ˆÜ˜CÕ%ùò 7ùò 5s   ¾ C+Â# C0c                 óL   • Sn[        [        R                  " US5      S/5        g )N)r	   r   r   rÅ   rÅ   r   )r   r   rÒ   )r(   rx   s     r   Ú test_legder_orderhigherthancoeffÚ/TestDerivative.test_legder_orderhigherthancoeffb  s   € ØˆÜ”S—Z’Z  1Ó%¨ sÕ+r!   r8   N)r9   r:   r;   r<   rÓ   rÖ   rÙ   r=   r8   r!   r   rÐ   rÐ   ;  s   † ò:ò2
&õ,r!   rÐ   c                   ón   • \ rS rSr\R
                  R                  S5      S-  S-
  rS rS rS r	S r
S	rg
)Ú
TestVanderif  r‚   r   r	   c                 ó.  • [         R                  " S5      n[        R                  " US5      n[	        UR
                  S:H  5        [        S5       H2  nS/U-  S/-   n[        USU4   [        R                  " X5      5        M4     [         R                  " SS/SS/SS	//5      n[        R                  " US5      n[	        UR
                  S
:H  5        [        S5       H2  nS/U-  S/-   n[        USU4   [        R                  " X5      5        M4     g )Nr   rÄ   rÅ   r   r	   .r   r   é   )r   r   rÅ   )
rI   ru   r   Ú	legvanderr   rˆ   rH   r   ra   rv   )r(   r   ÚvrN   Úcoefs        r   Útest_legvanderÚTestVander.test_legvanderj  sè   € ä�IŠI�a‹LˆÜ�MŠM˜!˜QÓˆÜ�—‘˜6Ñ!Ô"Ü�q–ˆAØ�3˜‘7˜a˜S‘=ˆDÜ  # q &¡	¬3¯:ª:°aÓ+>Ö?ñ ô
 �HŠH�q˜!�f˜q !˜f q¨! fÐ-Ó.ˆÜ�MŠM˜!˜QÓˆÜ�—‘˜9Ñ$Ô%Ü�q–ˆAØ�3˜‘7˜a˜S‘=ˆDÜ  # q &¡	¬3¯:ª:°aÓ+>Ö?ò r!   c                 ó~  • U R                   u  pn[        R                  R                  S5      n[        R                  " XSS/5      n[        R
                  " XU5      n[        R                  " XTR                  5      n[        Xv5        [        R                  " U/U/SS/5      n[        UR                  S:H  5        g )Nr�   r	   r   )r	   r   rÞ   )r   rI   r­   r   Úlegvander2dr‘   ÚdotÚflatr   r   rˆ   ©r(   r•   r–   r—   rx   ÚvanrQ   rR   s           r   Útest_legvander2dÚTestVander.test_legvander2d{  sŽ   € à—V‘V‰
ˆ�Ü�I‰I×Ñ˜VÓ$ˆÜ�oŠo˜b q¨! fÓ-ˆÜ�lŠl˜2 1Ó%ˆÜ�fŠf�SŸ&™&Ó!ˆÜ˜CÔ%ô �oŠo˜r˜d R D¨1¨a¨&Ó1ˆÜ�—	‘	˜YÑ&Õ'r!   c                 ó„  • U R                   u  pn[        R                  R                  S5      n[        R                  " XU/ SQ5      n[        R
                  " XX45      n[        R                  " XTR                  5      n[        Xv5        [        R                  " U/U/U// SQ5      n[        UR                  S:H  5        g )N)r   r   rÅ   rÌ   )r	   r   é   )r   rI   r­   r   Úlegvander3drŸ   ræ   rç   r   r   rˆ   rè   s           r   Útest_legvander3dÚTestVander.test_legvander3dˆ  sŒ   € à—V‘V‰
ˆ�Ü�I‰I×Ñ˜YÓ'ˆÜ�oŠo˜b bª)Ó4ˆÜ�lŠl˜2 2Ó)ˆÜ�fŠf�SŸ&™&Ó!ˆÜ˜CÔ%ô �oŠo˜r˜d R D¨2¨$²	Ó:ˆÜ�—	‘	˜ZÑ'Õ(r!   c                 óD   • [        [        [        R                  SS5        g )NrÌ   r
   )r   r�   r   rß   r'   s    r   Útest_legvander_negdegÚ TestVander.test_legvander_negdeg•  s   € Ü”j¤#§-¡-°¸BÕ?r!   r8   N)r9   r:   r;   r<   rI   r­   r   râ   rê   rï   rò   r=   r8   r!   r   rÜ   rÜ   f  s6   † à
�	‰	×Ñ˜Ó  1Ñ$ qÑ(€Aò@ò"(ò)õ@r!   rÜ   c                   ó   • \ rS rSrS rSrg)ÚTestFittingi™  c           	      ó:  • S nS n[        [        [        R                  S/S/S5        [        [        [        R                  S//S/S5        [        [        [        R                  / S/S5        [        [        [        R                  S/S///S5        [        [        [        R                  SS/S/S5        [        [        [        R                  S/SS/S5        [        [        [        R                  S/S/SS//S9  [        [        [        R                  S/S/SSS/S9  [        [        [        R                  S/S/S/5        [        [        [        R                  S/S// SQ5        [        [        [        R                  S/S// 5        [
        R                  " SS5      nU" U5      n[        R                  " X4S	5      n[        [        U5      S
5        [        [        R                  " X55      U5        [        R                  " X4/ SQ5      n[        [        U5      S
5        [        [        R                  " X55      U5        [        R                  " X4S
5      n[        [        U5      S5        [        [        R                  " X65      U5        [        R                  " X4/ SQ5      n[        [        U5      S5        [        [        R                  " X65      U5        [        R                  " X4/ SQ5      n[        [        U5      S5        [        [        R                  " X65      U5        [        R                  " U[
        R                  " XD/5      R                  S	5      n[        U[
        R                  " XU/5      R                  5        [        R                  " U[
        R                  " XD/5      R                  / SQ5      n[        U[
        R                  " XU/5      R                  5        [
        R                  " U5      nUR                  5       n	SUSS S2'   SUSS S2'   [        R                  " X9S	US9n
[        X¥5        [        R                  " X9/ SQUS9n
[        X¥5        [        R                  " U[
        R                  " X™/5      R                  S	US9n[        U[
        R                  " XU/5      R                  5        [        R                  " U[
        R                  " X™/5      R                  / SQUS9n[        U[
        R                  " XU/5      R                  5        / SQn[        [        R                  " X3S5      SS/5        [        [        R                  " X3SS/5      SS/5        [
        R                  " SS5      nU" U5      n[        R                  " X4S
5      n[        [        R                  " X<5      U5        [        R                  " X4/ SQ5      n[        [        R                  " X=5      U5        [        XÍ5        g )Nc                 ó   • X S-
  -  U S-
  -  $ )Nr	   r   r8   r   s    r   ÚfÚ"TestFitting.test_legfit.<locals>.fœ  s   € Ø˜A™‘; ! a¡%Ñ(Ð(r!   c                 ó   • U S-  U S-  -   S-   $ )NrÅ   r   r	   r8   r   s    r   Úf2Ú#TestFitting.test_legfit.<locals>.f2Ÿ  s   € Ø�a‘4˜!˜Q™$‘; ‘?Ð"r!   r	   r
   r   r   )Úw)r   r
   rÞ   r   rÅ   )r   r	   r   r   r   )r   r	   r   r   rÅ   )r   r   rÅ   r	   r   )r	   y              ð?r
   y       €      ð¿)r   r   rÅ   )r   r�   r   Úlegfitrº   rI   r{   r   rc   r   ra   rv   rÇ   Ú
zeros_likeÚcopy)r(   rø   rû   r   r‰   Úcoef3Úcoef4Úcoef2drý   ÚywÚwcoef3Úwcoef2dÚcoef1Úcoef2s                 r   Útest_legfitÚTestFitting.test_legfit›  sG  € ò	)ò	#ô 	”j¤#§*¡*¨q¨c°A°3¸Ô;Ü”i¤§¡¨q¨c¨U°Q°C¸Ô;Ü”i¤§¡¨R°!°°aÔ8Ü”i¤§¡¨a¨S°Q°C°5°'¸1Ô=Ü”i¤§¡¨a°¨V°a°S¸!Ô<Ü”i¤§¡¨a¨S°1°a°&¸!Ô<Ü”i¤§¡¨a¨S°1°#°q¸a¸S¸EÒBÜ”i¤§¡¨a¨S°1°#°q¸QÀ¸FÒCÜ”j¤#§*¡*¨q¨c°A°3¸¸Ô>Ü”j¤#§*¡*¨q¨c°A°3º
ÔCÜ”i¤§¡¨a¨S°1°#°rÔ:ô �KŠK˜˜1ÓˆÙˆa‹Dˆä—
’
˜1 Ó#ˆÜ”S˜“Z Ô#ÜœCŸJšJ qÓ0°!Ô4Ü—
’
˜1¢Ó.ˆÜ”S˜“Z Ô#ÜœCŸJšJ qÓ0°!Ô4ä—
’
˜1 Ó#ˆÜ”S˜“Z Ô#ÜœCŸJšJ qÓ0°!Ô4Ü—
’
˜1¢Ó1ˆÜ”S˜“Z Ô#ÜœCŸJšJ qÓ0°!Ô4ä—
’
˜1¢Ó1ˆÜ”S˜“Z Ô#ÜœCŸJšJ qÓ0°!Ô4ä—’˜AœrŸxšx¨¨Ó/×1Ñ1°1Ó5ˆÜ˜F¤B§H¢H¨e¨^Ó$<×$>Ñ$>Ô?Ü—’˜AœrŸxšx¨¨Ó/×1Ñ1²<Ó@ˆÜ˜F¤B§H¢H¨e¨^Ó$<×$>Ñ$>Ô?ä�MŠM˜!ÓˆØ�V‰V‹XˆØˆˆ!ˆ$ˆQˆ$‰Øˆˆ!ˆ$ˆQˆ$‰Ü—’˜A 1¨Ñ*ˆÜ˜FÔ*Ü—’˜A¢<°1Ñ5ˆÜ˜FÔ*ä—*’*˜Q¤§¢¨"¨Ó 2× 4Ñ 4°a¸1Ñ=ˆÜ˜G¤R§X¢X¨u¨nÓ%=×%?Ñ%?Ô@Ü—*’*˜Q¤§¢¨"¨Ó 2× 4Ñ 4²lÀaÑHˆÜ˜G¤R§X¢X¨u¨nÓ%=×%?Ñ%?Ô@ò ˆÜœCŸJšJ q¨QÓ/°!°Q°Ô8ÜœCŸJšJ q¨a°¨VÓ4°q¸!°fÔ=ä�KŠK˜˜AÓˆÙˆq‹EˆÜ—
’
˜1 Ó#ˆÜœCŸJšJ qÓ0°!Ô4Ü—
’
˜1¢Ó+ˆÜœCŸJšJ qÓ0°!Ô4Ü˜EÕ)r!   r8   N)r9   r:   r;   r<   r	  r=   r8   r!   r   rõ   rõ   ™  s   † õH*r!   rõ   c                   ó&   • \ rS rSrS rS rS rSrg)ÚTestCompanioniæ  c                 ó‚   • [        [        [        R                  / 5        [        [        [        R                  S/5        g r0   )r   r�   r   Úlegcompanionr'   s    r   Útest_raisesÚTestCompanion.test_raisesè  s(   € Ü”j¤#×"2Ñ"2°BÔ7Ü”j¤#×"2Ñ"2°Q°CÕ8r!   c                 ó˜   • [        SS5       H:  nS/U-  S/-   n[        [        R                  " U5      R                  X4:H  5        M<     g )Nr	   r   r   )rH   r   r   r  rˆ   )r(   rN   rá   s      r   Útest_dimensionsÚTestCompanion.test_dimensionsì  sC   € Ü�q˜!–ˆAØ�3˜‘7˜a˜S‘=ˆDÜ”C×$Ò$ TÓ*×0Ñ0°Q°FÑ:Ö;ò r!   c                 óR   • [        [        R                  " SS/5      S   S:H  5        g )Nr	   r   )r   r   ç      à¿)r   r   r  r'   s    r   Útest_linear_rootÚTestCompanion.test_linear_rootñ  s#   € Ü”× Ò  ! Q Ó(¨Ñ.°#Ñ5Õ6r!   r8   N)r9   r:   r;   r<   r  r  r  r=   r8   r!   r   r  r  æ  s   † ò9ò<õ
7r!   r  c                   ó   • \ rS rSrS rSrg)Ú	TestGaussiõ  c                 óŽ  • [         R                  " S5      u  p[         R                  " US5      n[        R                  " UR
                  U-  U5      nS[        R                  " UR                  5       5      -  nUS S 2S 4   U-  U-  n[        U[        R                  " S5      5        Sn[        UR                  5       U5        g )NrA   éc   r	   r   )r   Úleggaussrß   rI   ræ   rÇ   ÚsqrtÚdiagonalr   ÚeyeÚsum)r(   r   rý   rà   ÚvvÚvdrQ   s          r   Útest_100ÚTestGauss.test_100÷  s•   € Ü�|Š|˜CÓ ‰ˆô
 �MŠM˜!˜RÓ ˆÜ�VŠV�A—C‘C˜!‘G˜QÓˆØ”—’˜Ÿ™›Ó'Ñ'ˆØ’�4�‰[˜2Ñ Ñ"ˆÜ˜B¤§¢ s£Ô,ð ˆÜ˜AŸE™E›G SÕ)r!   r8   N)r9   r:   r;   r<   r#  r=   r8   r!   r   r  r  õ  s   † õ*r!   r  c                   óD   • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
rg)ÚTestMisci  c           	      óü  • [         R                  " / 5      n[        [        U5      S/5        [	        SS5       HÀ  n[
        R                  " [
        R                  " [
        R                  * SSU-  S-   5      SS S2   5      n[         R                  " U5      n[         R                  " X45      nSn[        [        U5      US-   :H  5        [        [         R                  " U5      S   S5        [        X5        MÂ     g )Nr	   r   r   r   r
   )r   Úlegfromrootsr   r    rH   rI   Úcosr{   Úpira   r   rc   r½   )r(   rR   rN   Úrootsr¿   rQ   s         r   Útest_legfromrootsÚTestMisc.test_legfromroots
  s¾   € Ü×Ò˜rÓ"ˆÜœD ›I¨ sÔ+Ü�q˜!–ˆAÜ—F’Fœ2Ÿ;š;¬¯© v¨q°!°a±%¸!±)Ó<¸Q¸TÀ¸TÑBÓCˆEÜ×"Ò" 5Ó)ˆCÜ—*’*˜UÓ(ˆCØˆCÜ”C˜“H  A¡Ñ%Ô&Ü¤§¢¨SÓ 1°"Ñ 5°qÔ9Ü Ö)ò r!   c                 ór  • [        [        R                  " S/5      / 5        [        [        R                  " SS/5      S/5        [        SS5       Hc  n[        R
                  " SSU5      n[        R                  " [        R                  " U5      5      n[        [        U5      [        U5      5        Me     g )Nr	   r   r  r   r
   )r   r   ÚlegrootsrH   rI   r{   r(  r    )r(   rN   rQ   rR   s       r   Útest_legrootsÚTestMisc.test_legroots  s}   € ÜœCŸLšL¨!¨Ó-¨rÔ2ÜœCŸLšL¨!¨Q¨Ó0°3°%Ô8Ü�q˜!–ˆAÜ—+’+˜b ! QÓ'ˆCÜ—,’,œs×/Ò/°Ó4Ó5ˆCÜ¤ S£	¬4°«9Ö5ò r!   c                 ó  • / SQn[        [        [        R                  US5        [	        [        R                  " U5      US S 5        [	        [        R                  " US5      US S 5        [	        [        R                  " US5      S/5        g )N)r   r
   r	   r   r
   r	   r   r   r   )r   r�   r   r   r   )r(   rá   s     r   Útest_legtrimÚTestMisc.test_legtrim  sh   € Úˆô 	”j¤#§+¡+¨t°RÔ8ô 	”S—[’[ Ó&¨¨S¨b¨	Ô2Ü”S—[’[  qÓ)¨4°°¨9Ô5Ü”S—[’[  qÓ)¨A¨3Õ/r!   c                 óJ   • [        [        R                  " SS5      SS/5        g )Nr   rÅ   ©r   r   Úlegliner'   s    r   Útest_leglineÚTestMisc.test_legline)  s   € Ü”S—[’[  AÓ&¨¨A¨Õ/r!   c                 óH   • [        [        R                  " SS5      S/5        g )Nr   r   r6  r'   s    r   Útest_legline_zerosclÚTestMisc.test_legline_zeroscl,  s   € Ü”S—[’[  AÓ&¨¨Õ,r!   c                 ó†   • [        S5       H2  n[        [        R                  " S/U-  S/-   5      [        U   5        M4     g ©Nr…   r   r	   )rH   r   r   r½   r‡   ©r(   rN   s     r   Útest_leg2polyÚTestMisc.test_leg2poly/  s3   € Ü�r–ˆAÜ¤§¢¨a¨S°1©W¸°s©]Ó ;¼UÀ1¹XÖFò r!   c                 ó†   • [        S5       H2  n[        [        R                  " [        U   5      S/U-  S/-   5        M4     g r>  )rH   r   r   r¼   r‡   r?  s     r   Útest_poly2legÚTestMisc.test_poly2leg3  s3   € Ü�r–ˆAÜ¤§¢¬U°1©XÓ 6¸¸¸a¹À1À#¹ÖFò r!   c                 óz   • [         R                  " SSS5      nSn[        R                  " U5      n[	        X25        g )Nr
   r	   é   rƒ   )rI   r{   r   Ú	legweightr   )r(   r   rQ   rR   s       r   Útest_weightÚTestMisc.test_weight7  s/   € Ü�KŠK˜˜A˜rÓ"ˆØˆÜ�mŠm˜AÓˆÜ˜CÕ%r!   r8   N)r9   r:   r;   r<   r,  r0  r3  r8  r;  r@  rC  rH  r=   r8   r!   r   r&  r&    s,   † ò
*ò6ò	0ò0ò-òGòGõ&r!   r&  )'Ú__doc__Ú	functoolsr   ÚnumpyrI   Únumpy.polynomial.legendreÚ
polynomialÚlegendrer   Únumpy.polynomial.polynomialr   Únumpy.testingr   r   r   r   rv   ÚL0ÚL1ÚL2ÚL3ÚL4ÚL5ÚL6ÚL7ÚL8ÚL9r‡   r    r#   r?   r}   r¯   rÐ   rÜ   rõ   r  r  r&  r8   r!   r   Ú<module>r\     s{  ðñõ ã ß 'Ð 'Ý /÷ó ð ‡X‚Xˆqˆcƒ]€Ø‡X‚Xˆq�!ˆfÓ€Ø‡X‚XŠjÓ˜AÑ€Ø‡X‚XŠmÓ˜qÑ €Ø‡X‚XÒ Ó! AÑ%€Ø‡X‚XÒ$Ó%¨Ñ)€Ø‡X‚XÒ+Ó,¨rÑ1€Ø‡X‚XÒ/Ó0°2Ñ5€Ø‡X‚XÒ9Ó:¸SÑ@€Ø‡X‚XÒ?Ó@À3ÑF€à	ˆR��R˜˜R  R¨¨RÐ0€ò$÷'ñ '÷@@ñ @@÷F[)ñ [)÷|f:ñ f:÷R),ñ ),÷V0@ñ 0@÷fJ*ñ J*÷Z7ñ 7÷*ñ *÷&3&ò 3&r!   