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

é    )ÚreduceN)Úpolyval)Úassert_almost_equalÚassert_raisesÚassert_equalÚassert_é   )éÿÿÿÿ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                 ó0   — t        j                  | d¬«      S )Ng�íµ ÷Æ°>)Útol)ÚhermeÚ	hermetrim©Úxs    úgC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\numpy/polynomial/tests/test_hermite_e.pyÚtrimr      s   € Ü�?‰?˜1 $Ô'Ð'ó    c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚTestConstantsc                 ó<   — t        t        j                  ddg«       y )Nr
   r	   )r   r   Úhermedomain©Úselfs    r   Útest_hermedomainzTestConstants.test_hermedomain!   s   € Ü”U×&Ñ&¨¨Q¨Õ0r   c                 ó:   — t        t        j                  dg«       y )Nr   )r   r   Ú	hermezeror   s    r   Útest_hermezerozTestConstants.test_hermezero$   s   € Ü”U—_‘_ q cÕ*r   c                 ó:   — t        t        j                  dg«       y ©Nr	   )r   r   Úhermeoner   s    r   Útest_hermeonezTestConstants.test_hermeone'   s   € Ü”U—^‘^ a SÕ)r   c                 ó<   — t        t        j                  ddg«       y )Nr   r	   )r   r   Úhermexr   s    r   Útest_hermexzTestConstants.test_hermex*   s   € Ü”U—\‘\ A q 6Õ*r   N)Ú__name__Ú
__module__Ú__qualname__r!   r$   r(   r+   © r   r   r   r      s   „ ò1ò+ò*ó+r   r   c                   óX   — e Zd Z ej                  ddd«      Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zy
)ÚTestArithmeticr   r   éd   c                 óX  — t        d«      D ]œ  }t        d«      D ]Œ  }d|› d|› �}t        j                  t        ||«      dz   «      }||xx   dz  cc<   ||xx   dz  cc<   t	        j
                  dg|z  dgz   dg|z  dgz   «      }t        t        |«      t        |«      |¬«       ŒŽ Œž y ©Né   úAt i=ú, j=r	   r   ©Úerr_msg)ÚrangeÚnpÚzerosÚmaxr   Úhermeaddr   r   ©r    ÚiÚjÚmsgÚtgtÚress         r   Útest_hermeaddzTestArithmetic.test_hermeadd1   óž   € Ü�q–ˆAÜ˜1–X�Ø˜a˜S  Q CÐ(�Ü—h‘hœs 1 a›y¨1™}Ó-�Ø�A“˜!‘“Ø�A“˜!‘“Ü—n‘n a S¨¡U¨a¨S¡[°1°#°a±%¸1¸#±+Ó>�ÜœT #›Y¬¨S«	¸3Ö?ñ ñ r   c                 óX  — t        d«      D ]œ  }t        d«      D ]Œ  }d|› d|› �}t        j                  t        ||«      dz   «      }||xx   dz  cc<   ||xx   dz  cc<   t	        j
                  dg|z  dgz   dg|z  dgz   «      }t        t        |«      t        |«      |¬«       ŒŽ Œž y r4   )r:   r;   r<   r=   r   Úhermesubr   r   r?   s         r   Útest_hermesubzTestArithmetic.test_hermesub;   rF   r   c                 ó  — t        t        j                  dg«      dg«       t        t        j                  dg«      ddg«       t        dd«      D ]:  }dg|z  dgz   }dg|dz
  z  |ddgz   }t        t        j                  |«      |«       Œ< y )Nr   r	   r5   )r   r   Ú	hermemulxr:   )r    r@   ÚserrC   s       r   Útest_hermemulxzTestArithmetic.test_hermemulxE   s€   € Ü”U—_‘_ a SÓ)¨A¨3Ô/Ü”U—_‘_ a SÓ)¨A¨q¨6Ô2Ü�q˜!–ˆAØ�#�a‘%˜1˜#‘+ˆCØ�#�q˜1‘u‘+  A q 	Ñ)ˆCÜœŸ™¨Ó-¨sÕ3ñ r   c                 óÆ  — t        d«      D ]Ó  }dg|z  dgz   }t        j                  | j                  |«      }t        d«      D ]™  }d|› d|› �}dg|z  dgz   }t        j                  | j                  |«      }t        j                  ||«      }t        j                  | j                  |«      }	t        t        |«      ||z   dz   k(  |«       t        |	||z  |¬«       Œ› ŒÕ y )Nr5   r   r	   r6   r7   r8   )r:   r   Úhermevalr   Úhermemulr   Úlenr   )
r    r@   Úpol1Úval1rA   rB   Úpol2Úval2Úpol3Úval3s
             r   Útest_hermemulzTestArithmetic.test_hermemulM   sÉ   € ä�q–ˆAØ�3�q‘5˜A˜3‘;ˆDÜ—>‘> $§&¡&¨$Ó/ˆDÜ˜1–X�Ø˜a˜S  Q CÐ(�Ø�s˜1‘u ˜s‘{�Ü—~‘~ d§f¡f¨dÓ3�Ü—~‘~ d¨DÓ1�Ü—~‘~ d§f¡f¨dÓ3�Üœ˜D›	 Q¨¡U¨Q¡YÑ.°Ô4Ü# D¨$¨t©)¸SÖAñ ñ r   c                 ón  — t        d«      D ]§  }t        d«      D ]—  }d|› d|› �}dg|z  dgz   }dg|z  dgz   }t        j                  ||«      }t        j                  ||«      \  }}t        j                  t        j                  ||«      |«      }	t        t        |	«      t        |«      |¬«       Œ™ Œ© y )Nr5   r6   r7   r   r	   r8   )r:   r   r>   ÚhermedivrP   r   r   )
r    r@   rA   rB   ÚciÚcjrC   ÚquoÚremrD   s
             r   Útest_hermedivzTestArithmetic.test_hermediv[   s¥   € Ü�q–ˆAÜ˜1–X�Ø˜a˜S  Q CÐ(�Ø�S˜‘U˜a˜S‘[�Ø�S˜‘U˜a˜S‘[�Ü—n‘n R¨Ó,�Ü Ÿ>™>¨#¨rÓ2‘��SÜ—n‘n¤U§^¡^°C¸Ó%<¸cÓB�ÜœT #›Y¬¨S«	¸3Ö?ñ ñ r   c           	      óV  — t        d«      D ]›  }t        d«      D ]‹  }d|› d|› �}t        j                  |dz   «      }t        t        j
                  |g|z  t        j                  dg«      «      }t	        j                  ||«      }t        t        |«      t        |«      |¬«       Œ� Œ� y )Nr5   r6   r7   r	   r8   )
r:   r;   Úaranger   r   rP   ÚarrayÚhermepowr   r   )r    r@   rA   rB   ÚcrC   rD   s          r   Útest_hermepowzTestArithmetic.test_hermepowf   sˆ   € Ü�q–ˆAÜ˜1–X�Ø˜a˜S  Q CÐ(�Ü—I‘I˜a !™eÓ$�ÜœUŸ^™^¨a¨S°©U´B·H±H¸a¸S³MÓB�Ü—n‘n Q¨Ó*�ÜœT #›Y¬¨S«	¸3Ö?ñ ñ r   N)r,   r-   r.   r;   Úlinspacer   rE   rI   rM   rX   r_   re   r/   r   r   r1   r1   .   s9   „ Øˆ�‰�B˜˜3Ó€Aò@ò@ò4òBò	@ó@r   r1   c                   óü   — e Zd Z ej                  g d¢«      Z ej                  dee«      Z ej                  deee«      Zej                  j                  d«      dz  dz
  Z
 ee
g d¢«      Zd„ Zd	„ Zd
„ Zd„ Zd„ Zy)ÚTestEvaluation)g      @ç       @ç      @úi,j->ijú
i,j,k->ijk©r   r5   é   r	   )g      ð?ri   rj   c                 ó²  — t        t        j                  g dg«      j                  d«       t	        j
                  dd«      }t        D �cg c]  }t        ||«      ‘Œ }}t        d«      D ]8  }d|› �}||   }t        j                  |dg|z  dgz   «      }t        |||¬«       Œ: t        d«      D ]   }dg|z  }t	        j                  |«      }t        t        j                  |dg«      j                  |«       t        t        j                  |ddg«      j                  |«       t        t        j                  |g d	¢«      j                  |«       Œ¢ y c c}w )
Nr	   r   r
   é
   r6   r8   r   rn   )r	   r   r   )r   r   rO   Úsizer;   rf   ÚHelistr   r:   r   r<   Úshape)	r    r   rd   Úyr@   rB   rC   rD   Údimss	            r   Útest_hermevalzTestEvaluation.test_hermevalz   s  € ä”U—^‘^ B¨¨Ó,×1Ñ1°1Ô5ô �K‰K˜˜AÓˆÝ$*Ó+¡F˜qŒW�Q˜�] FˆÐ+Ü�r–ˆAØ˜!˜�+ˆCØ�A‘$ˆCÜ—.‘.  Q C¨¡E¨Q¨C¡KÓ0ˆCÜ  S°#Ö6ð	 ô �q–ˆAØ�3�q‘5ˆDÜ—‘˜“ˆAÜœŸ™¨¨A¨3Ó/×5Ñ5°tÔ<ÜœŸ™¨¨A¨q¨6Ó2×8Ñ8¸$Ô?ÜœŸ™¨ª9Ó5×;Ñ;¸TÕBñ ùò ,s   Á
Ec                 ó   — | j                   \  }}}| j                  \  }}}t        t        t        j
                  ||d d | j                  «       ||z  }t	        j
                  ||| j                  «      }t        ||«       t        j                  d«      }	t	        j
                  |	|	| j                  «      }t        |j                  dk(  «       y ©Nrn   ©rn   r   )r   rt   r   Ú
ValueErrorr   Ú
hermeval2dÚc2dr   r;   Úonesr   rs   ©
r    Úx1Úx2Úx3Úy1Úy2Úy3rC   rD   Úzs
             r   Útest_hermeval2dzTestEvaluation.test_hermeval2d�   s§   € Ø—V‘V‰
ˆˆB�Ø—V‘V‰
ˆˆB�ô 	”j¤%×"2Ñ"2°B¸¸2¸A¸ÀÇÁÔIð �‰eˆÜ×Ñ˜r 2 t§x¡xÓ0ˆÜ˜C Ô%ô �G‰G�F‹OˆÜ×Ñ˜q ! T§X¡XÓ.ˆÜ�—	‘	˜VÑ#Õ$r   c           	      ó¬  — | j                   \  }}}| j                  \  }}}t        t        t        j
                  |||d d | j                  «       ||z  |z  }t	        j
                  |||| j                  «      }t        ||«       t        j                  d«      }	t	        j
                  |	|	|	| j                  «      }t        |j                  dk(  «       y rx   )r   rt   r   rz   r   Ú
hermeval3dÚc3dr   r;   r}   r   rs   r~   s
             r   Útest_hermeval3dzTestEvaluation.test_hermeval3d    s±   € Ø—V‘V‰
ˆˆB�Ø—V‘V‰
ˆˆB�ô 	”j¤%×"2Ñ"2°B¸¸B¸rÀ¸FÀDÇHÁHÔMð �‰e�B‰hˆÜ×Ñ˜r 2 r¨4¯8©8Ó4ˆÜ˜C Ô%ô �G‰G�F‹OˆÜ×Ñ˜q ! Q¨¯©Ó1ˆÜ�—	‘	˜VÑ#Õ$r   c                 óh  — | j                   \  }}}| j                  \  }}}t        j                  d||«      }t	        j
                  ||| j                  «      }t        ||«       t        j                  d«      }	t	        j
                  |	|	| j                  «      }t        |j                  dk(  «       y )Nrk   ry   )rn   r   rn   r   )r   rt   r;   Úeinsumr   Úhermegrid2dr|   r   r}   r   rs   r~   s
             r   Útest_hermegrid2dzTestEvaluation.test_hermegrid2d±   sŽ   € Ø—V‘V‰
ˆˆB�Ø—V‘V‰
ˆˆB�ô �i‰i˜	 2 rÓ*ˆÜ×Ñ  B¨¯©Ó1ˆÜ˜C Ô%ô �G‰G�F‹OˆÜ×Ñ  1 d§h¡hÓ/ˆÜ�—	‘	˜XÑ%Õ&r   c                 ón  — | j                   \  }}}| j                  \  }}}t        j                  d|||«      }t	        j
                  |||| j                  «      }t        ||«       t        j                  d«      }	t	        j
                  |	|	|	| j                  «      }t        |j                  dk(  «       y )Nrl   ry   )rn   r   rn   r   rn   r   )r   rt   r;   rŒ   r   Úhermegrid3dr‰   r   r}   r   rs   r~   s
             r   Útest_hermegrid3dzTestEvaluation.test_hermegrid3d¿   s”   € Ø—V‘V‰
ˆˆB�Ø—V‘V‰
ˆˆB�ô �i‰i˜ b¨"¨bÓ1ˆÜ×Ñ  B¨¨D¯H©HÓ5ˆÜ˜C Ô%ô �G‰G�F‹OˆÜ×Ñ  1 a¨¯©Ó2ˆÜ�—	‘	˜XÑ%Õ&r   N)r,   r-   r.   r;   rb   Úc1drŒ   r|   r‰   Úrandomr   r   rt   rv   r†   rŠ   rŽ   r‘   r/   r   r   rh   rh   p   s‚   „ à
ˆ"�(‰(’<Ó
 €CØ
ˆ"�)‰)�I˜s CÓ
(€CØ
ˆ"�)‰)�L # s¨CÓ
0€Cð 	�	‰	×Ñ˜Ó  Ñ" QÑ&€AÙ�’<Ó €AòCò*%ò"%ò"'ó'r   rh   c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestIntegralc                 ó2
  — t        t        t        j                  dgd«       t        t        t        j                  dgd«       t        t        t        j                  dgdddg«       t        t        t        j                  dgdg¬«       t        t        t        j                  dgdg¬«       t        t        t        j                  dgd¬«       t        dd	«      D ]6  }dg|dz
  z  dgz   }t        j                  dg||¬
«      }t        |ddg«       Œ8 t        d	«      D ]ƒ  }|dz   }dg|z  dgz   }|gdg|z  z   d|z  gz   }t        j                  |«      }t        j                  |d|g¬
«      }t        j                  |«      }t        t        |«      t        |«      «       Œ… t        d	«      D ]`  }|dz   }dg|z  dgz   }t        j                  |«      }t        j                  |d|gd¬«      }t        t        j                  d|«      |«       Œb t        d	«      D ]„  }|dz   }dg|z  dgz   }|gdg|z  z   d|z  gz   }t        j                  |«      }t        j                  |d|gd¬«      }t        j                  |«      }t        t        |«      t        |«      «       Œ† t        d	«      D ]~  }t        dd	«      D ]m  }	dg|z  dgz   }|d d  }t        |	«      D ]  }t        j                  |d¬«      }Œ t        j                  ||	¬«      }t        t        |«      t        |«      «       Œo Œ€ t        d	«      D ]“  }t        dd	«      D ]‚  }	dg|z  dgz   }|d d  }t        |	«      D ]  }t        j                  |d|g¬
«      }Œ t        j                  ||	t        t        |	«      «      ¬
«      }t        t        |«      t        |«      «       Œ„ Œ• t        d	«      D ]•  }t        dd	«      D ]„  }	dg|z  dgz   }|d d  }t        |	«      D ]  }t        j                  |d|gd¬«      }Œ t        j                  ||	t        t        |	«      «      d¬«      }t        t        |«      t        |«      «       Œ† Œ— t        d	«      D ]•  }t        dd	«      D ]„  }	dg|z  dgz   }|d d  }t        |	«      D ]  }t        j                  |d|gd¬«      }Œ t        j                  ||	t        t        |	«      «      d¬«      }t        t        |«      t        |«      «       Œ† Œ— y )Nr   ç      à?r
   r	   )Úlbnd)Úscl©Úaxisrn   r5   )ÚmÚk)rœ   r�   r˜   )rœ   r�   r™   ©rœ   )r   Ú	TypeErrorr   Úhermeintrz   r:   r   Ú
poly2hermeÚ
herme2polyr   rO   Úlist)
r    r@   r�   rD   r™   ÚpolrC   Úhermepolr    rA   s
             r   Útest_hermeintzTestIntegral.test_hermeintÐ   sg  € ä”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˜‘U‘˜q˜cÑ!ˆAÜ—.‘. ! ¨¨QÔ/ˆCÜ  a¨ VÕ,ð ô �q–ˆAØ�a‘%ˆCØ�#�a‘%˜1˜#‘+ˆCØ�#˜˜˜A™‘+  3¡ Ñ'ˆCÜ×'Ñ'¨Ó,ˆHÜ—~‘~ h°!¸°sÔ;ˆHÜ×"Ñ" 8Ó,ˆCÜ¤ S£	¬4°«9Õ5ð ô �q–ˆAØ�a‘%ˆCØ�#�a‘%˜1˜#‘+ˆCÜ×'Ñ'¨Ó,ˆHÜ—~‘~ h°!¸°sÀÔDˆHÜ¤§¡¨r°8Ó <¸aÕ@ð ô �q–ˆAØ�a‘%ˆCØ�#�a‘%˜1˜#‘+ˆCØ�#˜˜˜A™‘+  3¡ Ñ'ˆCÜ×'Ñ'¨Ó,ˆHÜ—~‘~ h°!¸°sÀÔBˆHÜ×"Ñ" 8Ó,ˆCÜ¤ S£	¬4°«9Õ5ð ô �q–ˆAÜ˜1˜a–[�Ø�c˜!‘e˜q˜c‘k�Ø™!�f�Ü˜qž�AÜŸ.™.¨°Ô2‘Cð "ä—n‘n S¨AÔ.�Ü#¤D¨£I¬t°C«yÕ9ñ !ð ô �q–ˆAÜ˜1˜a–[�Ø�c˜!‘e˜q˜c‘k�Ø™!�f�Ü˜qž�AÜŸ.™.¨°°a°SÔ9‘Cð "ä—n‘n S¨A´´e¸A³h³Ô@�Ü#¤D¨£I¬t°C«yÕ9ñ !ð ô �q–ˆAÜ˜1˜a–[�Ø�c˜!‘e˜q˜c‘k�Ø™!�f�Ü˜qž�AÜŸ.™.¨°°a°S¸rÔB‘Cð "ä—n‘n S¨A´´e¸A³h³ÀbÔI�Ü#¤D¨£I¬t°C«yÕ9ñ !ð ô �q–ˆAÜ˜1˜a–[�Ø�c˜!‘e˜q˜c‘k�Ø™!�f�Ü˜qž�AÜŸ.™.¨°°a°S¸aÔ@‘Cð "ä—n‘n S¨A´´e¸A³h³ÀQÔG�Ü#¤D¨£I¬t°C«yÕ9ñ !ñ r   c           	      ó¤  — t         j                  j                  d«      }t        j                  |j                  D �cg c]  }t	        j
                  |«      ‘Œ c}«      j                  }t	        j
                  |d¬«      }t        ||«       t        j                  |D �cg c]  }t	        j
                  |«      ‘Œ c}«      }t	        j
                  |d¬«      }t        ||«       t        j                  |D �cg c]  }t	        j
                  |d¬«      ‘Œ c}«      }t	        j
                  |dd¬«      }t        ||«       y c c}w c c}w c c}w )N©r   é   r   rš   r	   r   )r�   )r�   r›   )r;   r“   ÚvstackÚTr   r    r   ©r    r|   rd   rC   rD   s        r   Útest_hermeint_axisz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Ã9EN)r,   r-   r.   r¦   r­   r/   r   r   r•   r•   Î   s   „ òQ:óf&r   r•   c                   ó   — e Zd Zd„ Zd„ Zy)ÚTestDerivativec           	      óþ  — t        t        t        j                  dgd«       t        t        t        j                  dgd«       t        d«      D ]A  }dg|z  dgz   }t        j                  |d¬«      }t        t        |«      t        |«      «       ŒC t        d«      D ]g  }t        dd«      D ]V  }dg|z  dgz   }t        j                  t        j                  ||¬«      |¬«      }t        t        |«      t        |«      «       ŒX Œi t        d«      D ]i  }t        dd«      D ]X  }dg|z  dgz   }t        j                  t        j                  ||d¬«      |d¬«      }t        t        |«      t        |«      «       ŒZ Œk y )	Nr   r—   r
   r5   r	   rž   rn   )rœ   r™   )
r   rŸ   r   Úhermederrz   r:   r   r   r    r   )r    r@   rC   rD   rA   s        r   Útest_hermederzTestDerivative.test_hermeder6  s1  € ä”i¤§¡°!°°bÔ9Ü”j¤%§.¡.°1°#°rÔ:ô �q–ˆAØ�#�a‘%˜1˜#‘+ˆCÜ—.‘. ¨Ô*ˆCÜœ˜c›¤D¨£IÕ.ð ô �q–ˆAÜ˜1˜a–[�Ø�c˜!‘e˜q˜c‘k�Ü—n‘n¤U§^¡^°C¸1Ô%=ÀÔC�Ü#¤D¨£I¬t°C«yÕ9ñ !ð ô �q–ˆAÜ˜1˜a–[�Ø�c˜!‘e˜q˜c‘k�Ü—n‘nÜ—N‘N 3¨!°Ô3°q¸bôB�ä#¤D¨£I¬t°C«yÕ9ñ	 !ñ r   c                 óâ  — t         j                  j                  d«      }t        j                  |j                  D �cg c]  }t	        j
                  |«      ‘Œ c}«      j                  }t	        j
                  |d¬«      }t        ||«       t        j                  |D �cg c]  }t	        j
                  |«      ‘Œ c}«      }t	        j
                  |d¬«      }t        ||«       y c c}w c c}w )Nr¨   r   rš   r	   )r;   r“   rª   r«   r   r±   r   r¬   s        r   Útest_hermeder_axisz!TestDerivative.test_hermeder_axisP  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'Â C,N)r,   r-   r.   r²   r´   r/   r   r   r¯   r¯   4  s   „ ò:ó4
&r   r¯   c                   ó`   — e Zd Zej                  j	                  d«      dz  dz
  Zd„ Zd„ Zd„ Zy)Ú
TestVanderrm   rn   r	   c                 ó  — t        j                  d«      }t        j                  |d«      }t	        |j
                  dk(  «       t        d«      D ]1  }dg|z  dgz   }t        |d|f   t        j                  ||«      «       Œ3 t        j                  ddgddgdd	gg«      }t        j                  |d«      }t	        |j
                  d
k(  «       t        d«      D ]1  }dg|z  dgz   }t        |d|f   t        j                  ||«      «       Œ3 y )Nr   r¨   r©   r   r	   .rn   r5   é   )r   rn   r©   )
r;   ra   r   Úhermevanderr   rs   r:   r   rO   rb   )r    r   Úvr@   Úcoefs        r   Útest_hermevanderzTestVander.test_hermevandera  sð   € ä�I‰I�a‹LˆÜ×Ñ˜a Ó#ˆÜ�—‘˜6Ñ!Ô"Ü�q–ˆAØ�3�q‘5˜A˜3‘;ˆDÜ  # q &¡	¬5¯>©>¸!¸TÓ+BÕCð ô
 �H‰H�q˜!�f˜q !˜f q¨! fÐ-Ó.ˆÜ×Ñ˜a Ó#ˆÜ�—‘˜9Ñ$Ô%Ü�q–ˆAØ�3�q‘5˜A˜3‘;ˆDÜ  # q &¡	¬5¯>©>¸!¸TÓ+BÕCñ r   c                 ó€  — | j                   \  }}}t        j                  j                  d«      }t        j                  ||ddg«      }t        j
                  |||«      }t        j                  ||j                  «      }t        ||«       t        j                  |g|gddg«      }t        |j                  dk(  «       y )Nry   r	   rn   )r	   r5   r¸   )r   r;   r“   r   Úhermevander2dr{   ÚdotÚflatr   r   rs   ©r    r   r€   r�   rd   ÚvanrC   rD   s           r   Útest_hermevander2dzTestVander.test_hermevander2dr  sž   € à—V‘V‰
ˆˆB�Ü�I‰I×Ñ˜VÓ$ˆÜ×!Ñ! " b¨1¨a¨&Ó1ˆÜ×Ñ˜r 2 qÓ)ˆÜ�f‰f�S˜!Ÿ&™&Ó!ˆÜ˜C Ô%ô ×!Ñ! 2 $¨¨¨q°!¨fÓ5ˆÜ�—	‘	˜YÑ&Õ'r   c                 óˆ  — | j                   \  }}}t        j                  j                  d«      }t        j                  |||g d¢«      }t        j
                  ||||«      }t        j                  ||j                  «      }t        ||«       t        j                  |g|g|gg d¢«      }t        |j                  dk(  «       y )N)rn   r   r©   )r	   rn   r   )r	   r5   é   )r   r;   r“   r   Úhermevander3drˆ   r¿   rÀ   r   r   rs   rÁ   s           r   Útest_hermevander3dzTestVander.test_hermevander3d  sž   € à—V‘V‰
ˆˆB�Ü�I‰I×Ñ˜YÓ'ˆÜ×!Ñ! " b¨"ªiÓ8ˆÜ×Ñ˜r 2 r¨1Ó-ˆÜ�f‰f�S˜!Ÿ&™&Ó!ˆÜ˜C Ô%ô ×!Ñ! 2 $¨¨¨r¨d²IÓ>ˆÜ�—	‘	˜ZÑ'Õ(r   N)	r,   r-   r.   r;   r“   r   r¼   rÃ   rÇ   r/   r   r   r¶   r¶   ]  s0   „ à
�	‰	×Ñ˜Ó  Ñ" QÑ&€AòDò"(ó)r   r¶   c                   ó   — e Zd Zd„ Zy)ÚTestFittingc           	      óV  — d„ }d„ }t        t        t        j                  dgdgd«       t        t        t        j                  dggdgd«       t        t        t        j                  g dgd«       t        t        t        j                  dgdgggd«       t        t        t        j                  ddgdgd«       t        t        t        j                  dgddgd«       t        t        t        j                  dgdgddgg¬«       t        t        t        j                  dgdgdddg¬«       t        t        t        j                  dgdgdg«       t        t        t        j                  dgdgg d¢«       t        t        t        j                  dgdgg «       t        j                  dd«      } ||«      }t        j                  ||d	«      }t        t        |«      d
«       t        t        j                  ||«      |«       t        j                  ||g d¢«      }t        t        |«      d
«       t        t        j                  ||«      |«       t        j                  ||d
«      }t        t        |«      d«       t        t        j                  ||«      |«       t        j                  ||g d¢«      }t        t        |«      d«       t        t        j                  ||«      |«       t        j                  ||g d¢«      }t        t        |«      d«       t        t        j                  ||«      |«       t        j                  |t        j                  ||g«      j                  d	«      }t        |t        j                  ||g«      j                  «       t        j                  |t        j                  ||g«      j                  g d¢«      }t        |t        j                  ||g«      j                  «       t        j                  |«      }|j                  «       }	d|dd d…<   d|dd d…<   t        j                  ||	d	|¬«      }
t        |
|«       t        j                  ||	g d¢|¬«      }
t        |
|«       t        j                  |t        j                  |	|	g«      j                  d	|¬«      }t        |t        j                  ||g«      j                  «       t        j                  |t        j                  |	|	g«      j                  g d¢|¬«      }t        |t        j                  ||g«      j                  «       g d¢}t        t        j                  ||d«      ddg«       t        t        j                  ||ddg«      ddg«       t        j                  dd«      } ||«      }t        j                  ||d
«      }t        t        j                  ||«      |«       t        j                  ||g d¢«      }t        t        j                  ||«      |«       t        ||«       y )Nc                 ó   — | | dz
  z  | dz
  z  S )Nr	   rn   r/   r   s    r   Úfz$TestFitting.test_hermefit.<locals>.f�  s   € Ø�a˜!‘e‘9˜a !™eÑ$Ð$r   c                 ó   — | dz  | dz  z   dz   S )Nr©   rn   r	   r/   r   s    r   Úf2z%TestFitting.test_hermefit.<locals>.f2“  s   € Ø�a‘4˜!˜Q™$‘; ‘?Ð"r   r	   r
   r   rn   )Úw)rn   r
   r¸   r   r©   )r   r	   rn   r   r5   )r   r	   rn   r   r©   )rn   r   r©   r	   r   )r	   y              ð?r
   y       €      ð¿)r   rn   r©   )r   rz   r   ÚhermefitrŸ   r;   rf   r   rQ   r   rO   rb   r«   Ú
zeros_likeÚcopy)r    rÌ   rÎ   r   rt   Úcoef3Úcoef4Úcoef2drÏ   ÚywÚwcoef3Úwcoef2dÚcoef1Úcoef2s                 r   Útest_hermefitzTestFitting.test_hermefit�  s�  € ò	%ò	#ô 	”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¨eÓ4°aÔ8Ü—‘˜q !¢\Ó2ˆÜ”S˜“Z Ô#ÜœEŸN™N¨1¨eÓ4°aÔ8ä—‘˜q ! QÓ'ˆÜ”S˜“Z Ô#ÜœEŸN™N¨1¨eÓ4°aÔ8Ü—‘˜q !¢_Ó5ˆÜ”S˜“Z Ô#ÜœEŸN™N¨1¨eÓ4°aÔ8ä—‘˜q !¢_Ó5ˆÜ”S˜“Z Ô#ÜœEŸN™N¨1¨eÓ4°aÔ8ä—‘ ¤2§8¡8¨Q°¨FÓ#3×#5Ñ#5°qÓ9ˆÜ˜F¤B§H¡H¨e°U¨^Ó$<×$>Ñ$>Ô?Ü—‘ ¤2§8¡8¨Q°¨FÓ#3×#5Ñ#5²|ÓDˆÜ˜F¤B§H¡H¨e°U¨^Ó$<×$>Ñ$>Ô?ä�M‰M˜!ÓˆØ�V‰V‹XˆØˆˆ!ˆ$ˆQˆ$‰Øˆˆ!ˆ$ˆQˆ$‰Ü—‘  2 q¨AÔ.ˆÜ˜F EÔ*Ü—‘  2¢|°qÔ9ˆÜ˜F EÔ*ä—.‘. ¤B§H¡H¨b°"¨XÓ$6×$8Ñ$8¸!¸qÔAˆÜ˜G¤R§X¡X¨u°e¨nÓ%=×%?Ñ%?Ô@Ü—.‘. ¤B§H¡H¨b°"¨XÓ$6×$8Ñ$8º,È!ÔLˆÜ˜G¤R§X¡X¨u°e¨nÓ%=×%?Ñ%?Ô@ò ˆÜœEŸN™N¨1¨a°Ó3°a¸°VÔ<ÜœEŸN™N¨1¨a°!°Q°Ó8¸1¸a¸&ÔAä�K‰K˜˜AÓˆÙˆq‹EˆÜ—‘˜q ! QÓ'ˆÜœEŸN™N¨1¨eÓ4°aÔ8Ü—‘˜q !¢YÓ/ˆÜœEŸN™N¨1¨eÓ4°aÔ8Ü˜E 5Õ)r   N)r,   r-   r.   rÛ   r/   r   r   rÉ   rÉ   �  s   „ óH*r   rÉ   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚTestCompanionc                 ó‚   — t        t        t        j                  g «       t        t        t        j                  dg«       y r&   )r   rz   r   Úhermecompanionr   s    r   Útest_raiseszTestCompanion.test_raisesÜ  s(   € Ü”j¤%×"6Ñ"6¸Ô;Ü”j¤%×"6Ñ"6¸¸Õ<r   c                 ó”   — t        dd«      D ]9  }dg|z  dgz   }t        t        j                  |«      j                  ||fk(  «       Œ; y )Nr	   r5   r   )r:   r   r   rß   rs   )r    r@   r»   s      r   Útest_dimensionszTestCompanion.test_dimensionsà  sE   € Ü�q˜!–ˆAØ�3�q‘5˜A˜3‘;ˆDÜ”E×(Ñ(¨Ó.×4Ñ4¸¸A¸Ñ>Õ?ñ r   c                 óP   — t        t        j                  ddg«      d   dk(  «       y )Nr	   rn   )r   r   ç      à¿)r   r   rß   r   s    r   Útest_linear_rootzTestCompanion.test_linear_rootå  s#   € Ü”×$Ñ$ a¨ VÓ,¨TÑ2°cÑ9Õ:r   N)r,   r-   r.   rà   râ   rå   r/   r   r   rÝ   rÝ   Ú  s   „ ò=ò@ó
;r   rÝ   c                   ó   — e Zd Zd„ Zy)Ú	TestGaussc                 óÎ  — t        j                  d«      \  }}t        j                  |d«      }t        j                  |j
                  |z  |«      }dt        j                  |j                  «       «      z  }|d d …d f   |z  |z  }t        |t        j                  d«      «       t        j                  dt        j                  z  «      }t        |j                  «       |«       y )Nr2   éc   r	   rn   )r   Ú
hermegaussr¹   r;   r¿   r«   ÚsqrtÚdiagonalr   ÚeyeÚpiÚsum)r    r   rÏ   rº   ÚvvÚvdrC   s          r   Útest_100zTestGauss.test_100ë  s¬   € Ü×Ñ Ó$‰ˆˆ1ô
 ×Ñ˜a Ó$ˆÜ�V‰V�A—C‘C˜!‘G˜QÓˆØŒr�w‰w�r—{‘{“}Ó%Ñ%ˆØ’�4�‰[˜2Ñ Ñ"ˆÜ˜B¤§¡ s£Ô,ô �g‰g�aœŸ™‘gÓˆÜ˜AŸE™E›G SÕ)r   N)r,   r-   r.   rò   r/   r   r   rç   rç   é  s   „ ó*r   rç   c                   ó6   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	y)	ÚTestMiscc           	      óð  — t        j                  g «      }t        t        |«      dg«       t	        dd«      D ]¼  }t        j                  t        j                  t
        j                   dd|z  dz   «      dd d…   «      }t        j                  |«      }t        j                  ||«      }d}t        t        |«      |dz   k(  «       t        t        j                  |«      d   d«       t        ||«       Œ¾ y )Nr	   r5   r   rn   r
   )r   Úhermefromrootsr   r   r:   r;   Úcosrf   rî   rO   r   rQ   r¢   )r    rD   r@   Úrootsr¤   rC   s         r   Útest_hermefromrootszTestMisc.test_hermefromrootsþ  sÄ   € Ü×"Ñ" 2Ó&ˆÜœD ›I¨ sÔ+Ü�q˜!–ˆAÜ—F‘Fœ2Ÿ;™;¬¯© v¨q°!°A±#¸±'Ó:¸1¸4¸a¸4Ñ@ÓAˆEÜ×&Ñ& uÓ-ˆCÜ—.‘. ¨Ó,ˆCØˆCÜ”C˜“H  A¡Ñ%Ô&Ü¤× 0Ñ 0°Ó 5°bÑ 9¸1Ô=Ü  SÕ)ñ r   c                 ód  — t        t        j                  dg«      g «       t        t        j                  ddg«      dg«       t        dd«      D ]_  }t	        j
                  dd|«      }t        j                  t        j                  |«      «      }t        t        |«      t        |«      «       Œa y )Nr	   r
   rn   r5   )r   r   Ú
hermerootsr:   r;   rf   rö   r   )r    r@   rC   rD   s       r   Útest_hermerootsz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                 ó  — g d¢}t        t        t        j                  |d«       t	        t        j                  |«      |d d «       t	        t        j                  |d«      |d d «       t	        t        j                  |d«      dg«       y )N)rn   r
   r	   r   r
   r	   r   rn   r   )r   rz   r   r   r   )r    r»   s     r   Útest_hermetrimz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                 óH   — t        t        j                  dd«      ddg«       y )Nr   r©   )r   r   Ú	hermeliner   s    r   Útest_hermelinezTestMisc.test_hermeline  s   € Ü”U—_‘_ Q¨Ó*¨Q°¨FÕ3r   c                 ó€   — t        d«      D ]0  }t        t        j                  dg|z  dgz   «      t        |   «       Œ2 y ©Nrp   r   r	   )r:   r   r   r¢   rr   ©r    r@   s     r   Útest_herme2polyzTestMisc.test_herme2poly   s5   € Ü�r–ˆAÜ¤× 0Ñ 0°!°°Q±¸!¸±Ó =¼vÀa¹yÕIñ r   c                 ó€   — t        d«      D ]0  }t        t        j                  t        |   «      dg|z  dgz   «       Œ2 y r  )r:   r   r   r¡   rr   r  s     r   Útest_poly2hermezTestMisc.test_poly2herme$  s5   € Ü�r–ˆAÜ¤× 0Ñ 0´¸±Ó ;¸a¸SÀ¹UÀaÀS¹[ÕIñ r   c                 óª   — t        j                  ddd«      }t        j                  d|dz  z  «      }t        j                  |«      }t        ||«       y )Néûÿÿÿr5   é   rä   rn   )r;   rf   Úexpr   Úhermeweightr   )r    r   rC   rD   s       r   Útest_weightzTestMisc.test_weight(  sD   € Ü�K‰K˜˜A˜rÓ"ˆÜ�f‰f�S˜˜A™‘XÓˆÜ×Ñ Ó"ˆÜ˜C Õ%r   N)
r,   r-   r.   rù   rü   rþ   r  r  r  r  r/   r   r   rô   rô   ü  s'   „ ò
*ò6ò	4ò4òJòJó&r   rô   )'Ú__doc__Ú	functoolsr   Únumpyr;   Únumpy.polynomial.hermite_eÚ
polynomialÚ	hermite_er   Únumpy.polynomial.polynomialr   Únumpy.testingr   r   r   r   rb   ÚHe0ÚHe1ÚHe2ÚHe3ÚHe4ÚHe5ÚHe6ÚHe7ÚHe8ÚHe9rr   r   r   r1   rh   r•   r¯   r¶   rÉ   rÝ   rç   rô   r/   r   r   Ú<module>r      sc  ðñõ ã ß *Ð *Ý /÷ó ð €b‡h�h�ˆsƒm€Ø€b‡h�h��1ˆvÓ€Ø€b‡h�hŠzÓ€Ø€b‡h�hŠ}Ó€Ø€b‡h�hÒÓ €Ø€b‡h�hÒ$Ó%€Ø€b‡h�hÒ)Ó*€Ø€b‡h�hÒ.Ó/€Ø€b‡h�hÒ3Ó4€Ø€b‡h�hÒ7Ó8€à
ˆs�C˜˜c 3¨¨S°#°sÐ	;€ò(÷+ñ +÷?@ñ ?@÷D['ñ ['÷|c&ñ c&÷L&&ñ &&÷R-)ñ -)÷`J*ñ J*÷Z;ñ ;÷*ñ *÷&0&ò 0&r   