ó
    �œ‘h�L  ã            
       óÆ  • 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      r\R                   " / SQ5      r\R                   " / S	Q5      r\R                   " / S
Q5      r\R                   " / SQ5      r\R                   " / SQ5      r\R                   " / SQ5      r\R                   " / SQ5      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 hermite_e module.

é    )ÚreduceN)Úpolyval)Úassert_Úassert_almost_equalÚassert_equalÚassert_raisesé   )éÿÿÿÿr   r	   )r   éýÿÿÿr   r	   )é   r   iúÿÿÿr   r	   )r   é   r   iöÿÿÿr   r	   )éñÿÿÿr   é-   r   r   r   r	   )r   i—ÿÿÿr   éi   r   iëÿÿÿr   r	   )	r   r   i\þÿÿr   éÒ   r   iäÿÿÿr   r	   )
r   i±  r   iûÿÿr   iz  r   iÜÿÿÿr   r	   c                 ó,   • [         R                  " U SS9$ )Ng�íµ ÷Æ°>)Útol)ÚhermeÚ	hermetrim©Úxs    ÚiC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\numpy/polynomial/tests/test_hermite_e.pyÚtrimr      s   € Ü�?Š?˜1 $Ñ'Ð'ó    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   Úhermedomain©Úselfs    r   Útest_hermedomainÚTestConstants.test_hermedomain$   s   € Ü”U×&Ñ&¨¨Q¨Õ0r   c                 ó:   • [        [        R                  S/5        g )Nr   )r   r   Ú	hermezeror    s    r   Útest_hermezeroÚTestConstants.test_hermezero'   s   € Ü”U—_‘_ q cÕ*r   c                 ó:   • [        [        R                  S/5        g ©Nr	   )r   r   Úhermeoner    s    r   Útest_hermeoneÚTestConstants.test_hermeone*   s   € Ü”U—^‘^ a SÕ)r   c                 ó<   • [        [        R                  SS/5        g )Nr   r	   )r   r   Úhermexr    s    r   Útest_hermexÚTestConstants.test_hermex-   s   € Ü”U—\‘\ A q 6Õ*r   © N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r"   r&   r+   r/   Ú__static_attributes__r1   r   r   r   r   "   s   † ò1ò+ò*õ+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 ©Né   úAt i=ú, j=r	   r   ©Úerr_msg)ÚrangeÚnpÚzerosÚmaxr   Úhermeaddr   r   ©r!   ÚiÚjÚmsgÚtgtÚress         r   Útest_hermeaddÚTestArithmetic.test_hermeadd4   ó˜   € Ü�q–ˆAÜ˜1–X�Ø˜a˜S  Q CÐ(�Ü—h’hœs 1›y¨1™}Ó-�Ø“˜!‘“Ø“˜!‘“Ü—n’n a S¨1¡W°¨s¡]°Q°C¸!±G¸q¸c±MÓB�Üœ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<   )rB   rC   rD   rE   r   Úhermesubr   r   rG   s         r   Útest_hermesubÚTestArithmetic.test_hermesub>   rO   r   c                 ó&  • [        [        R                  " S/5      S/5        [        [        R                  " S/5      SS/5        [        SS5       H<  nS/U-  S/-   nS/US-
  -  USS/-   n[        [        R                  " U5      U5        M>     g )Nr   r	   r=   )r   r   Ú	hermemulxrB   )r!   rH   ÚserrK   s       r   Útest_hermemulxÚTestArithmetic.test_hermemulxH   s€   € Ü”U—_’_ a SÓ)¨A¨3Ô/Ü”U—_’_ a SÓ)¨A¨q¨6Ô2Ü�q˜!–ˆAØ�#˜‘'˜Q˜C‘-ˆCØ�#˜˜Q™‘- 1 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	   r>   r?   r@   )rB   r   Úhermevalr   Úhermemulr   Úlenr   )
r!   rH   Úpol1Úval1rI   rJ   Úpol2Úval2Úpol3Úval3s
             r   Útest_hermemulÚTestArithmetic.test_hermemulP   sÃ   € ä�q–ˆAØ�3˜‘7˜a˜S‘=ˆDÜ—>’> $§&¡&¨$Ó/ˆDÜ˜1–X�Ø˜a˜S  Q CÐ(�Ø�s˜Q‘w ! ‘}�Ü—~’~ d§f¡f¨dÓ3�Ü—~’~ dÓ1�Ü—~’~ d§f¡f¨dÓ3�Üœ˜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=   r>   r?   r   r	   r@   )rB   r   rF   Úhermedivr[   r   r   )
r!   rH   rI   rJ   ÚciÚcjrK   ÚquoÚremrL   s
             r   Útest_hermedivÚTestArithmetic.test_hermediv^   s�   € Ü�q–ˆAÜ˜1–X�Ø˜a˜S  Q CÐ(�Ø�S˜1‘W ˜s‘]�Ø�S˜1‘W ˜s‘]�Ü—n’n RÓ,�Ü Ÿ>š>¨#Ó2‘�Ü—n’n¤U§^¢^°CÓ%<¸cÓB�Üœ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=   r>   r?   r	   r@   )
rB   rC   Úaranger   r   r[   ÚarrayÚhermepowr   r   )r!   rH   rI   rJ   ÚcrK   rL   s          r   Útest_hermepowÚTestArithmetic.test_hermepowi   s†   € Ü�q–ˆAÜ˜1–X�Ø˜a˜S  Q CÐ(�Ü—I’I˜a !™eÓ$�ÜœUŸ^™^¨a¨S°1©W´b·h²hÀ¸s³mÓD�Ü—n’n QÓ*�ÜœT #›Y¬¨S«	¸3Ô?ó ò r   r1   N)r2   r3   r4   r5   rC   Úlinspacer   rM   rR   rW   rc   rk   rr   r6   r1   r   r   r8   r8   1   s7   † Ø
�Š�B˜˜3Ó€Aò@ò@ò4òDò	@õ@r   r8   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és   )g      @ç       @ç      @úi,j->ijú
i,j,k->ijk©r   r=   é   r	   )g      ð?rx   ry   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
   é
   r>   r@   r   r}   )r	   r   r   )r   r   rZ   ÚsizerC   rt   ÚHelistr   rB   r   rD   Úshape)	r!   r   rq   ÚyrH   rJ   rK   rL   Údimss	            r   Útest_hermevalÚTestEvaluation.test_hermeval}   s  € ä”U—^’^ B¨¨Ó,×1Ñ1°1Ô5ô �KŠK˜˜AÓˆÝ$*Ó+¢F˜qŒW�QŽ]¡FˆÐ+Ü�r–ˆAØ˜!˜�+ˆCØ‘$ˆCÜ—.’.  Q C¨!¡G¨q¨c¡MÓ2ˆCÜ °#Ô6ñ	 ô �q–ˆAØ�3˜‘7ˆDÜ—’˜“ˆAÜœŸš¨¨A¨3Ó/×5Ñ5°tÔ<ÜœŸš¨¨A¨q¨6Ó2×8Ñ8¸$Ô?ÜœŸš¨ª9Ó5×;Ñ;¸TÖBò ùò ,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   Ú
hermeval2dÚc2dr   rC   Úonesr   r‚   ©
r!   Úx1Úx2Úx3Úy1Úy2Úy3rK   rL   Úzs
             r   Útest_hermeval2dÚTestEvaluation.test_hermeval2d’   s™   € Ø—V‘V‰
ˆ�Ø—V‘V‰
ˆ�ô 	”j¤%×"2Ñ"2°B¸2¸A¸ÀÇÁÔIð ‰gˆÜ×Ò˜r t§x¡xÓ0ˆÜ˜CÔ%ô �GŠG�F‹OˆÜ×Ò˜q T§X¡XÓ.ˆÜ�—	‘	˜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   Ú
hermeval3dÚc3dr   rC   r�   r   r‚   rŽ   s
             r   Útest_hermeval3dÚTestEvaluation.test_hermeval3d£   sŸ   € Ø—V‘V‰
ˆ�Ø—V‘V‰
ˆ�ô 	”j¤%×"2Ñ"2°B¸B¸rÀ¸FÀDÇHÁHÔMð ‰g˜‰lˆÜ×Ò˜r r¯8©8Ó4ˆÜ˜CÔ%ô �GŠG�F‹OˆÜ×Ò˜q Q¯©Ó1ˆÜ�—	‘	˜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 )Nrz   r‰   )r}   r   r}   r   )r   rƒ   rC   Úeinsumr   Úhermegrid2drŒ   r   r�   r   r‚   rŽ   s
             r   Útest_hermegrid2dÚTestEvaluation.test_hermegrid2d´   s‚   € Ø—V‘V‰
ˆ�Ø—V‘V‰
ˆ�ô �iŠi˜	 2Ó*ˆÜ×Ò ¨¯©Ó1ˆÜ˜CÔ%ô �GŠG�F‹OˆÜ×Ò  d§h¡hÓ/ˆÜ�—	‘	˜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ƒ   rC   rž   r   Úhermegrid3drš   r   r�   r   r‚   rŽ   s
             r   Útest_hermegrid3dÚTestEvaluation.test_hermegrid3dÂ   s„   € Ø—V‘V‰
ˆ�Ø—V‘V‰
ˆ�ô �iŠi˜ b¨bÓ1ˆÜ×Ò ¨¯H©HÓ5ˆÜ˜CÔ%ô �GŠG�F‹OˆÜ×Ò  a¯©Ó2ˆÜ�—	‘	˜ZÑ'Õ(r   r1   N)r2   r3   r4   r5   rC   ro   Úc1drž   rŒ   rš   Úrandomr   r   rƒ   r…   r–   r›   r    r¤   r6   r1   r   r   rv   rv   s   s|   † à
�(Š(’<Ó
 €CØ
�)Š)�I˜s CÓ
(€CØ
�)Š)�L # s¨CÓ
0€Cð 	�	‰	×Ñ˜Ó  1Ñ$ qÑ(€AÙ�’<Ó €AòCò*%ò"%ò")õ)r   rv   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}   r=   )ÚmÚk)r±   r²   r­   )r±   r²   r®   ©r±   )r   Ú	TypeErrorr   ÚhermeintrŠ   rB   r   Ú
poly2hermeÚ
herme2polyr   rZ   Úlist)
r!   rH   r²   rL   r®   ÚpolrK   Úhermepolrµ   rI   s
             r   Útest_hermeintÚTestIntegral.test_hermeintÓ   s]  € ä”i¤§¡°!°°bÔ9Ü”j¤%§.¡.°1°#°rÔ:Ü”j¤%§.¡.°1°#°q¸1¸a¸&ÔAÜ”j¤%§.¡.°1°#¸Q¸CÒ@Ü”j¤%§.¡.°1°#¸A¸3Ò?Ü”i¤§¡°!°¸2Ò>ô �q˜!–ˆAØ��q˜1‘u‘  Ñ#ˆAÜ—.’. ! ¨Ñ/ˆCÜ  a¨ VÖ,ñ ô �q–ˆAØ�a‘%ˆCØ�#˜‘'˜Q˜C‘-ˆCØ�#˜˜˜a™‘- 1 s¡7 )Ñ+ˆCÜ×'Ò'¨Ó,ˆHÜ—~’~ h°!¸°sÑ;ˆHÜ×"Ò" 8Ó,ˆCÜ¤ S£	¬4°«9Ö5ñ ô �q–ˆAØ�a‘%ˆCØ�#˜‘'˜Q˜C‘-ˆCÜ×'Ò'¨Ó,ˆHÜ—~’~ h°!¸°sÀÑDˆHÜ¤§¢¨r°8Ó <¸aÖ@ñ ô �q–ˆAØ�a‘%ˆCØ�#˜‘'˜Q˜C‘-ˆCØ�#˜˜˜a™‘- 1 s¡7 )Ñ+ˆCÜ×'Ò'¨Ó,ˆHÜ—~’~ h°!¸°sÀÑBˆHÜ×"Ò" 8Ó,ˆCÜ¤ S£	¬4°«9Ö5ñ ô �q–ˆAÜ˜1˜a–[�Ø�c˜A‘g  ‘m�Ø™!�f�Ü˜qž�AÜŸ.š.¨°Ñ2’Cñ "ä—n’n SÑ.�Ü#¤D¨£I¬t°C«yÖ9ó !ñ ô �q–ˆAÜ˜1˜a–[�Ø�c˜A‘g  ‘m�Ø™!�f�Ü˜qž�AÜŸ.š.¨°°a°SÑ9’Cñ "ä—n’n S´´e¸A³h³Ñ@�Ü#¤D¨£I¬t°C«yÖ9ó !ñ ô �q–ˆAÜ˜1˜a–[�Ø�c˜A‘g  ‘m�Ø™!�f�Ü˜qž�AÜŸ.š.¨°°a°S¸rÑB’Cñ "ä—n’n S´´e¸A³h³ÀbÑI�Ü#¤D¨£I¬t°C«yÖ9ó !ñ ô �q–ˆAÜ˜1˜a–[�Ø�c˜A‘g  ‘m�Ø™!�f�Ü˜qž�AÜŸ.š.¨°°a°S¸aÑ@’Cñ "ä—n’n S´´e¸A³h³ÀQÑG�Ü#¤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°   )rC   r§   ÚvstackÚTr   rµ   r   ©r!   rŒ   rq   rK   rL   s        r   Útest_hermeint_axisÚTestIntegral.test_hermeint_axis&  sí   € ä�i‰i×Ñ˜vÓ&ˆä�iŠi°C·E²EÓ:²E¨qœŸš¨Ö*±EÑ:Ó;×=Ñ=ˆÜ�nŠn˜S qÑ)ˆÜ˜CÔ%ä�iŠi±CÓ8²C¨qœŸš¨Ö*±CÑ8Ó9ˆÜ�nŠn˜S qÑ)ˆÜ˜CÔ%ä�iŠi¹Ó=º°AœŸš¨¨QÔ/¹Ñ=Ó>ˆÜ�nŠn˜S A¨AÑ.ˆÜ˜CÕ%ùò ;ùò 9ùò >s   ¾ EÂ# EÃ>Er1   N)r2   r3   r4   r5   r»   rÃ   r6   r1   r   r   r©   r©   Ñ   s   † òQ:õf&r   r©   c                   ó    • \ rS rSrS rS rSrg)ÚTestDerivativei7  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   ÚhermederrŠ   rB   r   r   rµ   r   )r!   rH   rK   rL   rI   s        r   Útest_hermederÚTestDerivative.test_hermeder9  s-  € ä”i¤§¡°!°°bÔ9Ü”j¤%§.¡.°1°#°rÔ:ô �q–ˆAØ�#˜‘'˜Q˜C‘-ˆCÜ—.’. ¨Ñ*ˆCÜœ˜c›¤D¨£IÖ.ñ ô �q–ˆAÜ˜1˜a–[�Ø�c˜A‘g  ‘m�Ü—n’n¤U§^¢^°CÑ%=ÀÑC�Ü#¤D¨£I¬t°C«yÖ9ó !ñ ô �q–ˆAÜ˜1˜a–[�Ø�c˜A‘g  ‘m�Ü—n’nÜ—N’N 3°Ñ3°q¸bñB�ä#¤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	   )rC   r§   rÀ   rÁ   r   rÈ   r   rÂ   s        r   Útest_hermeder_axisÚ!TestDerivative.test_hermeder_axisS  s¦   € ä�i‰i×Ñ˜vÓ&ˆä�iŠi°C·E²EÓ:²E¨qœŸš¨Ö*±EÑ:Ó;×=Ñ=ˆÜ�nŠn˜S qÑ)ˆÜ˜CÔ%ä�iŠi±CÓ8²C¨qœŸš¨Ö*±CÑ8Ó9ˆÜ�nŠn˜S qÑ)ˆÜ˜CÕ%ùò ;ùò 9s   ¾ C+Â# C0r1   N)r2   r3   r4   r5   rÉ   rÌ   r6   r1   r   r   rÆ   rÆ   7  s   † ò:õ4
&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}   r=   é   )r   r}   r¿   )
rC   rn   r   Úhermevanderr   r‚   rB   r   rZ   ro   )r!   r   ÚvrH   Úcoefs        r   Útest_hermevanderÚTestVander.test_hermevanderd  sì   € ä�IŠI�a‹LˆÜ×Ò˜a Ó#ˆÜ�—‘˜6Ñ!Ô"Ü�q–ˆAØ�3˜‘7˜a˜S‘=ˆDÜ  # q &¡	¬5¯>ª>¸!Ó+BÖCñ ô
 �HŠH�q˜!�f˜q !˜f q¨! fÐ-Ó.ˆÜ×Ò˜a Ó#ˆÜ�—‘˜9Ñ$Ô%Ü�q–ˆAØ�3˜‘7˜a˜S‘=ˆDÜ  # q &¡	¬5¯>ª>¸!Ó+BÖCò 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   rC   r§   r   Úhermevander2dr‹   ÚdotÚflatr   r   r‚   ©r!   r�   r�   r‘   rq   ÚvanrK   rL   s           r   Útest_hermevander2dÚTestVander.test_hermevander2du  s”   € à—V‘V‰
ˆ�Ü�I‰I×Ñ˜VÓ$ˆÜ×!Ò! "¨1¨a¨&Ó1ˆÜ×Ò˜r qÓ)ˆÜ�fŠf�SŸ&™&Ó!ˆÜ˜CÔ%ô ×!Ò! 2 $¨¨¨q°!¨fÓ5ˆÜ�—	‘	˜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	   r=   é   )r   rC   r§   r   Úhermevander3dr™   rÙ   rÚ   r   r   r‚   rÛ   s           r   Útest_hermevander3dÚTestVander.test_hermevander3d‚  s’   € à—V‘V‰
ˆ�Ü�I‰I×Ñ˜YÓ'ˆÜ×!Ò! "¨"ªiÓ8ˆÜ×Ò˜r rÓ-ˆÜ�fŠf�SŸ&™&Ó!ˆÜ˜CÔ%ô ×!Ò! 2 $¨¨¨r¨d²IÓ>ˆÜ�—	‘	˜ZÑ'Õ(r   r1   N)r2   r3   r4   r5   rC   r§   r   rÕ   rÝ   râ   r6   r1   r   r   rÏ   rÏ   `  s0   † à
�	‰	×Ñ˜Ó  1Ñ$ qÑ(€AòDò"(õ)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}   r1   r   s    r   ÚfÚ$TestFitting.test_hermefit.<locals>.f“  s   € Ø˜A™‘; ! a¡%Ñ(Ð(r   c                 ó   • U S-  U S-  -   S-   $ )Nr¿   r}   r	   r1   r   s    r   Úf2Ú%TestFitting.test_hermefit.<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   Úhermefitr´   rC   rt   r   r\   r   rZ   ro   rÁ   Ú
zeros_likeÚcopy)r!   rè   rë   r   rƒ   Úcoef3Úcoef4Úcoef2drí   ÚywÚwcoef3Úwcoef2dÚcoef1Úcoef2s                 r   Útest_hermefitÚTestFitting.test_hermefit’  sG  € ò	)ò	#ô 	”j¤%§.¡.°1°#¸°s¸BÔ?Ü”i¤§¡°1°#°¸¸¸QÔ?Ü”i¤§¡°°a°S¸!Ô<Ü”i¤§¡°!°¸¸°u°g¸qÔAÜ”i¤§¡°!°Q°¸!¸¸aÔ@Ü”i¤§¡°!°°q¸!°f¸aÔ@Ü”i¤§¡°!°°q°c¸1À!ÀÀÒFÜ”i¤§¡°!°°q°c¸1ÀÀAÀÒGÜ”j¤%§.¡.°1°#¸°s¸R¸EÔBÜ”j¤%§.¡.°1°#¸°sºJÔGÜ”i¤§¡°!°°q°c¸2Ô>ô �KŠK˜˜1ÓˆÙˆa‹Dˆä—’˜q QÓ'ˆÜ”S˜“Z Ô#ÜœEŸNšN¨1Ó4°aÔ8Ü—’˜q¢\Ó2ˆÜ”S˜“Z Ô#ÜœEŸNšN¨1Ó4°aÔ8ä—’˜q QÓ'ˆÜ”S˜“Z Ô#ÜœEŸNšN¨1Ó4°aÔ8Ü—’˜q¢_Ó5ˆÜ”S˜“Z Ô#ÜœEŸNšN¨1Ó4°aÔ8ä—’˜q¢_Ó5ˆÜ”S˜“Z Ô#ÜœEŸNšN¨1Ó4°aÔ8ä—’ ¤2§8¢8¨Q¨FÓ#3×#5Ñ#5°qÓ9ˆÜ˜F¤B§H¢H¨e¨^Ó$<×$>Ñ$>Ô?Ü—’ ¤2§8¢8¨Q¨FÓ#3×#5Ñ#5²|ÓDˆÜ˜F¤B§H¢H¨e¨^Ó$<×$>Ñ$>Ô?ä�MŠM˜!ÓˆØ�V‰V‹XˆØˆˆ!ˆ$ˆQˆ$‰Øˆˆ!ˆ$ˆQˆ$‰Ü—’  q¨AÑ.ˆÜ˜FÔ*Ü—’ ¢|°qÑ9ˆÜ˜FÔ*ä—.’. ¤B§H¢H¨b¨XÓ$6×$8Ñ$8¸!¸qÑAˆÜ˜G¤R§X¢X¨u¨nÓ%=×%?Ñ%?Ô@Ü—.’. ¤B§H¢H¨b¨XÓ$6×$8Ñ$8º,È!ÑLˆÜ˜G¤R§X¢X¨u¨nÓ%=×%?Ñ%?Ô@ò ˆÜœEŸNšN¨1°Ó3°a¸°VÔ<ÜœEŸNšN¨1°!°Q°Ó8¸1¸a¸&ÔAä�KŠK˜˜AÓˆÙˆq‹EˆÜ—’˜q QÓ'ˆÜœEŸNšN¨1Ó4°aÔ8Ü—’˜q¢YÓ/ˆÜœEŸNšN¨1Ó4°aÔ8Ü˜EÕ)r   r1   N)r2   r3   r4   r5   rù   r6   r1   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 r)   )r   rŠ   r   Úhermecompanionr    s    r   Útest_raisesÚTestCompanion.test_raisesß  s(   € Ü”j¤%×"6Ñ"6¸Ô;Ü”j¤%×"6Ñ"6¸¸Õ<r   c                 ó˜   • [        SS5       H:  nS/U-  S/-   n[        [        R                  " U5      R                  X4:H  5        M<     g )Nr	   r=   r   )rB   r   r   rþ   r‚   )r!   rH   rÔ   s      r   Útest_dimensionsÚTestCompanion.test_dimensionsã  sC   € Ü�q˜!–ˆAØ�3˜‘7˜a˜S‘=ˆDÜ”E×(Ò(¨Ó.×4Ñ4¸¸Ñ>Ö?ò 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#   € Ü”×$Ò$ a¨ VÓ,¨TÑ2°cÑ9Õ:r   r1   N)r2   r3   r4   r5   rÿ   r  r  r6   r1   r   r   rü   rü   Ý  s   † ò=ò@õ
;r   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        [        R                  " S[        R                  -  5      n[        UR                  5       U5        g )Nr:   éc   r	   r}   )r   Ú
hermegaussrÒ   rC   rÙ   rÁ   ÚsqrtÚdiagonalr   ÚeyeÚpiÚsum)r!   r   rí   rÓ   ÚvvÚvdrK   s          r   Útest_100ÚTestGauss.test_100î  sª   € Ü×Ò Ó$‰ˆô
 ×Ò˜a Ó$ˆÜ�VŠV�A—C‘C˜!‘G˜QÓˆØ”—’˜Ÿ™›Ó'Ñ'ˆØ’�4�‰[˜2Ñ Ñ"ˆÜ˜B¤§¢ s£Ô,ô �gŠg�aœ"Ÿ%™%‘iÓ ˆÜ˜AŸE™E›G SÕ)r   r1   N)r2   r3   r4   r5   r  r6   r1   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	   r=   r   r}   r
   )r   Úhermefromrootsr   r   rB   rC   Úcosrt   r  rZ   r   r\   r·   )r!   rL   rH   Úrootsr¹   rK   s         r   Útest_hermefromrootsÚTestMisc.test_hermefromroots  sÀ   € Ü×"Ò" 2Ó&ˆÜœD ›I¨ sÔ+Ü�q˜!–ˆAÜ—F’Fœ2Ÿ;š;¬¯© v¨q°!°a±%¸!±)Ó<¸Q¸TÀ¸TÑBÓCˆEÜ×&Ò& uÓ-ˆCÜ—.’. Ó,ˆCØˆCÜ”C˜“H  A¡Ñ%Ô&Ü¤× 0Ò 0°Ó 5°bÑ 9¸1Ô=Ü Ö)ò 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   Ú
hermerootsrB   rC   rt   r  r   )r!   rH   rK   rL   s       r   Útest_hermerootsÚTestMisc.test_hermeroots  sƒ   € ÜœE×,Ò,¨a¨SÓ1°2Ô6ÜœE×,Ò,¨a°¨VÓ4°r°dÔ;Ü�q˜!–ˆAÜ—+’+˜b ! QÓ'ˆCÜ×"Ò"¤5×#7Ò#7¸Ó#<Ó=ˆ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_hermetrimÚTestMisc.test_hermetrim  sh   € Úˆô 	”j¤%§/¡/°4¸Ô<ô 	”U—_’_ TÓ*¨D°°"¨IÔ6Ü”U—_’_ T¨1Ó-¨t°C°R¨yÔ9Ü”U—_’_ T¨1Ó-°¨sÕ3r   c                 óJ   • [        [        R                  " SS5      SS/5        g )Nr   r¿   )r   r   Ú	hermeliner    s    r   Útest_hermelineÚTestMisc.test_hermeline   s   € Ü”U—_’_ Q¨Ó*¨Q°¨FÕ3r   c                 ó†   • [        S5       H2  n[        [        R                  " S/U-  S/-   5      [        U   5        M4     g ©Nr   r   r	   )rB   r   r   r·   r�   ©r!   rH   s     r   Útest_herme2polyÚTestMisc.test_herme2poly#  s5   € Ü�r–ˆAÜ¤× 0Ò 0°!°°q±¸A¸3±Ó ?ÄÈÁÖKò r   c                 ó†   • [        S5       H2  n[        [        R                  " [        U   5      S/U-  S/-   5        M4     g r*  )rB   r   r   r¶   r�   r+  s     r   Útest_poly2hermeÚTestMisc.test_poly2herme'  s5   € Ü�r–ˆAÜ¤× 0Ò 0´¸±Ó ;¸a¸SÀ1¹WÈÀs¹]ÖKò r   c                 ó®   • [         R                  " SSS5      n[         R                  " SUS-  -  5      n[        R                  " U5      n[        X25        g )Néûÿÿÿr=   é   r  r}   )rC   rt   Úexpr   Úhermeweightr   )r!   r   rK   rL   s       r   Útest_weightÚTestMisc.test_weight+  sB   € Ü�KŠK˜˜A˜rÓ"ˆÜ�fŠf�S˜1˜a™4‘ZÓ ˆÜ×Ò Ó"ˆÜ˜CÕ%r   r1   N)r2   r3   r4   r5   r  r   r#  r'  r,  r/  r6  r6   r1   r   r   r  r  ÿ  s'   † ò
*ò6ò	4ò4òLòLõ&r   r  )'Ú__doc__Ú	functoolsr   ÚnumpyrC   Únumpy.polynomial.hermite_eÚ
polynomialÚ	hermite_er   Únumpy.polynomial.polynomialr   Únumpy.testingr   r   r   r   ro   ÚHe0ÚHe1ÚHe2ÚHe3ÚHe4ÚHe5ÚHe6ÚHe7ÚHe8ÚHe9r�   r   r   r8   rv   r©   rÆ   rÏ   rå   rü   r	  r  r1   r   r   Ú<module>rJ     sO  ðñõ ã ß *Ð *Ý /÷ó ð 	‡h‚h�ˆsƒm€Ø‡h‚h��1ˆvÓ€Ø‡h‚hŠzÓ€Ø‡h‚hŠ}Ó€Ø‡h‚hÒÓ €Ø‡h‚hÒ$Ó%€Ø‡h‚hÒ)Ó*€Ø‡h‚hÒ.Ó/€Ø‡h‚hÒ3Ó4€Ø‡h‚hÒ7Ó8€à
ˆs�C˜˜c 3¨¨S°#°sÐ	;€ò(÷+ñ +÷?@ñ ?@÷D[)ñ [)÷|c&ñ c&÷L&&ñ &&÷R-)ñ -)÷`J*ñ J*÷Z;ñ ;÷*ñ *÷&0&ò 0&r   