ó
    �œ‘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      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 module.

é    )ÚreduceN)Úpolyval)Úassert_Úassert_almost_equalÚassert_equalÚassert_raisesé   é   )éþÿÿÿr   é   )r   iôÿÿÿr   é   )é   r   iÐÿÿÿr   é   )r   éx   r   i`ÿÿÿr   é    )iˆÿÿÿr   iÐ  r   i þÿÿr   é@   )r   ipùÿÿr   i   r   iÀúÿÿr   é€   )	i�  r   i€Ëÿÿr   i€4  r   i òÿÿr   é   )
r   i v  r   i Åþÿr   i ½  r   i Üÿÿr   i   c                 ó,   • [         R                  " U SS9$ )Ng�íµ ÷Æ°>)Útol)ÚhermÚhermtrim©Úxs    ÚgC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\numpy/polynomial/tests/test_hermite.pyÚtrimr      s   € Ü�=Š=˜ Ñ%Ð%ó    c                   ó,   • \ rS rSrS rS rS rS rSrg)ÚTestConstantsé"   c                 ó<   • [        [        R                  SS/5        g )Néÿÿÿÿr	   )r   r   Ú
hermdomain©Úselfs    r   Útest_hermdomainÚTestConstants.test_hermdomain$   s   € Ü”T—_‘_ r¨1 gÕ.r   c                 ó:   • [        [        R                  S/5        g )Nr   )r   r   Úhermzeror$   s    r   Útest_hermzeroÚTestConstants.test_hermzero'   s   € Ü”T—]‘] Q CÕ(r   c                 ó:   • [        [        R                  S/5        g ©Nr	   )r   r   Úhermoner$   s    r   Útest_hermoneÚTestConstants.test_hermone*   s   € Ü”T—\‘\ A 3Õ'r   c                 ó<   • [        [        R                  SS/5        g )Nr   ç      à?)r   r   Úhermxr$   s    r   Ú
test_hermxÚTestConstants.test_hermx-   s   € Ü”T—Z‘Z ! R Õ)r   © N)	Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r&   r*   r/   r4   Ú__static_attributes__r6   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   éýÿÿÿé   é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   Úhermaddr   r   ©r%   ÚiÚjÚmsgÚtgtÚress         r   Útest_hermaddÚTestArithmetic.test_hermadd4   ó˜   € Ü�q–ˆAÜ˜1–X�Ø˜a˜S  Q CÐ(�Ü—h’hœs 1›y¨1™}Ó-�Ø“˜!‘“Ø“˜!‘“Ü—l’l A 3¨¡7¨a¨S¡=°1°#¸±'¸Q¸C±-Ó@�Üœ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   )rI   rJ   rK   rL   r   Úhermsubr   r   rN   s         r   Útest_hermsubÚTestArithmetic.test_hermsub>   rV   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	   r2   rD   )r   r   ÚhermmulxrI   )r%   rO   ÚserrR   s       r   Útest_hermmulxÚTestArithmetic.test_hermmulxH   s€   € Ü”T—]’] A 3Ó'¨!¨Ô-Ü”T—]’] A 3Ó'¨!¨R¨Ô1Ü�q˜!–ˆAØ�#˜‘'˜Q˜C‘-ˆCØ�#˜˜Q™‘- 1 a¨ *Ñ,ˆCÜœŸš sÓ+¨SÖ1ò 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 )NrD   r   r	   rE   rF   rG   )rI   r   Úhermvalr   Úhermmulr   Úlenr   )
r%   rO   Úpol1Úval1rP   rQ   Úpol2Úval2Úpol3Úval3s
             r   Útest_hermmulÚTestArithmetic.test_hermmulP   sÃ   € ä�q–ˆAØ�3˜‘7˜a˜S‘=ˆDÜ—<’< §¡¨Ó-ˆDÜ˜1–X�Ø˜a˜S  Q CÐ(�Ø�s˜Q‘w ! ‘}�Ü—|’| D§F¡F¨DÓ1�Ü—|’| DÓ/�Ü—|’| D§F¡F¨DÓ1�Üœ˜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 )NrD   rE   rF   r   r	   rG   )rI   r   rM   Úhermdivrb   r   r   )
r%   rO   rP   rQ   ÚciÚcjrR   ÚquoÚremrS   s
             r   Útest_hermdivÚTestArithmetic.test_hermdiv^   s�   € Ü�q–ˆAÜ˜1–X�Ø˜a˜S  Q CÐ(�Ø�S˜1‘W ˜s‘]�Ø�S˜1‘W ˜s‘]�Ü—l’l 2Ó*�ÜŸ<š<¨Ó0‘�Ü—l’l¤4§<¢<°Ó#8¸#Ó>�Üœ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 )NrD   rE   rF   r	   rG   )
rI   rJ   Úaranger   r   rb   ÚarrayÚhermpowr   r   )r%   rO   rP   rQ   ÚcrR   rS   s          r   Útest_hermpowÚTestArithmetic.test_hermpowi   s†   € Ü�q–ˆAÜ˜1–X�Ø˜a˜S  Q CÐ(�Ü—I’I˜a !™eÓ$�ÜœTŸ\™\¨A¨3°©7´B·H²H¸a¸S³MÓB�Ü—l’l 1Ó(�ÜœT #›Y¬¨S«	¸3Ô?ó ò r   r6   N)r7   r8   r9   r:   rJ   Úlinspacer   rT   rY   r^   rj   rr   ry   r;   r6   r   r   r=   r=   1   s7   † Ø
�Š�B˜˜3Ó€Aò@ò@ò2ò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és   )g      @ç      ð?g      è?úi,j->ijú
i,j,k->ijk©r@   rD   r
   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"   é
   rE   rG   r@   r
   )r	   r   r   )r   r   ra   ÚsizerJ   r{   ÚHlistr   rI   r   rK   Úshape)	r%   r   rx   ÚyrO   rQ   rR   rS   Údimss	            r   Útest_hermvalÚTestEvaluation.test_hermval}   s  € ä”T—\’\ " q cÓ*×/Ñ/°Ô3ô �KŠK˜˜AÓˆÝ$)Ó*¢E˜qŒW�QŽ]¡EˆÐ*Ü�r–ˆAØ˜!˜�+ˆCØ‘$ˆCÜ—,’,˜q 1 #¨¡'¨Q¨C¡-Ó0ˆCÜ °#Ô6ñ	 ô �q–ˆAØ�3˜‘7ˆDÜ—’˜“ˆAÜœŸš a¨!¨Ó-×3Ñ3°TÔ:ÜœŸš a¨!¨Q¨Ó0×6Ñ6¸Ô=ÜœŸš aªÓ3×9Ñ9¸4Ö@ò ùò +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   Ú	hermval2dÚc2dr   rJ   Úonesr   r‡   ©
r%   Úx1Úx2Úx3Úy1Úy2Úy3rR   rS   Úzs
             r   Útest_hermval2dÚTestEvaluation.test_hermval2d’   s“   € Ø—V‘V‰
ˆ�Ø—V‘V‰
ˆ�ô 	”j¤$§.¡.°"¸¸!°f¸d¿h¹hÔGð ‰gˆÜ�nŠn˜R T§X¡XÓ.ˆÜ˜CÔ%ô �GŠG�F‹OˆÜ�nŠn˜Q 4§8¡8Ó,ˆÜ�—	‘	˜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   Ú	hermval3dÚc3dr   rJ   r’   r   r‡   r“   s
             r   Útest_hermval3dÚTestEvaluation.test_hermval3d£   s™   € Ø—V‘V‰
ˆ�Ø—V‘V‰
ˆ�ô 	”j¤$§.¡.°"¸"¸R¸a¸&À$Ç(Á(ÔKð ‰g˜‰lˆÜ�nŠn˜R R¯©Ó2ˆÜ˜CÔ%ô �GŠG�F‹OˆÜ�nŠn˜Q 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ˆ   rJ   Úeinsumr   Ú
hermgrid2dr‘   r   r’   r   r‡   r“   s
             r   Útest_hermgrid2dÚTestEvaluation.test_hermgrid2d´   s~   € Ø—V‘V‰
ˆ�Ø—V‘V‰
ˆ�ô �iŠi˜	 2Ó*ˆÜ�oŠo˜b d§h¡hÓ/ˆÜ˜CÔ%ô �GŠG�F‹OˆÜ�oŠo˜a 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ˆ   rJ   r£   r   Ú
hermgrid3drŸ   r   r’   r   r‡   r“   s
             r   Útest_hermgrid3dÚTestEvaluation.test_hermgrid3dÂ   s€   € Ø—V‘V‰
ˆ�Ø—V‘V‰
ˆ�ô �iŠi˜ b¨bÓ1ˆÜ�oŠo˜b b¯(©(Ó3ˆÜ˜CÔ%ô �GŠG�F‹OˆÜ�oŠo˜a A§x¡xÓ0ˆÜ�—	‘	˜ZÑ'Õ(r   r6   N)r7   r8   r9   r:   rJ   rv   Úc1dr£   r‘   rŸ   Úrandomr   r   rˆ   rŠ   r›   r    r¥   r©   r;   r6   r   r   r}   r}   s   s|   † à
�(Š(’>Ó
"€CØ
�)Š)�I˜s CÓ
(€CØ
�)Š)�L # s¨CÓ
0€Cð 	�	‰	×Ñ˜Ó  1Ñ$ qÑ(€AÙ�’<Ó €AòAò*%ò"%ò")õ)r   r}   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   r2   r"   r	   )Úlbnd)Úscl©Úaxisr
   rD   )ÚmÚk)rµ   r¶   r±   )rµ   r¶   r²   ©rµ   )r   Ú	TypeErrorr   Úhermintr�   rI   r   Ú	poly2hermÚ	herm2polyr   ra   Úlist)
r%   rO   r¶   rS   r²   ÚpolrR   Úhermpolr¹   rP   s
             r   Útest_hermintÚTestIntegral.test_hermintÓ   sS  € ä”i¤§¡°¨s°BÔ7Ü”j¤$§,¡,°°°RÔ8Ü”j¤$§,¡,°°°Q¸¸A¸Ô?Ü”j¤$§,¡,°°¸1¸#Ò>Ü”j¤$§,¡,°°¸!¸Ò=Ü”i¤§¡°¨s¸Ò<ô �q˜!–ˆAØ��q˜1‘u‘  Ñ#ˆAÜ—,’, ˜s aÑ-ˆCÜ  a¨ WÖ-ñ ô �q–ˆAØ�a‘%ˆCØ�#˜‘'˜Q˜C‘-ˆCØ�#˜˜˜a™‘- 1 s¡7 )Ñ+ˆCÜ—n’n SÓ)ˆGÜ—l’l 7¨a°A°3Ñ7ˆGÜ—.’. Ó)ˆCÜ¤ S£	¬4°«9Ö5ñ ô �q–ˆAØ�a‘%ˆCØ�#˜‘'˜Q˜C‘-ˆCÜ—n’n SÓ)ˆGÜ—l’l 7¨a°A°3¸RÑ@ˆGÜ¤§¢¨R°Ó 9¸1Ö=ñ ô �q–ˆAØ�a‘%ˆCØ�#˜‘'˜Q˜C‘-ˆCØ�#˜˜˜a™‘- 1 s¡7 )Ñ+ˆCÜ—n’n SÓ)ˆGÜ—l’l 7¨a°A°3¸AÑ>ˆGÜ—.’. Ó)ˆCÜ¤ S£	¬4°«9Ö5ñ ô �q–ˆAÜ˜1˜a–[�Ø�c˜A‘g  ‘m�Ø™!�f�Ü˜qž�AÜŸ,š, s¨aÑ0’Cñ "ä—l’l 3Ñ,�Ü#¤D¨£I¬t°C«yÖ9ó !ñ ô �q–ˆAÜ˜1˜a–[�Ø�c˜A‘g  ‘m�Ø™!�f�Ü˜qž�AÜŸ,š, s¨a°A°3Ñ7’Cñ "ä—l’l 3¬t´E¸!³H«~Ñ>�Ü#¤D¨£I¬t°C«yÖ9ó !ñ ô �q–ˆAÜ˜1˜a–[�Ø�c˜A‘g  ‘m�Ø™!�f�Ü˜qž�AÜŸ,š, s¨a°A°3¸RÑ@’Cñ "ä—l’l 3¬t´E¸!³H«~ÀBÑG�Ü#¤D¨£I¬t°C«yÖ9ó !ñ ô �q–ˆAÜ˜1˜a–[�Ø�c˜A‘g  ‘m�Ø™!�f�Ü˜qž�AÜŸ,š, s¨a°A°3¸AÑ>’Cñ "ä—l’l 3¬t´E¸!³H«~À1ÑE�Ü#¤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¶   r´   )rJ   r¬   ÚvstackÚTr   r¹   r   ©r%   r‘   rx   rR   rS   s        r   Útest_hermint_axisÚTestIntegral.test_hermint_axis&  së   € ä�i‰i×Ñ˜vÓ&ˆä�iŠi°#·%²%Ó8²%¨QœŸš až±%Ñ8Ó9×;Ñ;ˆÜ�lŠl˜3 QÑ'ˆÜ˜CÔ%ä�iŠi±#Ó6²#¨QœŸš až±#Ñ6Ó7ˆÜ�lŠl˜3 QÑ'ˆÜ˜CÔ%ä�iŠi±sÓ;²s°!œŸš a¨1Ô-±sÑ;Ó<ˆÜ�lŠl˜3 !¨!Ñ,ˆÜ˜CÕ%ùò 9ùò 7ùò <s   ¾ EÂ# EÃ>Er6   N)r7   r8   r9   r:   r¿   rÆ   r;   r6   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   r2   r"   rD   r	   r·   r
   )rµ   r²   )
r   r¸   r   Úhermderr�   rI   r   r   r¹   r   )r%   rO   rR   rS   rP   s        r   Útest_hermderÚTestDerivative.test_hermder9  s)  € ä”i¤§¡°¨s°BÔ7Ü”j¤$§,¡,°°°RÔ8ô �q–ˆAØ�#˜‘'˜Q˜C‘-ˆCÜ—,’,˜s aÑ(ˆCÜœ˜c›¤D¨£IÖ.ñ ô �q–ˆAÜ˜1˜a–[�Ø�c˜A‘g  ‘m�Ü—l’l¤4§<¢<°Ñ#9¸QÑ?�Ü#¤D¨£I¬t°C«yÖ9ó !ñ ô �q–ˆAÜ˜1˜a–[�Ø�c˜A‘g  ‘m�Ü—l’l¤4§<¢<°¸aÑ#@ÀAÈ2ÑN�Ü#¤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	   )rJ   r¬   rÃ   rÄ   r   rË   r   rÅ   s        r   Útest_hermder_axisÚ TestDerivative.test_hermder_axisR  s¤   € ä�i‰i×Ñ˜vÓ&ˆä�iŠi°#·%²%Ó8²%¨QœŸš až±%Ñ8Ó9×;Ñ;ˆÜ�lŠl˜3 QÑ'ˆÜ˜CÔ%ä�iŠi±#Ó6²#¨QœŸš až±#Ñ6Ó7ˆÜ�lŠl˜3 QÑ'ˆÜ˜CÕ%ùò 9ùò 7s   ¾ C+Â# C0r6   N)r7   r8   r9   r:   rÌ   rÏ   r;   r6   r   r   rÉ   rÉ   7  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
   rD   é   )r@   r
   r   )
rJ   ru   r   Ú
hermvanderr   r‡   rI   r   ra   rv   )r%   r   ÚvrO   Úcoefs        r   Útest_hermvanderÚTestVander.test_hermvanderc  sè   € ä�IŠI�a‹LˆÜ�OŠO˜A˜qÓ!ˆÜ�—‘˜6Ñ!Ô"Ü�q–ˆAØ�3˜‘7˜a˜S‘=ˆDÜ  # q &¡	¬4¯<ª<¸Ó+@ÖAñ ô
 �HŠH�q˜!�f˜q !˜f q¨! fÐ-Ó.ˆÜ�OŠO˜A˜qÓ!ˆÜ�—‘˜9Ñ$Ô%Ü�q–ˆAØ�3˜‘7˜a˜S‘=ˆDÜ  # q &¡	¬4¯<ª<¸Ó+@Ö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	   rD   rÔ   )r   rJ   r¬   r   Úhermvander2dr�   ÚdotÚflatr   r   r‡   ©r%   r”   r•   r–   rx   ÚvanrR   rS   s           r   Útest_hermvander2dÚTestVander.test_hermvander2dt  s’   € à—V‘V‰
ˆ�Ü�I‰I×Ñ˜VÓ$ˆÜ×Ò ¨¨A¨Ó/ˆÜ�nŠn˜R QÓ'ˆÜ�fŠf�SŸ&™&Ó!ˆÜ˜CÔ%ô ×Ò   r d¨Q°¨FÓ3ˆÜ�—	‘	˜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	   rD   é   )r   rJ   r¬   r   Úhermvander3drž   rÜ   rÝ   r   r   r‡   rÞ   s           r   Útest_hermvander3dÚTestVander.test_hermvander3d�  s�   € à—V‘V‰
ˆ�Ü�I‰I×Ñ˜YÓ'ˆÜ×Ò ¨ªIÓ6ˆÜ�nŠn˜R RÓ+ˆÜ�fŠf�SŸ&™&Ó!ˆÜ˜CÔ%ô ×Ò   r d¨R¨D²)Ó<ˆÜ�—	‘	˜ZÑ'Õ(r   r6   N)r7   r8   r9   r:   rJ   r¬   r   rØ   rà   rå   r;   r6   r   r   rÒ   rÒ   _  s0   † à
�	‰	×Ñ˜Ó  1Ñ$ qÑ(€AòBò"(õ)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
   r6   r   s    r   ÚfÚ#TestFitting.test_hermfit.<locals>.f’  s   € Ø˜A™‘; ! a¡%Ñ(Ð(r   c                 ó   • U S-  U S-  -   S-   $ )Nr   r
   r	   r6   r   s    r   Úf2Ú$TestFitting.test_hermfit.<locals>.f2•  s   € Ø�a‘4˜!˜Q™$‘; ‘?Ð"r   r	   r"   r   r
   )Úw)r
   r"   rÔ   r@   r   )r   r	   r
   r@   rD   )r   r	   r
   r@   r   )r
   r@   r   r	   r   )r	   y              ð?r"   y       €      ð¿r2   )r   r
   r   )r   r�   r   Úhermfitr¸   rJ   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_hermfitÚTestFitting.test_hermfit‘  sG  € ò	)ò	#ô 	”j¤$§,¡,°°°a°S¸"Ô=Ü”i¤§¡°°¨u°q°c¸1Ô=Ü”i¤§¡¨r°A°3¸Ô:Ü”i¤§¡°¨s°q°c°U°G¸QÔ?Ü”i¤§¡°°1¨v¸°s¸AÔ>Ü”i¤§¡°¨s°Q¸°F¸AÔ>Ü”i¤§¡°¨s°Q°C¸À¸s¸eÒDÜ”i¤§¡°¨s°Q°C¸¸qÀ!¸fÒEÜ”j¤$§,¡,°°°a°S¸2¸%Ô@Ü”j¤$§,¡,°°°a°Sº*ÔEÜ”i¤§¡°¨s°Q°C¸Ô<ô �KŠK˜˜1ÓˆÙˆa‹Dˆä—’˜Q 1Ó%ˆÜ”S˜“Z Ô#ÜœDŸLšL¨Ó2°AÔ6Ü—’˜Q¢<Ó0ˆÜ”S˜“Z Ô#ÜœDŸLšL¨Ó2°AÔ6ä—’˜Q 1Ó%ˆÜ”S˜“Z Ô#ÜœDŸLšL¨Ó2°AÔ6Ü—’˜Q¢?Ó3ˆÜ”S˜“Z Ô#ÜœDŸLšL¨Ó2°AÔ6ä—’˜Q¢?Ó3ˆÜ”S˜“Z Ô#ÜœDŸLšL¨Ó2°AÔ6ä—’˜a¤§¢¨1¨&Ó!1×!3Ñ!3°QÓ7ˆÜ˜F¤B§H¢H¨e¨^Ó$<×$>Ñ$>Ô?Ü—’˜a¤§¢¨1¨&Ó!1×!3Ñ!3²\ÓBˆÜ˜F¤B§H¢H¨e¨^Ó$<×$>Ñ$>Ô?ä�MŠM˜!ÓˆØ�V‰V‹XˆØˆˆ!ˆ$ˆQˆ$‰Øˆˆ!ˆ$ˆQˆ$‰Ü—’˜a Q¨!Ñ,ˆÜ˜FÔ*Ü—’˜a¢\°QÑ7ˆÜ˜FÔ*ä—,’,˜q¤"§(¢(¨B¨8Ó"4×"6Ñ"6¸¸QÑ?ˆÜ˜G¤R§X¢X¨u¨nÓ%=×%?Ñ%?Ô@Ü—,’,˜q¤"§(¢(¨B¨8Ó"4×"6Ñ"6ºÈÑJˆÜ˜G¤R§X¢X¨u¨nÓ%=×%?Ñ%?Ô@ò ˆÜœDŸLšL¨¨qÓ1°A°r°7Ô;ÜœDŸLšL¨°°1¨vÓ6¸¸B¸Ô@ä�KŠK˜˜AÓˆÙˆq‹EˆÜ—’˜Q 1Ó%ˆÜœDŸLšL¨Ó2°AÔ6Ü—’˜Q¢9Ó-ˆÜœDŸLšL¨Ó2°AÔ6Ü˜EÕ)r   r6   N)r7   r8   r9   r:   rü   r;   r6   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   Úhermcompanionr$   s    r   Útest_raisesÚTestCompanion.test_raisesÞ  s(   € Ü”j¤$×"4Ñ"4°bÔ9Ü”j¤$×"4Ñ"4°q°cÕ:r   c                 ó˜   • [        SS5       H:  nS/U-  S/-   n[        [        R                  " U5      R                  X4:H  5        M<     g )Nr	   rD   r   )rI   r   r   r  r‡   )r%   rO   r×   s      r   Útest_dimensionsÚTestCompanion.test_dimensionsâ  sC   € Ü�q˜!–ˆAØ�3˜‘7˜a˜S‘=ˆDÜ”D×&Ò& tÓ,×2Ñ2°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#   € Ü”×"Ò" A q 6Ó*¨4Ñ0°DÑ8Õ9r   r6   N)r7   r8   r9   r:   r  r  r  r;   r6   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                  " [        R                  5      n[        UR                  5       U5        g )NrA   éc   r	   )r   Ú	hermgaussrÕ   rJ   rÜ   rÄ   ÚsqrtÚdiagonalr   ÚeyeÚpiÚsum)r%   r   rð   rÖ   ÚvvÚvdrR   s          r   Útest_100ÚTestGauss.test_100í  s¡   € Ü�~Š~˜cÓ"‰ˆô
 �OŠO˜A˜rÓ"ˆÜ�VŠV�A—C‘C˜!‘G˜QÓˆØ”—’˜Ÿ™›Ó'Ñ'ˆØ’�4�‰[˜2Ñ Ñ"ˆÜ˜B¤§¢ s£Ô,ô �gŠg”b—e‘e‹nˆÜ˜AŸE™E›G SÕ)r   r6   N)r7   r8   r9   r:   r  r;   r6   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	   rD   r   r
   r"   )r   Úhermfromrootsr   r   rI   rJ   Úcosr{   r  ra   r   rc   r»   )r%   rS   rO   Úrootsr½   rR   s         r   Útest_hermfromrootsÚTestMisc.test_hermfromroots   s¾   € Ü× Ò  Ó$ˆÜœD ›I¨ sÔ+Ü�q˜!–ˆAÜ—F’Fœ2Ÿ;š;¬¯© v¨q°!°a±%¸!±)Ó<¸Q¸TÀ¸TÑBÓCˆEÜ×$Ò$ UÓ+ˆCÜ—,’,˜uÓ*ˆCØˆCÜ”C˜“H  A¡Ñ%Ô&Ü¤§¢¨sÓ 3°BÑ 7¸Ô;Ü Ö)ò 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	   g      à¿r
   rD   r"   )r   r   Ú	hermrootsrI   rJ   r{   r  r   )r%   rO   rR   rS   s       r   Útest_hermrootsÚTestMisc.test_hermroots  s}   € ÜœDŸNšN¨A¨3Ó/°Ô4ÜœDŸNšN¨A¨q¨6Ó2°S°EÔ:Ü�q˜!–ˆAÜ—+’+˜b ! QÓ'ˆCÜ—.’.¤×!3Ò!3°CÓ!8Ó9ˆ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_hermtrimÚTestMisc.test_hermtrim  sh   € Úˆô 	”j¤$§-¡-°°rÔ:ô 	”T—]’] 4Ó(¨$¨s°¨)Ô4Ü”T—]’] 4¨Ó+¨T°#°2¨YÔ7Ü”T—]’] 4¨Ó+¨a¨SÕ1r   c                 óJ   • [        [        R                  " SS5      SS/5        g )Nr@   r   r
   )r   r   Úhermliner$   s    r   Útest_hermlineÚTestMisc.test_hermline  s   € Ü”T—]’] 1 aÓ(¨1¨a¨&Õ1r   c                 ó†   • [        S5       H2  n[        [        R                  " S/U-  S/-   5      [        U   5        M4     g ©Nr„   r   r	   )rI   r   r   r»   r†   ©r%   rO   s     r   Útest_herm2polyÚTestMisc.test_herm2poly"  s3   € Ü�r–ˆAÜ¤§¢°¨s°Q©w¸!¸©}Ó =¼uÀQ¹xÖHò r   c                 ó†   • [        S5       H2  n[        [        R                  " [        U   5      S/U-  S/-   5        M4     g r,  )rI   r   r   rº   r†   r-  s     r   Útest_poly2hermÚTestMisc.test_poly2herm&  s3   € Ü�r–ˆAÜ¤§¢¬u°Q©xÓ 8¸1¸#À¹'ÀQÀC¹-ÖHò r   c                 óª   • [         R                  " SSS5      n[         R                  " US-  * 5      n[        R                  " U5      n[        X25        g )NéûÿÿÿrD   é   r
   )rJ   r{   Úexpr   Ú
hermweightr   )r%   r   rR   rS   s       r   Útest_weightÚTestMisc.test_weight*  s=   € Ü�KŠK˜˜A˜rÓ"ˆÜ�fŠf�a˜‘d�U‹mˆÜ�oŠo˜aÓ ˆÜ˜CÕ%r   r6   N)r7   r8   r9   r:   r  r"  r%  r)  r.  r1  r8  r;   r6   r   r   r  r  þ  s'   † ò
*ò6ò	2ò2òIòIõ&r   r  )'Ú__doc__Ú	functoolsr   ÚnumpyrJ   Únumpy.polynomial.hermiteÚ
polynomialÚhermiter   Únumpy.polynomial.polynomialr   Únumpy.testingr   r   r   r   rv   ÚH0ÚH1ÚH2ÚH3ÚH4ÚH5ÚH6ÚH7ÚH8ÚH9r†   r   r   r=   r}   r®   rÉ   rÒ   rè   rÿ   r  r  r6   r   r   Ú<module>rL     sO  ðñõ ã ß 'Ð 'Ý /÷ó ð ‡X‚Xˆqˆcƒ]€Ø‡X‚Xˆq�!ˆfÓ€Ø‡X‚XŠjÓ€Ø‡X‚XŠnÓ€Ø‡X‚XÒ!Ó"€Ø‡X‚XÒ&Ó'€Ø‡X‚XÒ,Ó-€Ø‡X‚XÒ3Ó4€Ø‡X‚XÒ;Ó<€Ø‡X‚XÒ?Ó@€à	ˆR��R˜˜R  R¨¨RÐ0€ò&÷*ñ *÷?@ñ ?@÷D[)ñ [)÷|c&ñ c&÷L%&ñ %&÷P-)ñ -)÷`J*ñ J*÷Z:ñ :÷*ñ *÷&0&ò 0&r   