ó
    �œ‘hG  ã                   ór  • 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      S-  r\R                   " SS/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 laguerre module.

é    )ÚreduceN)Úpolyval)Úassert_Úassert_almost_equalÚassert_equalÚassert_raisesé   éÿÿÿÿ)é   éüÿÿÿr	   r   )é   iîÿÿÿé	   r
   r   )é   i ÿÿÿéH   iðÿÿÿr	   r   )éx   i¨ýÿÿiX  i8ÿÿÿé   r
   r   )éÐ  i ïÿÿi  i öÿÿiÂ  iÜÿÿÿr	   r   c                 ó,   • [         R                  " U SS9$ )Ng�íµ ÷Æ°>)Útol)ÚlagÚlagtrim©Úxs    ÚhC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\numpy/polynomial/tests/test_laguerre.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   Ú	lagdomain©Úselfs    r   Útest_lagdomainÚTestConstants.test_lagdomain!   s   € Ü”S—]‘] Q¨ FÕ+r   c                 ó:   • [        [        R                  S/5        g )Nr   )r   r   Úlagzeror"   s    r   Útest_lagzeroÚTestConstants.test_lagzero$   s   € Ü”S—[‘[ 1 #Õ&r   c                 ó:   • [        [        R                  S/5        g ©Nr	   )r   r   Úlagoner"   s    r   Útest_lagoneÚTestConstants.test_lagone'   s   € Ü”S—Z‘Z ! Õ%r   c                 ó<   • [        [        R                  SS/5        g )Nr	   r
   )r   r   Úlagxr"   s    r   Ú	test_lagxÚTestConstants.test_lagx*   s   € Ü”S—X‘X  2˜wÕ'r   © N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r$   r(   r-   r1   Ú__static_attributes__r3   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é.   éýÿÿÿé   é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 ©Né   úAt i=ú, j=r	   r   ©Úerr_msg)ÚrangeÚnpÚzerosÚmaxr   Úlagaddr   r   ©r#   ÚiÚjÚmsgÚtgtÚress         r   Útest_lagaddÚTestArithmetic.test_lagadd1   ó˜   € Ü�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 r@   )rF   rG   rH   rI   r   Úlagsubr   r   rK   s         r   Útest_lagsubÚTestArithmetic.test_lagsub;   rS   r   c                 ó<  • [        [        R                  " S/5      S/5        [        [        R                  " S/5      SS/5        [        SS5       HG  nS/U-  S/-   nS/US-
  -  U* SU-  S-   US-   * /-   n[	        [        R                  " U5      U5        MI     g )Nr   r	   r
   rA   r   )r   r   ÚlagmulxrF   r   )r#   rL   ÚserrO   s       r   Útest_lagmulxÚTestArithmetic.test_lagmulxE   s‘   € Ü”S—[’[ ! Ó%¨ sÔ+Ü”S—[’[ ! Ó%¨¨2 wÔ/Ü�q˜!–ˆAØ�#˜‘'˜Q˜C‘-ˆCØ�#˜˜Q™‘- A 2 q¨1¡u¨q¡y°A¸±E°(Ð";Ñ;ˆCÜ¤§¢¨CÓ 0°#Ö6ò 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 )NrA   r   r	   rB   rC   rD   )rF   r   Úlagvalr   Úlagmulr   Úlenr   )
r#   rL   Úpol1Úval1rM   rN   Úpol2Úval2Úpol3Úval3s
             r   Útest_lagmulÚTestArithmetic.test_lagmulM   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 )NrA   rB   rC   r   r	   rD   )rF   r   rJ   Úlagdivr_   r   r   )
r#   rL   rM   rN   ÚciÚcjrO   ÚquoÚremrP   s
             r   Útest_lagdivÚTestArithmetic.test_lagdiv[   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Ó:�Ü#¤D¨£I¬t°C«yÀ#ÔFó ò 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 )NrA   rB   rC   r	   rD   )
rF   rG   Úaranger   r   r_   ÚarrayÚlagpowr   r   )r#   rL   rM   rN   ÚcrO   rP   s          r   Útest_lagpowÚTestArithmetic.test_lagpowf   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   r3   N)r4   r5   r6   r7   rG   Úlinspacer   rQ   rV   r[   rg   ro   rv   r8   r3   r   r   r:   r:   .   s7   † Ø
�Š�B˜˜3Ó€Aò@ò@ò7òDò	Gõ@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ép   )g      "@g      ,Àg      @úi,j->ijú
i,j,k->ijk©r=   rA   r   r	   )ç      ð?g       @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
   é   rB   rD   r=   r   )r	   r   r   )r   r   r^   ÚsizerG   rx   ÚLlistr   rF   r   rH   Úshape)	r#   r   ru   ÚyrL   rN   rO   rP   Údimss	            r   Útest_lagvalÚTestEvaluation.test_lagvalz   s  € ä”S—Z’Z  Q CÓ(×-Ñ-¨qÔ1ô �KŠK˜˜AÓˆÝ$)Ó*¢E˜qŒW�QŽ]¡EˆÐ*Ü�q–ˆ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   Úlagval2dÚc2dr   rG   Úonesr   r„   ©
r#   Úx1Úx2Úx3Úy1Úy2Úy3rO   rP   Úzs
             r   Útest_lagval2dÚTestEvaluation.test_lagval2d�   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   Úlagval3dÚc3dr   rG   r�   r   r„   r�   s
             r   Útest_lagval3dÚTestEvaluation.test_lagval3d    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…   rG   Úeinsumr   Ú	laggrid2drŽ   r   r�   r   r„   r�   s
             r   Útest_laggrid2dÚTestEvaluation.test_laggrid2d±   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…   rG   r    r   Ú	laggrid3drœ   r   r�   r   r„   r�   s
             r   Útest_laggrid3dÚTestEvaluation.test_laggrid3d¿   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   r3   N)r4   r5   r6   r7   rG   rs   Úc1dr    rŽ   rœ   Úrandomr   r   r…   r‡   r˜   r�   r¢   r¦   r8   r3   r   r   rz   rz   p   s{   † à
�(Š(’>Ó
"€CØ
�)Š)�I˜s CÓ
(€CØ
�)Š)�L # s¨CÓ
0€Cð 	�	‰	×Ñ˜Ó  1Ñ$ qÑ(€AÙ�’<Ó €Aò?ò*%ò"%ò")õ)r   rz   c                   ó    • \ 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   rA   )ÚmÚk)r³   r´   r¯   )r³   r´   r°   ©r³   )r   Ú	TypeErrorr   ÚlagintrŒ   rF   r   Úpoly2lagÚlag2polyr   r^   Úlist)
r#   rL   r´   rP   r°   ÚpolrO   Úlagpolr·   rM   s
             r   Útest_lagintÚTestIntegral.test_lagintÐ   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¨ WÖ-ñ ô �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²   )rG   r©   ÚvstackÚTr   r·   r   ©r#   rŽ   ru   rO   rP   s        r   Útest_lagint_axisÚTestIntegral.test_lagint_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r3   N)r4   r5   r6   r7   r½   rÅ   r8   r3   r   r   r«   r«   Î   s   † òQ:õf&r   r«   c                   ó    • \ rS rSrS rS rSrg)ÚTestDerivativei4  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
   rA   r	   rµ   r   )r³   r°   )
r   r¶   r   ÚlagderrŒ   rF   r   r   r·   r   )r#   rL   rO   rP   rM   s        r   Útest_lagderÚTestDerivative.test_lagder6  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	   )rG   r©   rÂ   rÃ   r   rÊ   r   rÄ   s        r   Útest_lagder_axisÚTestDerivative.test_lagder_axisO  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r3   N)r4   r5   r6   r7   rË   rÎ   r8   r3   r   r   rÈ   rÈ   4  s   † ò:õ2
&r   rÈ   c                   óh   • \ rS rSr\R
                  R                  S5      S-  S-
  rS rS rS r	Sr
g	)
Ú
TestVanderi\  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   rA   r   )r=   r   rÁ   )
rG   rr   r   Ú	lagvanderr   r„   rF   r   r^   rs   )r#   r   ÚvrL   Úcoefs        r   Útest_lagvanderÚTestVander.test_lagvander`  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	   rA   r   )r   rG   r©   r   Úlagvander2dr�   ÚdotÚflatr   r   r„   ©r#   r‘   r’   r“   ru   ÚvanrO   rP   s           r   Útest_lagvander2dÚTestVander.test_lagvander2dq  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	   rA   r   )r   rG   r©   r   Úlagvander3dr›   rÚ   rÛ   r   r   r„   rÜ   s           r   Útest_lagvander3dÚTestVander.test_lagvander3d~  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   r3   N)r4   r5   r6   r7   rG   r©   r   rÖ   rÞ   râ   r8   r3   r   r   rÑ   rÑ   \  s0   † à
�	‰	×Ñ˜Ó  1Ñ$ qÑ(€Aò@ò"(õ)r   rÑ   c                   ó   • \ rS rSrS rSrg)ÚTestFittingiŒ  c           	      ód
  • 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                  " X#S5      n[        [        U5      S	5        [        [        R                  " X$5      U5        [        R                  " X#/ S
Q5      n[        [        U5      S	5        [        [        R                  " X$5      U5        [        R                  " X#S	5      n[        [        U5      S5        [        [        R                  " X%5      U5        [        R                  " X#/ SQ5      n[        [        U5      S5        [        [        R                  " X%5      U5        [        R                  " U[
        R                  " X3/5      R                  S5      n[        U[
        R                  " XD/5      R                  5        [        R                  " U[
        R                  " X3/5      R                  / S
Q5      n[        U[
        R                  " XD/5      R                  5        [
        R                  " U5      nUR                  5       nSUSS S2'   SUSS S2'   [        R                  " X(SUS9n	[        X”5        [        R                  " X(/ S
QUS9n	[        X”5        [        R                  " U[
        R                  " Xˆ/5      R                  SUS9n
[        U
[
        R                  " XD/5      R                  5        [        R                  " U[
        R                  " Xˆ/5      R                  / S
QUS9n
[        U
[
        R                  " XD/5      R                  5        / SQn[        [        R                  " X"S5      SS/5        [        [        R                  " X"SS/5      SS/5        g )Nc                 ó   • X S-
  -  U S-
  -  $ )Nr	   r   r3   r   s    r   ÚfÚ"TestFitting.test_lagfit.<locals>.f�  s   € Ø˜A™‘; ! a¡%Ñ(Ð(r   r	   r
   r   r   )Úw)r   r
   r   r=   rÁ   )r   r	   r   r=   rA   )r   r	   r   r=   rÁ   )r	   y              ð?r
   y       €      ð¿)r   rŒ   r   Úlagfitr¶   rG   rx   r   r`   r   r^   rs   rÃ   Ú
zeros_likeÚcopy)r#   rè   r   r…   Úcoef3Úcoef4Úcoef2drê   ÚywÚwcoef3Úwcoef2ds              r   Útest_lagfitÚTestFitting.test_lagfitŽ  sª  € ò	)ô 	”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ä—’˜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Ó/°!°R°Ô9ÜœCŸJšJ q¨a°¨VÓ4°q¸"°gÕ>r   r3   N)r4   r5   r6   r7   rô   r8   r3   r   r   rå   rå   Œ  s   † õ9?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 r+   )r   rŒ   r   Úlagcompanionr"   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	   rA   r   )rF   r   r   rù   r„   )r#   rL   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   g      ø?)r   r   rù   r"   s    r   Útest_linear_rootÚTestCompanion.test_linear_rootÕ  s#   € Ü”× Ò  ! Q Ó(¨Ñ.°#Ñ5Õ6r   r3   N)r4   r5   r6   r7   rú   rý   r   r8   r3   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 )Nr>   éc   r	   r   )r   ÚlaggaussrÓ   rG   rÚ   rÃ   ÚsqrtÚdiagonalr   ÚeyeÚsum)r#   r   rê   rÔ   ÚvvÚvdrO   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   r3   N)r4   r5   r6   r7   r  r8   r3   r   r   r  r  Ù  s   † õ*r   r  c                   ó>   • \ 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	   rA   r   r   r
   )r   Úlagfromrootsr   r   rF   rG   Úcosrx   Úpir^   r   r`   r¹   )r#   rP   rL   Úrootsr»   rO   s         r   Útest_lagfromrootsÚTestMisc.test_lagfromrootsî  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   rA   r=   )r   r   ÚlagrootsrF   rG   rx   r  r   )r#   rL   rO   rP   s       r   Útest_lagrootsÚTestMisc.test_lagrootsú  s}   € ÜœCŸLšL¨!¨Ó-¨rÔ2ÜœCŸLšL¨!¨Q¨Ó0°1°#Ô6Ü�q˜!–ˆAÜ—+’+˜a  AÓ&ˆ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_lagtrimÚTestMisc.test_lagtrim  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   )r   r   Úlagliner"   s    r   Útest_laglineÚTestMisc.test_lagline  s   € Ü”S—[’[  AÓ&¨¨B¨Õ0r   c                 ó†   • [        S5       H2  n[        [        R                  " S/U-  S/-   5      [        U   5        M4     g ©Nr�   r   r	   )rF   r   r   r¹   rƒ   ©r#   rL   s     r   Útest_lag2polyÚTestMisc.test_lag2poly  s3   € Ü�q–ˆ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$  )rF   r   r   r¸   rƒ   r%  s     r   Útest_poly2lagÚTestMisc.test_poly2lag  s3   € Ü�q–ˆAÜ¤§¢¬U°1©XÓ 6¸¸¸a¹À1À#¹ÖFò r   c                 ó¤   • [         R                  " SSS5      n[         R                  " U* 5      n[        R                  " U5      n[        X25        g )Nr   é
   é   )rG   rx   Úexpr   Ú	lagweightr   )r#   r   rO   rP   s       r   Útest_weightÚTestMisc.test_weight  s9   € Ü�KŠK˜˜2˜rÓ"ˆÜ�fŠf�a�R‹jˆÜ�mŠm˜AÓˆÜ˜CÕ%r   r3   N)r4   r5   r6   r7   r  r  r  r!  r&  r)  r0  r8   r3   r   r   r  r  ì  s'   † ò
*ò6ò	0ò1òGòGõ&r   r  )$Ú__doc__Ú	functoolsr   ÚnumpyrG   Únumpy.polynomial.laguerreÚ
polynomialÚlaguerrer   Únumpy.polynomial.polynomialr   Únumpy.testingr   r   r   r   rs   ÚL0ÚL1ÚL2ÚL3ÚL4ÚL5ÚL6rƒ   r   r   r:   rz   r«   rÈ   rÑ   rå   r÷   r  r  r3   r   r   Ú<module>rA     s=  ðñõ ã ß 'Ð 'Ý /÷ó ð ‡X‚Xˆqˆcƒ]�QÑ€Ø‡X‚Xˆq�"ˆgÓ˜Ñ€Ø‡X‚XŠjÓ˜AÑ€Ø‡X‚XŠoÓ Ñ"€Ø‡X‚XÒ#Ó$ rÑ)€Ø‡X‚XÒ,Ó-°Ñ3€Ø‡X‚XÒ4Ó5¸Ñ;€à	ˆR��R˜˜R Ð$€ò$÷(ñ (÷?@ñ ?@÷D[)ñ [)÷|c&ñ c&÷L%&ñ %&÷P-)ñ -)÷`;?ñ ;?÷|7ñ 7÷*ñ *÷&0&ò 0&r   