Ë
    ÷U.j»J  ã            
       óÆ  — 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 module.

é    )ÚreduceN)Úpolyval)Úassert_almost_equalÚassert_raisesÚassert_equalÚassert_é   é   )éþÿÿÿ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                 ó0   — t        j                  | d¬«      S )Ng�íµ ÷Æ°>)Útol)ÚhermÚhermtrim©Úxs    úeC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\numpy/polynomial/tests/test_hermite.pyÚtrimr      s   € Ü�=‰=˜ Ô%Ð%ó    c                   ó$   — e Zd Zd„ Zd„ Zd„ Zd„ Zy)ÚTestConstantsc                 ó<   — t        t        j                  ddg«       y )Néÿÿÿÿr	   )r   r   Ú
hermdomain©Úselfs    r   Útest_hermdomainzTestConstants.test_hermdomain!   s   € Ü”T—_‘_ r¨1 gÕ.r   c                 ó:   — t        t        j                  dg«       y )Nr   )r   r   Úhermzeror#   s    r   Útest_hermzerozTestConstants.test_hermzero$   s   € Ü”T—]‘] Q CÕ(r   c                 ó:   — t        t        j                  dg«       y ©Nr	   )r   r   Úhermoner#   s    r   Útest_hermonezTestConstants.test_hermone'   s   € Ü”T—\‘\ A 3Õ'r   c                 ó<   — t        t        j                  ddg«       y )Nr   ç      à?)r   r   Úhermxr#   s    r   Ú
test_hermxzTestConstants.test_hermx*   s   € Ü”T—Z‘Z ! R Õ)r   N)Ú__name__Ú
__module__Ú__qualname__r%   r(   r,   r0   © r   r   r   r      s   „ ò/ò)ò(ó*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
)ÚTestArithmeticéýÿÿÿé   é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   Úhermaddr   r   ©r$   ÚiÚjÚmsgÚtgtÚress         r   Útest_hermaddzTestArithmetic.test_hermadd1   óž   € Ü�q–ˆAÜ˜1–X�Ø˜a˜S  Q CÐ(�Ü—h‘hœs 1 a›y¨1™}Ó-�Ø�A“˜!‘“Ø�A“˜!‘“Ü—l‘l A 3 q¡5¨A¨3¡;°°°A±¸¸±Ó<�Üœ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 r;   )rA   rB   rC   rD   r   Úhermsubr   r   rF   s         r   Útest_hermsubzTestArithmetic.test_hermsub;   rM   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	   r.   r<   )r   r   ÚhermmulxrA   )r$   rG   ÚserrJ   s       r   Útest_hermmulxzTestArithmetic.test_hermmulxE   s€   € Ü”T—]‘] A 3Ó'¨!¨Ô-Ü”T—]‘] A 3Ó'¨!¨R¨Ô1Ü�q˜!–ˆAØ�#�a‘%˜1˜#‘+ˆCØ�#�q˜1‘u‘+  A r 
Ñ*ˆCÜœŸ™ sÓ+¨SÕ1ñ 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 )Nr<   r   r	   r=   r>   r?   )rA   r   Úhermvalr   Úhermmulr   Úlenr   )
r$   rG   Úpol1Úval1rH   rI   Úpol2Úval2Úpol3Úval3s
             r   Útest_hermmulzTestArithmetic.test_hermmulM   sÉ   € ä�q–ˆAØ�3�q‘5˜A˜3‘;ˆDÜ—<‘< §¡¨Ó-ˆDÜ˜1–X�Ø˜a˜S  Q CÐ(�Ø�s˜1‘u ˜s‘{�Ü—|‘| D§F¡F¨DÓ1�Ü—|‘| D¨$Ó/�Ü—|‘| D§F¡F¨DÓ1�Üœ˜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 )Nr<   r=   r>   r   r	   r?   )rA   r   rE   ÚhermdivrW   r   r   )
r$   rG   rH   rI   ÚciÚcjrJ   ÚquoÚremrK   s
             r   Útest_hermdivzTestArithmetic.test_hermdiv[   s¥   € Ü�q–ˆAÜ˜1–X�Ø˜a˜S  Q CÐ(�Ø�S˜‘U˜a˜S‘[�Ø�S˜‘U˜a˜S‘[�Ü—l‘l 2 rÓ*�ÜŸ<™<¨¨RÓ0‘��SÜ—l‘l¤4§<¡<°°RÓ#8¸#Ó>�Üœ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 )Nr<   r=   r>   r	   r?   )
rA   rB   Úaranger   r   rW   ÚarrayÚhermpowr   r   )r$   rG   rH   rI   ÚcrJ   rK   s          r   Útest_hermpowzTestArithmetic.test_hermpowf   sˆ   € Ü�q–ˆAÜ˜1–X�Ø˜a˜S  Q CÐ(�Ü—I‘I˜a !™eÓ$�ÜœTŸ\™\¨A¨3¨q©5´"·(±(¸A¸3³-Ó@�Ü—l‘l 1 aÓ(�ÜœT #›Y¬¨S«	¸3Ö?ñ ñ r   N)r1   r2   r3   rB   Úlinspacer   rL   rP   rT   r_   rf   rl   r4   r   r   r6   r6   .   s9   „ Øˆ�‰�B˜˜3Ó€Aò@ò@ò2òBò	@ó@r   r6   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      @ç      ð?g      è?úi,j->ijú
i,j,k->ijk©r8   r<   r
   r	   )rp   g       @g      @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!   é
   r=   r?   r8   r
   )r	   r   r   )r   r   rV   ÚsizerB   rm   ÚHlistr   rA   r   rC   Úshape)	r$   r   rk   ÚyrG   rI   rJ   rK   Údimss	            r   Útest_hermvalzTestEvaluation.test_hermvalz   s  € ä”T—\‘\ " q cÓ*×/Ñ/°Ô3ô �K‰K˜˜AÓˆÝ$)Ó*¡E˜qŒW�Q˜�] EˆÐ*Ü�r–ˆAØ˜!˜�+ˆCØ�A‘$ˆCÜ—,‘,˜q 1 # a¡%¨1¨#¡+Ó.ˆCÜ  S°#Ö6ð	 ô �q–ˆAØ�3�q‘5ˆDÜ—‘˜“ˆAÜœŸ™ a¨!¨Ó-×3Ñ3°TÔ:ÜœŸ™ a¨!¨Q¨Ó0×6Ñ6¸Ô=ÜœŸ™ aªÓ3×9Ñ9¸4Õ@ñ ùò +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 ©Nr
   ©r
   r8   )r   ry   r   Ú
ValueErrorr   Ú	hermval2dÚc2dr   rB   Úonesr   rx   ©
r$   Úx1Úx2Úx3Úy1Úy2Úy3rJ   rK   Úzs
             r   Útest_hermval2dzTestEvaluation.test_hermval2d�   s¡   € Ø—V‘V‰
ˆˆB�Ø—V‘V‰
ˆˆB�ô 	”j¤$§.¡.°"°b¸¸!°f¸d¿h¹hÔGð �‰eˆÜ�n‰n˜R  T§X¡XÓ.ˆÜ˜C Ô%ô �G‰G�F‹OˆÜ�n‰n˜Q  4§8¡8Ó,ˆÜ�—	‘	˜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 r}   )r   ry   r   r   r   Ú	hermval3dÚc3dr   rB   r‚   r   rx   rƒ   s
             r   Útest_hermval3dzTestEvaluation.test_hermval3d    s«   € Ø—V‘V‰
ˆˆB�Ø—V‘V‰
ˆˆB�ô 	”j¤$§.¡.°"°b¸"¸R¸a¸&À$Ç(Á(ÔKð �‰e�B‰hˆÜ�n‰n˜R  R¨¯©Ó2ˆÜ˜C Ô%ô �G‰G�F‹OˆÜ�n‰n˜Q  1 d§h¡hÓ/ˆÜ�—	‘	˜VÑ#Õ$r   c                 óh  — | j                   \  }}}| j                  \  }}}t        j                  d||«      }t	        j
                  ||| j                  «      }t        ||«       t        j                  d«      }	t	        j
                  |	|	| j                  «      }t        |j                  dk(  «       y )Nrq   r~   )r
   r8   r
   r8   )r   ry   rB   Úeinsumr   Ú
hermgrid2dr�   r   r‚   r   rx   rƒ   s
             r   Útest_hermgrid2dzTestEvaluation.test_hermgrid2d±   sŠ   € Ø—V‘V‰
ˆˆB�Ø—V‘V‰
ˆˆB�ô �i‰i˜	 2 rÓ*ˆÜ�o‰o˜b " d§h¡hÓ/ˆÜ˜C Ô%ô �G‰G�F‹OˆÜ�o‰o˜a  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 )Nrr   r~   )r
   r8   r
   r8   r
   r8   )r   ry   rB   r‘   r   Ú
hermgrid3drŽ   r   r‚   r   rx   rƒ   s
             r   Útest_hermgrid3dzTestEvaluation.test_hermgrid3d¿   s�   € Ø—V‘V‰
ˆˆB�Ø—V‘V‰
ˆˆB�ô �i‰i˜ b¨"¨bÓ1ˆÜ�o‰o˜b " b¨$¯(©(Ó3ˆÜ˜C Ô%ô �G‰G�F‹OˆÜ�o‰o˜a  A t§x¡xÓ0ˆÜ�—	‘	˜XÑ%Õ&r   N)r1   r2   r3   rB   ri   Úc1dr‘   r�   rŽ   Úrandomr   r   ry   r{   r‹   r�   r“   r–   r4   r   r   ro   ro   p   s‚   „ à
ˆ"�(‰(’>Ó
"€CØ
ˆ"�)‰)�I˜s CÓ
(€CØ
ˆ"�)‰)�L # s¨CÓ
0€Cð 	�	‰	×Ñ˜Ó  Ñ" QÑ&€AÙ�’<Ó €AòAò*%ò"%ò"'ó'r   ro   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!   r	   )Úlbnd)Úscl©Úaxisr
   r<   )ÚmÚk)r    r¡   rœ   )r    r¡   r�   ©r    )r   Ú	TypeErrorr   Úhermintr   rA   r   Ú	poly2hermÚ	herm2polyr   rV   Úlist)
r$   rG   r¡   rK   r�   ÚpolrJ   Úhermpolr¤   rH   s
             r   Útest_hermintzTestIntegral.test_hermintÐ   s]  € ä”i¤§¡°¨s°BÔ7Ü”j¤$§,¡,°°°RÔ8Ü”j¤$§,¡,°°°Q¸¸A¸Ô?Ü”j¤$§,¡,°°¸1¸#Õ>Ü”j¤$§,¡,°°¸!¸Õ=Ü”i¤§¡°¨s¸Õ<ô �q˜!–ˆAØ��Q˜‘U‘˜q˜cÑ!ˆAÜ—,‘, ˜s a¨1Ô-ˆCÜ  a¨ WÕ-ð ô �q–ˆAØ�a‘%ˆCØ�#�a‘%˜1˜#‘+ˆCØ�#˜˜˜A™‘+  3¡ Ñ'ˆCÜ—n‘n SÓ)ˆGÜ—l‘l 7¨a°A°3Ô7ˆGÜ—.‘. Ó)ˆCÜ¤ S£	¬4°«9Õ5ð ô �q–ˆAØ�a‘%ˆCØ�#�a‘%˜1˜#‘+ˆCÜ—n‘n SÓ)ˆGÜ—l‘l 7¨a°A°3¸RÔ@ˆGÜ¤§¡¨R°Ó 9¸1Õ=ð ô �q–ˆAØ�a‘%ˆCØ�#�a‘%˜1˜#‘+ˆCØ�#˜˜˜A™‘+  3¡ Ñ'ˆCÜ—n‘n SÓ)ˆGÜ—l‘l 7¨a°A°3¸AÔ>ˆGÜ—.‘. Ó)ˆCÜ¤ S£	¬4°«9Õ5ð ô �q–ˆAÜ˜1˜a–[�Ø�c˜!‘e˜q˜c‘k�Ø™!�f�Ü˜qž�AÜŸ,™, s¨aÔ0‘Cð "ä—l‘l 3¨!Ô,�Ü#¤D¨£I¬t°C«yÕ9ñ !ð ô �q–ˆAÜ˜1˜a–[�Ø�c˜!‘e˜q˜c‘k�Ø™!�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˜!‘e˜q˜c‘k�Ø™!�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˜!‘e˜q˜c‘k�Ø™!�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           	      ó¤  — 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©r8   r   r   rž   r	   r8   )r¡   )r¡   rŸ   )rB   r˜   ÚvstackÚTr   r¤   r   ©r$   r�   rk   rJ   rK   s        r   Útest_hermint_axisz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Ã9EN)r1   r2   r3   rª   r°   r4   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!   r<   r	   r¢   r
   )r    r�   )
r   r£   r   Úhermderr   rA   r   r   r¤   r   )r$   rG   rJ   rK   rH   s        r   Útest_hermderzTestDerivative.test_hermder6  s-  € ä”i¤§¡°¨s°BÔ7Ü”j¤$§,¡,°°°RÔ8ô �q–ˆAØ�#�a‘%˜1˜#‘+ˆCÜ—,‘,˜s aÔ(ˆCÜœ˜c›¤D¨£IÕ.ð ô �q–ˆAÜ˜1˜a–[�Ø�c˜!‘e˜q˜c‘k�Ü—l‘l¤4§<¡<°°qÔ#9¸QÔ?�Ü#¤D¨£I¬t°C«yÕ9ñ !ð ô �q–ˆAÜ˜1˜a–[�Ø�c˜!‘e˜q˜c‘k�Ü—l‘l¤4§<¡<°°q¸aÔ#@ÀAÈ2ÔN�Ü#¤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	   )rB   r˜   r­   r®   r   r´   r   r¯   s        r   Útest_hermder_axisz TestDerivative.test_hermder_axisO  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'Â C,N)r1   r2   r3   rµ   r·   r4   r   r   r²   r²   4  s   „ ò:ó2
&r   r²   c                   ó`   — e Zd Zej                  j	                  d«      dz  dz
  Zd„ Zd„ Zd„ Zy)Ú
TestVanderrs   r
   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 )Nr8   r¬   r   r   r	   .r
   r<   é   )r8   r
   r   )
rB   rh   r   Ú
hermvanderr   rx   rA   r   rV   ri   )r$   r   ÚvrG   Úcoefs        r   Útest_hermvanderzTestVander.test_hermvander`  sì   € ä�I‰I�a‹LˆÜ�O‰O˜A˜qÓ!ˆÜ�—‘˜6Ñ!Ô"Ü�q–ˆAØ�3�q‘5˜A˜3‘;ˆDÜ  # q &¡	¬4¯<©<¸¸4Ó+@ÕAð ô
 �H‰H�q˜!�f˜q !˜f q¨! fÐ-Ó.ˆÜ�O‰O˜A˜qÓ!ˆÜ�—‘˜9Ñ$Ô%Ü�q–ˆAØ�3�q‘5˜A˜3‘;ˆDÜ  # q &¡	¬4¯<©<¸¸4Ó+@ÕAñ 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 )Nr~   r	   r
   )r	   r<   r»   )r   rB   r˜   r   Úhermvander2dr€   ÚdotÚflatr   r   rx   ©r$   r„   r…   r†   rk   ÚvanrJ   rK   s           r   Útest_hermvander2dzTestVander.test_hermvander2dq  sœ   € à—V‘V‰
ˆˆB�Ü�I‰I×Ñ˜VÓ$ˆÜ×Ñ  B¨¨A¨Ó/ˆÜ�n‰n˜R  QÓ'ˆÜ�f‰f�S˜!Ÿ&™&Ó!ˆÜ˜C Ô%ô ×Ñ   r d¨Q°¨FÓ3ˆÜ�—	‘	˜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)r
   r8   r   )r	   r
   r8   )r	   r<   é   )r   rB   r˜   r   Úhermvander3dr�   rÂ   rÃ   r   r   rx   rÄ   s           r   Útest_hermvander3dzTestVander.test_hermvander3d~  sœ   € à—V‘V‰
ˆˆB�Ü�I‰I×Ñ˜YÓ'ˆÜ×Ñ  B¨ªIÓ6ˆÜ�n‰n˜R  R¨Ó+ˆÜ�f‰f�S˜!Ÿ&™&Ó!ˆÜ˜C Ô%ô ×Ñ   r d¨R¨D²)Ó<ˆÜ�—	‘	˜ZÑ'Õ(r   N)	r1   r2   r3   rB   r˜   r   r¿   rÆ   rÊ   r4   r   r   r¹   r¹   \  s0   „ à
�	‰	×Ñ˜Ó  Ñ" QÑ&€AòBò"(ó)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	   r
   r4   r   s    r   Úfz#TestFitting.test_hermfit.<locals>.f�  s   € Ø�a˜!‘e‘9˜a !™eÑ$Ð$r   c                 ó   — | dz  | dz  z   dz   S )Nr   r
   r	   r4   r   s    r   Úf2z$TestFitting.test_hermfit.<locals>.f2’  s   € Ø�a‘4˜!˜Q™$‘; ‘?Ð"r   r	   r!   r   r
   )Úw)r
   r!   r»   r8   r   )r   r	   r
   r8   r<   )r   r	   r
   r8   r   )r
   r8   r   r	   r   )r	   y              ð?r!   y       €      ð¿r.   )r   r
   r   )r   r   r   Úhermfitr£   rB   rm   r   rX   r   rV   ri   r®   Ú
zeros_likeÚcopy)r$   rÏ   rÑ   r   ry   Úcoef3Úcoef4Úcoef2drÒ   ÚywÚwcoef3Úwcoef2dÚcoef1Úcoef2s                 r   Útest_hermfitzTestFitting.test_hermfitŽ  s�  € ò	%ò	#ô 	”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¨¨EÓ2°AÔ6Ü—‘˜Q ¢<Ó0ˆÜ”S˜“Z Ô#ÜœDŸL™L¨¨EÓ2°AÔ6ä—‘˜Q  1Ó%ˆÜ”S˜“Z Ô#ÜœDŸL™L¨¨EÓ2°AÔ6Ü—‘˜Q ¢?Ó3ˆÜ”S˜“Z Ô#ÜœDŸL™L¨¨EÓ2°AÔ6ä—‘˜Q ¢?Ó3ˆÜ”S˜“Z Ô#ÜœDŸL™L¨¨EÓ2°AÔ6ä—‘˜a¤§¡¨1¨a¨&Ó!1×!3Ñ!3°QÓ7ˆÜ˜F¤B§H¡H¨e°U¨^Ó$<×$>Ñ$>Ô?Ü—‘˜a¤§¡¨1¨a¨&Ó!1×!3Ñ!3²\ÓBˆÜ˜F¤B§H¡H¨e°U¨^Ó$<×$>Ñ$>Ô?ä�M‰M˜!ÓˆØ�V‰V‹XˆØˆˆ!ˆ$ˆQˆ$‰Øˆˆ!ˆ$ˆQˆ$‰Ü—‘˜a  Q¨!Ô,ˆÜ˜F EÔ*Ü—‘˜a ¢\°QÔ7ˆÜ˜F EÔ*ä—,‘,˜q¤"§(¡(¨B°¨8Ó"4×"6Ñ"6¸¸QÔ?ˆÜ˜G¤R§X¡X¨u°e¨nÓ%=×%?Ñ%?Ô@Ü—,‘,˜q¤"§(¡(¨B°¨8Ó"4×"6Ñ"6ºÈÔJˆÜ˜G¤R§X¡X¨u°e¨nÓ%=×%?Ñ%?Ô@ò ˆÜœDŸL™L¨¨A¨qÓ1°A°r°7Ô;ÜœDŸL™L¨¨A°°1¨vÓ6¸¸B¸Ô@ä�K‰K˜˜AÓˆÙˆq‹EˆÜ—‘˜Q  1Ó%ˆÜœDŸL™L¨¨EÓ2°AÔ6Ü—‘˜Q ¢9Ó-ˆÜœDŸL™L¨¨EÓ2°AÔ6Ü˜E 5Õ)r   N)r1   r2   r3   rÞ   r4   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   r   r   Úhermcompanionr#   s    r   Útest_raiseszTestCompanion.test_raisesÛ  s(   € Ü”j¤$×"4Ñ"4°bÔ9Ü”j¤$×"4Ñ"4°q°cÕ:r   c                 ó”   — t        dd«      D ]9  }dg|z  dgz   }t        t        j                  |«      j                  ||fk(  «       Œ; y )Nr	   r<   r   )rA   r   r   râ   rx   )r$   rG   r¾   s      r   Útest_dimensionszTestCompanion.test_dimensionsß  sE   € Ü�q˜!–ˆAØ�3�q‘5˜A˜3‘;ˆDÜ”D×&Ñ& tÓ,×2Ñ2°q¸!°fÑ<Õ=ñ r   c                 óP   — t        t        j                  ddg«      d   dk(  «       y )Nr	   r
   )r   r   g      Ð¿)r   r   râ   r#   s    r   Útest_linear_rootzTestCompanion.test_linear_rootä  s#   € Ü”×"Ñ" A q 6Ó*¨4Ñ0°DÑ8Õ9r   N)r1   r2   r3   rã   rå   rç   r4   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                  t        j                  «      }t        |j                  «       |«       y )Nr9   éc   r	   )r   Ú	hermgaussr¼   rB   rÂ   r®   ÚsqrtÚdiagonalr   ÚeyeÚpiÚsum)r$   r   rÒ   r½   ÚvvÚvdrJ   s          r   Útest_100zTestGauss.test_100ê  s£   € Ü�~‰~˜cÓ"‰ˆˆ1ô
 �O‰O˜A˜rÓ"ˆÜ�V‰V�A—C‘C˜!‘G˜QÓˆØŒr�w‰w�r—{‘{“}Ó%Ñ%ˆØ’�4�‰[˜2Ñ Ñ"ˆÜ˜B¤§¡ s£Ô,ô �g‰g”b—e‘e‹nˆÜ˜AŸE™E›G SÕ)r   N)r1   r2   r3   rô   r4   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	   r<   r   r
   r!   )r   Úhermfromrootsr   r   rA   rB   Úcosrm   rð   rV   r   rX   r¦   )r$   rK   rG   Úrootsr¨   rJ   s         r   Útest_hermfromrootszTestMisc.test_hermfromrootsý  sÂ   € Ü× Ñ  Ó$ˆÜœD ›I¨ sÔ+Ü�q˜!–ˆAÜ—F‘Fœ2Ÿ;™;¬¯© v¨q°!°A±#¸±'Ó:¸1¸4¸a¸4Ñ@ÓAˆEÜ×$Ñ$ UÓ+ˆCÜ—,‘,˜u cÓ*ˆCØˆCÜ”C˜“H  A¡Ñ%Ô&Ü¤§¡¨sÓ 3°BÑ 7¸Ô;Ü  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	   g      à¿r
   r<   r!   )r   r   Ú	hermrootsrA   rB   rm   rø   r   )r$   rG   rJ   rK   s       r   Útest_hermrootsz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                 ó  — 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)r
   r!   r	   r   r!   r	   r7   r
   r   )r   r   r   r   r   )r$   r¾   s     r   Útest_hermtrimzTestMisc.test_hermtrim  sh   € Úˆô 	”j¤$§-¡-°°rÔ:ô 	”T—]‘] 4Ó(¨$¨s°¨)Ô4Ü”T—]‘] 4¨Ó+¨T°#°2¨YÔ7Ü”T—]‘] 4¨Ó+¨a¨SÕ1r   c                 óH   — t        t        j                  dd«      ddg«       y )Nr8   r   r
   )r   r   Úhermliner#   s    r   Útest_hermlinezTestMisc.test_hermline  s   € Ü”T—]‘] 1 aÓ(¨1¨a¨&Õ1r   c                 ó€   — t        d«      D ]0  }t        t        j                  dg|z  dgz   «      t        |   «       Œ2 y ©Nru   r   r	   )rA   r   r   r¦   rw   ©r$   rG   s     r   Útest_herm2polyzTestMisc.test_herm2poly  s3   € Ü�r–ˆAÜ¤§¡°¨s°1©u¸°s©{Ó ;¼UÀ1¹XÕFñ r   c                 ó€   — t        d«      D ]0  }t        t        j                  t        |   «      dg|z  dgz   «       Œ2 y r  )rA   r   r   r¥   rw   r  s     r   Útest_poly2hermzTestMisc.test_poly2herm#  s3   € Ü�r–ˆAÜ¤§¡¬u°Q©xÓ 8¸1¸#¸a¹%À1À#¹+ÕFñ r   c                 ó¦   — t        j                  ddd«      }t        j                  |dz   «      }t        j                  |«      }t        ||«       y )Néûÿÿÿr<   é   r
   )rB   rm   Úexpr   Ú
hermweightr   )r$   r   rJ   rK   s       r   Útest_weightzTestMisc.test_weight'  s?   € Ü�K‰K˜˜A˜rÓ"ˆÜ�f‰f�a˜‘d�U‹mˆÜ�o‰o˜aÓ ˆÜ˜C Õ%r   N)
r1   r2   r3   rû   rþ   r   r  r  r	  r  r4   r   r   rö   rö   û  s'   „ ò
*ò6ò	2ò2òGòGó&r   rö   )'Ú__doc__Ú	functoolsr   ÚnumpyrB   Únumpy.polynomial.hermiteÚ
polynomialÚhermiter   Únumpy.polynomial.polynomialr   Únumpy.testingr   r   r   r   ri   ÚH0ÚH1ÚH2ÚH3ÚH4ÚH5ÚH6ÚH7ÚH8ÚH9rw   r   r   r6   ro   rš   r²   r¹   rÌ   rà   ré   rö   r4   r   r   Ú<module>r"     sc  ðñõ ã ß 'Ð 'Ý /÷ó ð €R‡X�Xˆqˆcƒ]€Ø€R‡X�Xˆq�!ˆfÓ€Ø€R‡X�XŠjÓ€Ø€R‡X�XŠnÓ€Ø€R‡X�XÒ!Ó"€Ø€R‡X�XÒ&Ó'€Ø€R‡X�XÒ,Ó-€Ø€R‡X�XÒ3Ó4€Ø€R‡X�XÒ;Ó<€Ø€R‡X�XÒ?Ó@€à	ˆR��R˜˜R  R¨¨RÐ0€ò&÷*ñ *÷?@ñ ?@÷D['ñ ['÷|c&ñ c&÷L%&ñ %&÷P-)ñ -)÷`J*ñ J*÷Z:ñ :÷*ñ *÷&0&ò 0&r   