
    H/PhI              
          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&dS )$zTests for hermite_e module.

    )reduceNpolyval)assert_almost_equalassert_raisesassert_equalassert_   )r   r
   )r   r   r
   )   r   ir   r
   )r      r   ir   r
   )r   -   r   r   r   r
   )r   ir   i   r   ir   r
   )	r   r   i\r      r   ir   r
   )
r   i  r   ir   iz  r   ir   r
   c                 .    t          j        | d          S )Ngư>)tol)herme	hermetrimxs    e/var/www/html/test/jupyter/venv/lib/python3.11/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dS )TestConstantsc                 >    t          t          j        ddg           d S )Nr   r
   )r   r   hermedomainselfs    r   test_hermedomainzTestConstants.test_hermedomain!   s    U&Q00000r   c                 <    t          t          j        dg           d S )Nr   )r   r   	hermezeror    s    r   test_hermezerozTestConstants.test_hermezero$   s    U_qc*****r   c                 <    t          t          j        dg           d S Nr
   )r   r   hermeoner    s    r   test_hermeonezTestConstants.test_hermeone'   s    U^aS)))))r   c                 >    t          t          j        ddg           d S )Nr   r
   )r   r   hermexr    s    r   test_hermexzTestConstants.test_hermex*   s    U\Aq6*****r   N)__name__
__module____qualname__r"   r%   r)   r,    r   r   r   r      sP        1 1 1+ + +* * *+ + + + +r   r   c                   V    e Zd Z ej        ddd          Zd Zd Zd Zd Z	d Z
d	 Zd
S )TestArithmeticr   r   d   c                    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          |          |           d S 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1XX @ @(a((Q((hs1ayy1}--A!A!naSUaS[1#a%1#+>>T#YYS		3?????@	@ 	@r   c                    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          |          |           d S r5   )r;   r<   r=   r>   r   hermesubr   r   r@   s         r   test_hermesubzTestArithmetic.test_hermesub;   rG   r   c                 4   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        |          |           >d S )Nr   r
   r6   )r   r   	hermemulxr;   )r!   rA   serrD   s       r   test_hermemulxzTestArithmetic.test_hermemulxE   s    U_aS))A3///U_aS))Aq6222q! 	4 	4A#a%1#+C#q1u+Aq	)C--s3333	4 	4r   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  |           d S )Nr6   r   r
   r7   r8   r9   )r;   r   hermevalr   hermemulr	   lenr   )
r!   rA   pol1val1rB   rC   pol2val2pol3val3s
             r   test_hermemulzTestArithmetic.test_hermemulM   s   q 
	B 
	BA3q5A3;D>$&$//D1XX B B(a((Q((s1us{~dfd33~dD11~dfd33D		QUQY.444#D$t)SAAAAAB
	B 
	Br   c                    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          |          |           d S )Nr6   r7   r8   r   r
   r9   )r;   r   r?   hermedivrQ   r   r   )
r!   rA   rB   rC   cicjrD   quoremrE   s
             r   test_hermedivzTestArithmetic.test_hermediv[   s    q 	@ 	@A1XX @ @(a((Q((SUaS[SUaS[nR,, >#r22SnU^C%<%<cBBT#YYS		3?????@	@ 	@r   c           	      r   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          |          |           d S )Nr6   r7   r8   r
   r9   )
r;   r<   aranger   r   rQ   arrayhermepowr   r   )r!   rA   rB   rC   crD   rE   s          r   test_hermepowzTestArithmetic.test_hermepowf   s    q 	@ 	@A1XX @ @(a((Q((Ia!e$$U^aSUBHaSMMBBnQ**T#YYS		3?????@	@ 	@r   N)r-   r.   r/   r<   linspacer   rF   rJ   rN   rY   r`   rf   r0   r   r   r2   r2   .   s        B3A@ @ @@ @ @4 4 4B B B	@ 	@ 	@@ @ @ @ @r   r2   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	        	                    d          dz  dz
  Z
 ee
g d          Zd Zd	 Zd
 Zd Zd ZdS )TestEvaluation)g      @       @      @i,j->ij
i,j,k->ijkr   r6      r
   )g      ?rj   rk   c                    t          t          j        g dg          j        d           t	          j        dd          fdt          D             }t          d          D ]>}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
        |           d S )Nr
   r   r   c                 0    g | ]}t          |          S r0   r   ).0re   r   s     r   
<listcomp>z0TestEvaluation.test_hermeval.<locals>.<listcomp>   s!    +++qWQ]]+++r   
   r7   r9   r   ro   )r
   r   r   )r   r   rP   sizer<   rg   Helistr;   r   r=   shape)r!   yrA   rC   rD   rE   dimsr   s          @r   test_hermevalzTestEvaluation.test_hermevalz   sU   U^B,,11555 KA++++F+++r 	7 	7A!++CA$C.QCEQCK00CS#66666 q 	C 	CA3q5DAA3//5t<<<Aq6228$???99955;TBBBB	C 	Cr   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               d S Nro   ro   r   )r   rx   r   
ValueErrorr   
hermeval2dc2dr   r<   onesr	   rw   
r!   x1x2x3y1y2y3rD   rE   zs
             r   test_hermeval2dzTestEvaluation.test_hermeval2d   s    V
BV
B 	j%"2B2A2III er2tx00C%%% GFOOq!TX..	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               d S r|   )r   rx   r   r~   r   
hermeval3dc3dr   r<   r   r	   rw   r   s
             r   test_hermeval3dzTestEvaluation.test_hermeval3d   s    V
BV
B 	j%"2BBrrFDHMMM eBhr2r4844C%%% GFOOq!Q11	V#$$$$$r   c                 B   | j         \  }}}| j        \  }}}t          j        d||          }t	          j        ||| j                  }t          ||           t          j        d          }	t	          j        |	|	| j                  }t          |j
        dk               d S )Nrl   r}   )ro   r   ro   r   )r   rx   r<   einsumr   hermegrid2dr   r   r   r	   rw   r   s
             r   test_hermegrid2dzTestEvaluation.test_hermegrid2d   s    V
BV
B i	2r**B11C%%% GFOO1dh//	X%&&&&&r   c                 H   | j         \  }}}| j        \  }}}t          j        d|||          }t	          j        |||| j                  }t          ||           t          j        d          }	t	          j        |	|	|	| j                  }t          |j
        dk               d S )Nrm   r}   )ro   r   ro   r   ro   r   )r   rx   r<   r   r   hermegrid3dr   r   r   r	   rw   r   s
             r   test_hermegrid3dzTestEvaluation.test_hermegrid3d   s    V
BV
B ib"b11BDH55C%%% GFOO1a22	X%&&&&&r   N)r-   r.   r/   r<   rc   c1dr   r   r   randomr   r   rx   rz   r   r   r   r   r0   r   r   ri   ri   p   s        
"(<<<
 
 C
")IsC
(
(C
")L#sC
0
0C 		  "Q&A<<<  AC C C*% % %"% % %"' ' '' ' ' ' 'r   ri   c                       e Zd Zd Zd ZdS )TestIntegralc                 T   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 ]9}dg|dz
  z  dgz   }t          j        dg||
          }t          |ddg           :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 ]a}|dz   }dg|z  dgz   }t          j        |          }t          j        |d|gd          }t          t          j
        d|          |           bt          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 ]~}	dg|z  dgz   }|d d          }t          |	          D ]}t          j        |d          }t          j        ||	          }t          t          |          t          |                     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          |                     d S )Nr         ?r   r
   )lbnd)sclaxisro   r6   )mk)r   r   r   )r   r   r   r   )r   	TypeErrorr   hermeintr~   r;   r   
poly2herme
herme2polyr   rP   list)
r!   rA   r   rE   r   polrD   hermepolr   rB   s
             r   test_hermeintzTestIntegral.test_hermeint   s   i!b999j%.1#r:::j%.1#q1a&AAAj%.1#QC@@@@j%.1#A3????i!2>>>> q! 	- 	-AQUqc!A.!Q///CaV,,,, q 	6 	6Aa%C#a%1#+C#A+3'C',,H~h!s;;;H"8,,CS		4995555 q 	A 	AAa%C#a%1#+C',,H~h!sDDDHr8 < <a@@@@ q 	6 	6Aa%C#a%1#+C#A+3'C',,H~h!sBBBH"8,,CS		4995555 q 	: 	:A1a[[ : :c!eqck!!!fq 3 3A.222CCnSA...#DIItCyy9999: q 	: 	:A1a[[ : :c!eqck!!!fq : :A.aS999CCnSAeAhh@@@#DIItCyy9999: q 	: 	:A1a[[ : :c!eqck!!!fq C CA.aSrBBBCCnSAeAhhbIII#DIItCyy9999: q 	: 	:A1a[[ : :c!eqck!!!fq A AA.aSa@@@CCnSAeAhhQGGG#DIItCyy9999:	: 	:r   c                    t           j                            d          }t          j        d |j        D                       j        }t	          j        |d          }t          ||           t          j        d |D                       }t	          j        |d          }t          ||           t          j        d |D                       }t	          j        |dd	          }t          ||           d S )
Nr      c                 6    g | ]}t          j        |          S r0   r   r   rr   re   s     r   rs   z3TestIntegral.test_hermeint_axis.<locals>.<listcomp>'  "    :::q**:::r   r   r   c                 6    g | ]}t          j        |          S r0   r   r   s     r   rs   z3TestIntegral.test_hermeint_axis.<locals>.<listcomp>+  "    888q**888r   r
   c                 :    g | ]}t          j        |d           S )r   )r   r   r   s     r   rs   z3TestIntegral.test_hermeint_axis.<locals>.<listcomp>/  s'    ===AQ///===r   r   )r   r   )r<   r   vstackTr   r   r   r!   r   rD   rE   s       r   test_hermeint_axiszTestIntegral.test_hermeint_axis#  s    iv&&i::CE:::;;=nSq)))C%%%i88C88899nSq)))C%%%i=====>>nSAA...C%%%%%r   N)r-   r.   r/   r   r   r0   r   r   r   r      s6        Q: Q: Q:f& & & & &r   r   c                       e Zd Zd Zd ZdS )TestDerivativec           	      V   t          t          t          j        dgd           t          t          t          j        dgd           t          d          D ]L}dg|z  dgz   }t          j        |d          }t          t          |          t          |                     Mt          d          D ]s}t          dd          D ]`}dg|z  dgz   }t          j        t          j        ||          |          }t          t          |          t          |                     att          d          D ]u}t          dd          D ]b}dg|z  dgz   }t          j        t          j        ||d          |d          }t          t          |          t          |                     cvd S )	Nr   r   r   r6   r
   r   ro   )r   r   )
r   r   r   hermederr~   r;   r   r   r   r   )r!   rA   rD   rE   rB   s        r   test_hermederzTestDerivative.test_hermeder6  s   i!b999j%.1#r::: q 	/ 	/A#a%1#+C.***CcDII.... q 	: 	:A1a[[ : :c!eqcknU^C1%=%=%=CCC#DIItCyy9999: q 	: 	:A1a[[ : :c!eqcknN3!333qbB B B#DIItCyy9999	:	: 	:r   c                 h   t           j                            d          }t          j        d |j        D                       j        }t	          j        |d          }t          ||           t          j        d |D                       }t	          j        |d          }t          ||           d S )Nr   c                 6    g | ]}t          j        |          S r0   r   r   r   s     r   rs   z5TestDerivative.test_hermeder_axis.<locals>.<listcomp>T  r   r   r   r   c                 6    g | ]}t          j        |          S r0   r   r   s     r   rs   z5TestDerivative.test_hermeder_axis.<locals>.<listcomp>X  r   r   r
   )r<   r   r   r   r   r   r   r   s       r   test_hermeder_axisz!TestDerivative.test_hermeder_axisP  s    iv&&i::CE:::;;=nSq)))C%%%i88C88899nSq)))C%%%%%r   N)r-   r.   r/   r   r   r0   r   r   r   r   4  s2        : : :4
& 
& 
& 
& 
&r   r   c                   `    e Zd Zej                            d          dz  dz
  Zd Zd Zd ZdS )
TestVanderrn   ro   r
   c                 8   t          j        d          }t          j        |d          }t	          |j        dk               t          d          D ]7}dg|z  dgz   }t          |d|f         t          j        ||                     8t          j	        ddgddgdd	gg          }t          j        |d          }t	          |j        d
k               t          d          D ]7}dg|z  dgz   }t          |d|f         t          j        ||                     8d S )Nr   r   r   r   r
   .ro   r6      )r   ro   r   )
r<   rb   r   hermevanderr	   rw   r;   r   rP   rc   )r!   r   vrA   coefs        r   test_hermevanderzTestVander.test_hermevandera  s+   IaLLa##6!"""q 	D 	DA3q5A3;D#q&	5>!T+B+BCCCC Hq!fq!fq!f-..a##9$%%%q 	D 	DA3q5A3;D#q&	5>!T+B+BCCCC	D 	Dr   c                 n   | j         \  }}}t          j                            d          }t          j        ||ddg          }t          j        |||          }t          j        ||j                  }t          ||           t          j        |g|gddg          }t          |j
        dk               d S )Nr}   r
   ro   )r
   r6   r   )r   r<   r   r   hermevander2dr   dotflatr   r	   rw   r!   r   r   r   re   vanrD   rE   s           r   test_hermevander2dzTestVander.test_hermevander2dr  s    V
BIV$$!"b1a&11r2q))fS!&!!C%%% !2$q!f55	Y&'''''r   c                 v   | j         \  }}}t          j                            d          }t          j        |||g d          }t          j        ||||          }t          j        ||j                  }t          ||           t          j        |g|g|gg d          }t          |j
        dk               d S )N)ro   r   r   )r
   ro   r   )r
   r6      )r   r<   r   r   hermevander3dr   r   r   r   r	   rw   r   s           r   test_hermevander3dzTestVander.test_hermevander3d  s    V
BIY''!"b"iii88r2r1--fS!&!!C%%% !2$rdIII>>	Z'(((((r   N)	r-   r.   r/   r<   r   r   r   r   r   r0   r   r   r   r   ]  sc        
	  "Q&AD D D"( ( () ) ) ) )r   r   c                       e Zd Zd ZdS )TestFittingc           	         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        |          }|                                }	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          ||           d S )Nc                     | | dz
  z  | dz
  z  S )Nr
   ro   r0   r   s    r   fz$TestFitting.test_hermefit.<locals>.f  s    a!e9a!e$$r   c                     | dz  | dz  z   dz   S )Nr   ro   r
   r0   r   s    r   f2z%TestFitting.test_hermefit.<locals>.f2  s    a4!Q$;?"r   r
   r   r   ro   )w)ro   r   r   r   r   )r   r
   ro   r   r6   )r   r
   ro   r   r   )ro   r   r   r
   r   )r
   y              ?r   y             )r   ro   r   )r   r~   r   hermefitr   r<   rg   r   rR   r   rP   rc   r   
zeros_likecopy)r!   r   r   r   rx   coef3coef4coef2dr   ywwcoef3wcoef2dcoef1coef2s                 r   test_hermefitzTestFitting.test_hermefit  s   	% 	% 	%	# 	# 	# 	j%.1#sB???i1#Q???iaS!<<<i!ugqAAAi!Q!a@@@i!q!fa@@@i!qc1!FFFFi!qc1AGGGGj%.1#sREBBBj%.1#sJJJGGGi!qc2>>> K1AaDDq!Q''SZZ###EN1e44a888q!\\\22SZZ###EN1e44a888q!Q''SZZ###EN1e44a888q!___55SZZ###EN1e44a888q!___55SZZ###EN1e44a88828QF#3#3#5q99FBHeU^$<$<$>???28QF#3#3#5|||DDFBHeU^$<$<$>???M!VVXX!$Q$!$Q$2qA...FE***2|||q999FE***.BHb"X$6$6$8!qAAAGRXuen%=%=%?@@@.BHb"X$6$6$8,,,!LLLGRXuen%=%=%?@@@ EN1a33aV<<<EN1a!Q881a&AAAKABqEEq!Q''EN1e44a888q!YYY//EN1e44a888E5)))))r   N)r-   r.   r/   r   r0   r   r   r   r     s(        H* H* H* H* H*r   r   c                        e Zd Zd Zd Zd ZdS )TestCompanionc                     t          t          t          j        g            t          t          t          j        dg           d S r'   )r   r~   r   hermecompanionr    s    r   test_raiseszTestCompanion.test_raises  s4    j%"6;;;j%"6<<<<<r   c                     t          dd          D ]8}dg|z  dgz   }t          t          j        |          j        ||fk               9d S )Nr
   r6   r   )r;   r	   r   r   rw   )r!   rA   r   s      r   test_dimensionszTestCompanion.test_dimensions  s`    q! 	@ 	@A3q5A3;DE(..4A>????	@ 	@r   c                 `    t          t          j        ddg          d         dk               d S )Nr
   ro   )r   r         )r	   r   r   r    s    r   test_linear_rootzTestCompanion.test_linear_root  s/    $aV,,T2c9:::::r   N)r-   r.   r/   r   r   r   r0   r   r   r   r     sD        = = =@ @ @
; ; ; ; ;r   r   c                       e Zd Zd ZdS )	TestGaussc                    t          j        d          \  }}t          j        |d          }t          j        |j        |z  |          }dt          j        |                                          z  }|d d d f         |z  |z  }t          |t          j	        d                     t          j        dt          j
        z            }t          |                                |           d S )Nr3   c   r
   ro   )r   
hermegaussr   r<   r   r   sqrtdiagonalr   eyepisum)r!   r   r   r   vvvdrD   s          r   test_100zTestGauss.test_100  s    $$1
 a$$VAC!GQrwr{{}}%%%4[2"Bs,,, gagAEEGGS)))))r   N)r-   r.   r/   r   r0   r   r   r   r     s#        * * * * *r   r   c                   8    e Zd Zd Zd Zd Zd Zd Zd Zd Z	dS )	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          ||           d S )Nr
   r6   r   ro   r   )r   hermefromrootsr   r   r;   r<   cosrg   r   rP   r	   rR   r   )r!   rE   rA   rootsr   rD   s         r   test_hermefromrootszTestMisc.test_hermefromroots  s    "2&&DIIs+++q! 	* 	*AF2;vq!A#'::14a4@AAE&u--C.,,CCCHHA%&&& 0 5 5b 91===S))))	* 	*r   c                    t          t          j        dg          g            t          t          j        ddg          dg           t          dd          D ]h}t	          j        dd|          }t          j        t          j        |                    }t          t          |          t          |                     id S )Nr
   r   ro   r6   )r   r   
hermerootsr;   r<   rg   r  r   )r!   rA   rD   rE   s       r   test_hermerootszTestMisc.test_hermeroots
  s    E,aS112666E,aV44rd;;;q! 	6 	6A+b!Q''C"5#7#<#<==CS		4995555	6 	6r   c                 B   g d}t          t          t          j        |d           t	          t          j        |          |d d                    t	          t          j        |d          |d d                    t	          t          j        |d          dg           d S )N)ro   r   r
   r   r   r
   r   ro   r   )r   r~   r   r   r   )r!   r   s     r   test_hermetrimzTestMisc.test_hermetrim  s    }} 	j%/4<<< 	U_T**D"I666U_T1--tCRCy999U_T1--s33333r   c                 P    t          t          j        dd          ddg           d S )Nr   r   )r   r   	hermeliner    s    r   test_hermelinezTestMisc.test_hermeline  s(    U_Q**QF33333r   c                     t          d          D ]7}t          t          j        dg|z  dgz             t          |                    8d S Nrt   r   r
   )r;   r   r   r   rv   r!   rA   s     r   test_herme2polyzTestMisc.test_herme2poly   sS    r 	J 	JA 0!Q! = =vayIIII	J 	Jr   c                     t          d          D ]7}t          t          j        t          |                   dg|z  dgz              8d S r  )r;   r   r   r   rv   r  s     r   test_poly2hermezTestMisc.test_poly2herme$  sS    r 	J 	JA 0 ; ;aSUaS[IIII	J 	Jr   c                     t          j        ddd          }t          j        d|dz  z            }t          j        |          }t          ||           d S )Nr6      r   ro   )r<   rg   expr   hermeweightr   )r!   r   rD   rE   s       r   test_weightzTestMisc.test_weight(  sR    KAr""fSAX""C%%%%%r   N)
r-   r.   r/   r  r
  r  r  r  r  r  r0   r   r   r  r    s        
* 
* 
*6 6 6	4 	4 	44 4 4J J JJ J J& & & & &r   r  )'__doc__	functoolsr   numpyr<   numpy.polynomial.hermite_e
polynomial	hermite_er   numpy.polynomial.polynomialr   numpy.testingr   r   r   r	   rc   He0He1He2He3He4He5He6He7He8He9rv   r   r   r2   ri   r   r   r   r   r   r   r  r0   r   r   <module>r.     sc              * * * * * * * * * / / / / / /            bhsmmbh1vbhzzzbh}}}bh  bh$$$%%bh)))**bh...//bh33344bh77788
sCc3S#s	;( ( (+ + + + + + + +?@ ?@ ?@ ?@ ?@ ?@ ?@ ?@D[' [' [' [' [' [' [' ['|c& c& c& c& c& c& c& c&L&& && && && && && && &&R-) -) -) -) -) -) -) -)`J* J* J* J* J* J* J* J*Z; ; ; ; ; ; ; ;* * * * * * * *&0& 0& 0& 0& 0& 0& 0& 0& 0& 0&r   