U
    Hvf?z                     @   s  d dl Zd dl mZmZ d dlmZmZmZmZ d dl	m
Z d dlmZ d dlmZ d dlmZ d dlm  mZ G dd dZG d	d
 d
ZG dd dZG dd dZG dd dZG dd dZG dd dZG dd dZG dd dZdAddZdd Zdd  Z d!d" Z!d#d$ Z"d%d& Z#d'd( Z$d)d* Z%d+d, Z&d-d. Z'd/d0 Z(d1d2 Z)d3d4 Z*d5d6 Z+d7d8 Z,d9d: Z-d;d< Z.d=d> Z/d?d@ Z0dS )B    N)arraysqrt)assert_array_almost_equalassert_equalassert_almost_equalassert_allclose)raises)	integrategammac                   @   s,   e Zd Zdd Zdd Zdd Zdd Zd	S )
	TestChebyc              	   C   s   t d}t d}tjdd. t d}t d}t d}t d}W 5 Q R X t|jdgd	 t|jddgd	 t|jddd
gd	 t|jddddgd	 t|jdddddgd	 t|jddddddgd	 d S )Nr      ignoreall               )orthchebycnperrstater   c)selfZC0ZC1ZC2ZC3ZC4ZC5 r    G/tmp/pip-unpacked-wheel-96ln3f52/scipy/special/tests/test_orthogonal.pytest_chebyc   s    




zTestCheby.test_chebycc                 C   s   t d}t d}t d}t d}t d}t d}t|jdgd t|jddgd t|jdddgd t|jddd	dgd t|jddd
ddgd t|jddddddgd d S )Nr   r   r   r   r   r   r   r   r   r   )r   chebysr   r   )r   ZS0ZS1ZS2ZS3ZS4ZS5r    r    r!   test_chebys   s    





zTestCheby.test_chebysc                 C   s   t d}t d}t d}t d}t d}t d}t|jdgd t|jddgd t|jdddgd t|jddd	dgd t|jd
ddddgd t|jddddddgd d S )Nr   r   r   r   r   r   r   r#   r      i   )r   chebytr   r   )r   ZT0ZT1ZT2ZT3ZT4ZT5r    r    r!   test_chebyt,   s    





zTestCheby.test_chebytc                 C   s   t d}t d}t d}t d}t d}t d}t|jdgd t|jddgd t|jdddgd t|jd	dd
dgd t|jdddddgd t|jddddddgd d S )Nr   r   r   r   r   r   r   r#   r&   r   r'       i   )r   chebyur   r   )r   ZU0ZU1ZU2ZU3ZU4ZU5r    r    r!   test_chebyu:   s    





zTestCheby.test_chebyuN)__name__
__module____qualname__r"   r%   r*   r/   r    r    r    r!   r      s   r   c                   @   s   e Zd Zdd ZdS )TestGegenbauerc                 C   s  dt j  d }t |dkr$d}td|}td|}td|}td|}td|}td|}t|jtdgd	 t|jtd| dgd	 t|jtd| |d  d| gd	 t|jtdt	|d dd
| |d  dgd d t|jtdt	|d ddt	|d dd| |d  gd d t|jtdt	|d ddt	|d ddt	|d dgd d d S )Nr         ?r   皙ɿr   r   r   r   r   ig      @   r+   g      @r(      g      .@)
r   randomanyr   Z
gegenbauerr   r   r   scZpoch)r   aZCa0ZCa1ZCa2ZCa3ZCa4ZCa5r    r    r!   test_gegenbauerK   sH    &&& &  zTestGegenbauer.test_gegenbauerN)r0   r1   r2   r<   r    r    r    r!   r3   I   s   r3   c                   @   s   e Zd Zdd Zdd ZdS )TestHermitec                 C   s   t d}t d}t d}t d}t d}t d}t|jdgd t|jddgd t|jdddgd t|jd	dd
dgd t|jdddddgd t|jddddddgd d S )Nr   r   r   r   r   r   r   r   r&   r+   r'   i   r,   i`x   )r   hermiter   r   )r   H0H1H2H3H4H5r    r    r!   test_hermiteb   s    





zTestHermite.test_hermitec                 C   s2  t dtd dg}td}td}td}td}td}td}td|}td|td }	td|d }
td|dtd  }td|d	 }td|d	td  }t|j|jd
 t|j|	jd
 t|j|
jd
 t|j|jd
 t|j|jd
 t|j|jd
 d S )N      ?r   r   r   r   r   r          @      @r   )r   poly1dr   r   hermitenormr@   r   r   )r   psubrA   rB   rC   rD   rE   rF   Zhe0Zhe1Zhe2Zhe3Zhe4Zhe5r    r    r!   test_hermitenormp   s&    





zTestHermite.test_hermitenormN)r0   r1   r2   rG   rN   r    r    r    r!   r=   a   s   r=   c                   @   s   e Zd Zdd ZdS )_test_sh_legendrec                 C   s  t ddg}td}td}td}td}td}td}td|}td|}	td|}
td|}td|}td|}t|j|jd t|j|	jd t|j|
jd t|j|jd t|j|jd	 t|j|jd	 d S 
Nr   r#   r   r   r   r   r   r   r>   )r   rK   r   sh_legendrelegendrer   r   )r   rM   ZPs0ZPs1ZPs2ZPs3ZPs4ZPs5Zpse0Zpse1Zpse2Zpse3Zpse4Zpse5r    r    r!   test_sh_legendre   s&    





z"_test_sh_legendre.test_sh_legendreN)r0   r1   r2   rS   r    r    r    r!   rO      s   rO   c                   @   s   e Zd Zdd ZdS )_test_sh_chebytc                 C   s  t ddg}td}td}td}td}td}td}td|}td|}	td|}
td|}td|}td|}t|j|jd t|j|	jd t|j|
jd t|j|jd t|j|jd	 t|j|jd	 d S rP   )r   rK   r   	sh_chebytr)   r   r   )r   rM   ZTs0ZTs1ZTs2ZTs3ZTs4ZTs5Ztse0Ztse1Ztse2Ztse3Ztse4Ztse5r    r    r!   test_sh_chebyt   s&    





z_test_sh_chebyt.test_sh_chebytN)r0   r1   r2   rV   r    r    r    r!   rT      s   rT   c                   @   s   e Zd Zdd ZdS )_test_sh_chebyuc                 C   s  t ddg}td}td}td}td}td}td}td|}td|}	td|}
td|}td|}td|}t|j|jd t|j|	jd t|j|
jd t|j|jd t|j|jd	 t|j|jd
 d S )Nr   r#   r   r   r   r   r   r   r>   r6   )r   rK   r   	sh_chebyur.   r   r   )r   rM   ZUs0ZUs1ZUs2ZUs3ZUs4ZUs5Zuse0Zuse1Zuse2Zuse3Zuse4Zuse5r    r    r!   test_sh_chebyu   s&    





z_test_sh_chebyu.test_sh_chebyuN)r0   r1   r2   rY   r    r    r    r!   rW      s   rW   c                   @   s   e Zd Zdd ZdS )_test_sh_jacobic                 C   s  dd }t ddg}dt j  }|d dt j   }td||}td||}td||}td||}td||}	td	||}
td|| |d ||d| }td|| |d ||d| }td|| |d ||d| }td|| |d ||d| }td|| |d ||d| }td	|| |d ||d	| }t|j|jd
 t|j|jd
 t|j|jd
 t|j|jd
 t|	j|jd
 t|
j|jd
 d S )Nc                 S   s(   t | d t | |  t d|  |  S )Nr   r   r
   )npr    r    r!   <lambda>       z0_test_sh_jacobi.test_sh_jacobi.<locals>.<lambda>r   r#   r   r   r   r   r   r   )r   rK   r8   r   Z	sh_jacobiZjacobir   r   )r   convrM   qr\   ZG0ZG1ZG2ZG3ZG4ZG5Zge0Zge1Zge2Zge3Zge4Zge5r    r    r!   test_sh_jacobi   s,    $$$$$$z_test_sh_jacobi.test_sh_jacobiN)r0   r1   r2   ra   r    r    r    r!   rZ      s   rZ   c                   @   s   e Zd Zdd ZdS )TestCallc              	   C   s   g }t dD ]&}|dd dt|d  D  qtjdd6 |D ]*}t|}t|dt|j	d|d	 qFW 5 Q R X d S )
Nr   c                 S   s   g | ]}|  qS r    )strip).0xr    r    r!   
<listcomp>   s     z&TestCall.test_call.<locals>.<listcomp>aW  
                orth.jacobi(%(n)d,0.3,0.9)
                orth.sh_jacobi(%(n)d,0.3,0.9)
                orth.genlaguerre(%(n)d,0.3)
                orth.laguerre(%(n)d)
                orth.hermite(%(n)d)
                orth.hermitenorm(%(n)d)
                orth.gegenbauer(%(n)d,0.3)
                orth.chebyt(%(n)d)
                orth.chebyu(%(n)d)
                orth.chebyc(%(n)d)
                orth.chebys(%(n)d)
                orth.sh_chebyt(%(n)d)
                orth.sh_chebyu(%(n)d)
                orth.legendre(%(n)d)
                orth.sh_legendre(%(n)d)
                )r[   r   r   g)\(?)err_msg)
rangeextenddictsplitr   r   evalr   rK   Zcoef)r   Zpolyr[   pstrr\   r    r    r!   	test_call   s    

zTestCall.test_callN)r0   r1   r2   rn   r    r    r    r!   rb      s   rb   c                   @   s   e Zd Zdd ZdS )TestGenlaguerrec                 C   sx   t tjdddddd t tjdddddd t tjddddtdd	g t tjddddtdd
g d S )Nr   F)Zmonicr   rI   T       r#   r   r   )r   r   Zgenlaguerrer   rK   )r   r    r    r!   test_regression  s     zTestGenlaguerre.test_regressionN)r0   r1   r2   rq   r    r    r    r!   ro     s   ro   V瞯<vIh%,=c                    s   | |d\}}	}
t |}||d d t jf |}t ||	 |j}dt |  }|d d t jf | | }t|t ||| t|		 |
|| dd  t
 fdd||}t  ||	}d|d k rdn
|d d }t|d ||d	 d S )
NTr   c                 S   s   | d d| d   |  d S )Nr   r   r    re   r    r    r!   r]   &  r^   z#verify_gauss_quad.<locals>.<lambda>c                    s    | |  S Nr    rt   fweight_funcr    r!   r]   '  r^   gư>
   r   rtol)r   ZarangeZnewaxisdotTr   Zdiagonalr   Zeyesumr	   quadZvdot)Z	root_funcZ	eval_funcrx   r;   bNr{   atolre   wmur[   vvvZvdZresIZresGr    rv   r!   verify_gauss_quad  s    
r   c               	   C   s  dd } dd }dd }t }|| dd|dd|ddddd	 || dd|dd|ddddd
dd || dd|dd|ddddddd || dd|dd|ddddd	 || dd|dd|ddddd
dd || dd|dd|ddddddd || dd|dd|ddddd	dd || dd|dd|ddddd
dd || dd|dd|ddddddd || dd|dd|ddddd	 || dd|dd|ddddd
dd || dd|dd|ddddddd || dd|dd|ddddd	 || dd|dd|ddddd
dd || dd|dd|ddddddd || dd|dd|ddddd	dd || dd|dd|ddddd
dd || dd|dd|ddddddd || dd|dd|ddddd	dd || dd|dd|ddddd
dd || dd|dd|ddddddd || dd|dd|ddddddd || dd|dd|ddddd	dd || dd|dd|ddddd
dd || dd|dd|dddddd d || dd!|dd!|dd!ddd	dd || dd!|dd!|dd!ddd
dd || dd!|dd!|dd!dddd d || d"d#|d"d#|d"d#ddd	dd || d"d#|d"d#|d"d#ddd
dd || d"d#|d"d#|d"d#dddd d || d$d%|d$d%|d$d%ddd	 || d$d%|d$d%|d$d%ddd
dd || d$d%|d$d%|d$d%ddddd td&d'd'\}}td&\}}t||d(d( t||d(d( td&d)d)\}}td&d*\}}	t||d(d( t||	d(d( td	dd+d,\}
}td	dd+d-\}}}t|
|d(d( t||d(d( t|dd+d.d\}}t|||d/ tt	tjd0dd tt	tjd1dd tt	tjd+d2d tt	tjd+dd2 tt	tjd+d2d2 d S )3Nc                    s    fddS )Nc                    s   t |  |S ru   )r:   roots_jacobir[   r   r;   r   r    r!   r]   -  r^   5test_roots_jacobi.<locals>.<lambda>.<locals>.<lambda>r    r   r    r   r!   r]   -  r^   z#test_roots_jacobi.<locals>.<lambda>c                    s    fddS )Nc                    s   t |  |S ru   )r:   Zeval_jacobir[   re   r   r    r!   r]   .  r^   r   r    r   r    r   r!   r]   .  r^   c                    s    fddS )Nc                    s   d|    d|    S )Nr   r    rt   r   r    r!   r]   /  r^   r   r    r   r    r   r!   r]   /  r^                     rH   r      -q=r   d   dy=r4   7QE=-=r   vIh%L=?r   vIh%<=g7QU==
ףp=2@L;@g^~z=̌G@r5   g     @   g     @绽|=g      @g     @@g     @@      @皙9Q@r-           +=rJ   g      @r   FTr#   rz   r   ffffff
@r   )
r   r:   r   roots_legendrer   roots_gegenbauerr	   r   assert_raises
ValueError)rfefwfvgqZxjZwjZxlZwlZxcZwcre   r   yr   mmuImuI_errr    r    r!   test_roots_jacobi,  s    $  $((((($(($  (( ((((         $  r   c               	   C   s  dd } dd }dd }t }|| dd|dd|ddddd	 || dd|dd|ddddd
dd || dd|dd|ddddddd || dd|dd|ddddd	 || dd|dd|ddddd
dd || dd|dd|ddddddd || dd|dd|ddddd	 || dd|dd|ddddd
dd || dd|dd|ddddddd || dd|dd|ddddd	 || dd|dd|ddddd
dd || dd|dd|ddddddd || dd|dd|ddddd	 || dd|dd|ddddd
 || dd|dd|ddddddd || dd|dd|ddddd	dd || dd|dd|ddddd
dd || dd|dd|ddddddd || dd|dd|ddddd	dd || dd|dd|ddddd
dd || dd|dd|ddddddd td	ddd \}}td	ddd!\}}}t||d"d" t||d"d" t|ddd#d\}	}
t||	|
d$ tttjd#dd tttjd%dd tttjddd tttjddd& tttjdd'd& d S )(Nc                    s    fddS )Nc                    s   t |  |S ru   )r:   roots_sh_jacobir   r   r    r!   r]     r^   8test_roots_sh_jacobi.<locals>.<lambda>.<locals>.<lambda>r    r   r    r   r!   r]     r^   z&test_roots_sh_jacobi.<locals>.<lambda>c                    s    fddS )Nc                    s   t |  |S ru   )r:   Zeval_sh_jacobir   r   r    r!   r]     r^   r   r    r   r    r   r!   r]     r^   c                    s    fddS )Nc                    s   d|     | d   S )NrH   r    rt   r   r    r!   r]     r^   r   r    r   r    r   r!   r]     r^   r   g      ?r   rH   r   r   r   r   r   r   r4   r   r   r   r   r   r   r   r   r   皙?r   r   r   g(#=r   r   FTr   r   rz   r   r#   r   )r   r:   r   r   r	   r   r   r   )r   r   r   r   re   r   r   r   r   r   r   r    r    r!   test_roots_sh_jacobi  s`    $  $(($(($(($$ ((((( r   c            
   	   C   s<  t j} t j}tdj}t| ||tj tjd t| ||tj tjddd t| ||tj tjddd t dd\}}t dd\}}}t	||d	d	 t	||d	d	 t
|tj tj\}}	t	|||	d
 t dd\}}t dd\}}}t	||d	d	 t	||d	d	 t	t||d	d	 ttt jd ttt jd d S )Nr   r   r   r   r   r   FTr   rz      r   r   )r:   Zroots_hermiteZeval_hermiter   r@   rx   r   r   infr   r	   r   r~   r   r   
rootfevalfweightfre   r   r   r   r   r   r   r    r    r!   test_roots_hermite  s&    r   c                     s   dd  d fdd	} | ddd	 | d
dd	 | ddd	 | ddd	 | ddd	 | ddd	 | ddd	 | ddd	 | ddd	 | ddd	 d S )Nc                 S   s   t | |jf}t jd t d|d   |dd d f< | dkrtd| |dd d f  |dd d f< td| D ]X}td| | ||d d d f  t|d | ||d d d f   ||d d f< qr|S )N      пr   r   r   r   rI   rH   )r   zerossizepiexpr   rh   )r[   ZnodesHkr    r    r!   hermite_recursion  s    ((Vz1test_roots_hermite_asy.<locals>.hermite_recursionrr   r   c                    sX   t | \}} | d |}t|dd d f t| || tt|ttj|| d S )Nr   r#   )r   Z_roots_hermite_asyr   r   r   r~   r   r   )r   r{   r   re   r   r   r   r    r!   test  s     z$test_roots_hermite_asy.<locals>.test   r   r      i,  i-  i  i  i  i  i  i  )rr   r   r    )r   r    r   r!   test_roots_hermite_asy  s    
r   c            
   	   C   s   t j} t j}tdj}t| ||tj tjd t| ||tj tjddd t| ||tj tjddd t dd\}}t dd\}}}t	||d	d	 t	||d	d	 t
|tj tj\}}	t	|||	d
 ttt jd ttt jd d S )Nr   r   r   r   r   r   FTr   rz   r   r   )r:   Zroots_hermitenormZeval_hermitenormr   rL   rx   r   r   r   r   r	   r   r   r   r   r    r    r!   test_roots_hermitenorm  s    r   c               	   C   s  dd } dd }dd }t }|| d|d|dddd || d|d|dddd	d
d || d|d|dddddd || d|d|dddd || d|d|dddd	dd || d|d|ddddd
d || d|d|dddd || d|d|dddd	dd || d|d|ddddd
d || d|d|dddd || d|d|dddd	dd || d|d|ddddd
d || d|d|dddddd || d|d|dddd	d
d || d|d|dddddd || d|d|dddddd || d|d|dddd	d
d || d|d|dddddd || d|d|dddddd || d|d|dddd	d
d || d|d|dddddd || d|d|dddddd || d|d|dddd	d
d || d|d|dddddd || d|d|ddddd
d || d|d|dddd	dd || d|d|dddddd || dtj|dddd || dtj|dddd	 || dtj|ddddd
d tddd\}}tddd\}}}t||dd t||dd t|ddd\}	}
t||	|
d tttjdd tttjd d tttjd!d" d S )#Nc                    s    fddS )Nc                    s   t |  |S ru   )r:   r   r   r;   r    r!   r]     r^   9test_roots_gegenbauer.<locals>.<lambda>.<locals>.<lambda>r    r   r    r   r!   r]     r^   z'test_roots_gegenbauer.<locals>.<lambda>c                    s    fddS )Nc                    s   t |  |S ru   )r:   Zeval_gegenbauerr   r   r    r!   r]     r^   r   r    r   r    r   r!   r]     r^   c                    s    fddS )Nc                    s   d| d   d  S )Nr   r   r4   r    rt   r   r    r!   r]     r^   r   r    r   r    r   r!   r]     r^   r   r   rH   r   r   r   r   r   r   皙?r   r   ry   2      g     Pe@g-A=   g     @r   r   r   FTr   r#   rz   r   r   r   )	r   r:   eval_chebytr   r   r	   r   r   r   r   r   r   r   re   r   r   r   r   r   r   r    r    r!   test_roots_gegenbauer
  sV    """"""""""""""""""""""" r   c               	   C   s   t dj} ttjtj| ddd ttjtj| ddd ttjtj| ddddd tdd\}}tdd	\}}}t||d
d
 t||d
d
 t	| dd\}}t|||d t
ttjd t
ttjd d S )Nr   r   rH   r   r   r   r   FTr   r#   r   rz   r   r   )r   r)   rx   r   r:   roots_chebytr   r   r	   r   r   r   r   re   r   r   r   r   r   r   r    r    r!   test_roots_chebytG  s    r   c                  C   sP   t d\} }| d d | dd   }}t||d d d   t| d d d S )N   ry   r6   r#   r   )r:   r   r   )re   r   posnegr    r    r!   test_chebyt_symmetryX  s    r   c                  C   s   t dj} ttjtj| ddd ttjtj| ddd ttjtj| ddd tdd\}}tdd\}}}t||dd t||dd t	| d	d
\}}t|||d t
ttjd t
ttjd d S )Nr   r   rH   r   r   FTr   r#   r   rz   r   r   )r   r.   rx   r   r:   Zroots_chebyuZeval_chebyur   r	   r   r   r   r   r    r    r!   test_roots_chebyu^  s    r   c               	   C   s   t dj} ttjtj| ddd ttjtj| ddd ttjtj| ddddd tdd\}}tdd	\}}}t||d
d
 t||d
d
 t	| dd\}}t|||d t
ttjd t
ttjd d S )Nr   rp   rI   r   r   r   r   FTr   r   r   rz   r   r   )r   r   rx   r   r:   Zroots_chebycZeval_chebycr   r	   r   r   r   r   r    r    r!   test_roots_chebyco  s    r   c                  C   s   t dj} ttjtj| ddd ttjtj| ddd ttjtj| ddd tdd\}}tdd\}}}t||dd t||dd t	| d	d
\}}t|||d t
ttjd t
ttjd d S )Nr   rp   rI   r   r   FTr   r   r   rz   r   r   )r   r$   rx   r   r:   Zroots_chebysZeval_chebysr   r	   r   r   r   r   r    r    r!   test_roots_chebys  s    r   c               	   C   s   t dj} ttjtj| ddd ttjtj| ddd ttjtj| ddddd tdd\}}tdd	\}}}t||d
d
 t||d
d
 t	| dd\}}t|||d t
ttjd t
ttjd d S Nr   r   rH   r   r   r   r   FTr   r   r   rz   r   )r   rU   rx   r   r:   Zroots_sh_chebytZeval_sh_chebytr   r	   r   r   r   r   r    r    r!   test_roots_sh_chebyt  s     r   c               	   C   s   t dj} ttjtj| ddd ttjtj| ddd ttjtj| ddddd tdd\}}tdd	\}}}t||d
d
 t||d
d
 t	| dd\}}t|||d t
ttjd t
ttjd d S r   )r   rX   rx   r   r:   Zroots_sh_chebyuZeval_sh_chebyur   r	   r   r   r   r   r    r    r!   test_roots_sh_chebyu  s     r   c               	   C   s   t dj} ttjtj| ddd ttjtj| ddddd ttjtj| ddddd tdd	\}}tdd
\}}}t||dd t||dd t	| dd\}}t|||d t
ttjd t
ttjd d S )Nr   r   rH   r   r   r   r   r   FTr   r#   r   rz   r   r   )r   rR   rx   r   r:   r   Zeval_legendrer   r	   r   r   r   r   r    r    r!   test_roots_legendre  s$      r   c               	   C   s   t dj} ttjtj| ddd ttjtj| ddddd ttjtj| ddddd tdd	\}}tdd
\}}}t||dd t||dd t	| dd\}}t|||d t
ttjd t
ttjd d S )Nr   r   rH   r   r   r   r   r   FTr   r   r   rz   r   )r   rQ   rx   r   r:   Zroots_sh_legendreZeval_sh_legendrer   r	   r   r   r   r   r    r    r!   test_roots_sh_legendre  s$      r   c               	   C   s   t dj} ttjtj| dtjd ttjtj| dtjddd ttjtj| dtjddd tdd\}}tdd	\}}}t	||d
d
 t	||d
d
 t
| dtj\}}t	|||d tttjd tttjd d S )Nr   r   r   r   r   r   r   FTr   r   rz   r   )r   Zlaguerrerx   r   r:   Zroots_laguerreZeval_laguerrer   r   r   r	   r   r   r   r   r    r    r!   test_roots_laguerre  s$      r   c               
   C   s  dd } dd }dd }t }|| d|d|ddtjd || d|d|ddtjdd	d
 || d|d|ddtjddd
 || d|d|ddtjd || d|d|ddtjdd	d
 || d|d|ddtjddd
 || d|d|ddtjd || d|d|ddtjdd	d
 || d|d|ddtjddd
 || d|d|ddtjd || d|d|ddtjdd	d
 || d|d|ddtjddd
 || d|d|ddtjd || d|d|ddtjdd	d
 || d|d|ddtjdddd tddd\}}tddd\}}}t||dd t||dd t|ddtj\}	}
t||	|
d tt	tjdd tt	tjdd tt	tjdd d S )Nc                    s    fddS )Nc                    s   t |  |S ru   )r:   roots_genlaguerrer   r   r    r!   r]     r^   :test_roots_genlaguerre.<locals>.<lambda>.<locals>.<lambda>r    r   r    r   r!   r]     r^   z(test_roots_genlaguerre.<locals>.<lambda>c                    s    fddS )Nc                    s   t |  |S ru   )r:   Zeval_genlaguerrer   r   r    r!   r]     r^   r   r    r   r    r   r!   r]     r^   c                    s    fddS )Nc                    s   |   t |   S ru   )r   r   rt   r   r    r!   r]     r^   r   r    r   r    r   r!   r]     r^   r   r   r   r   r   r   r   r   r   g+F=r   gN<=ry   r   r   r   )r{   r   r   FTrI   rz   r   r   r   g)
r   r   r   r:   r   r   r	   r   r   r   r   r    r    r!   test_roots_genlaguerre  s8     $$ $$ $$ $$ $&r   c                   C   s   t dd d S )NA   r   )r:   r)   r    r    r    r!   test_gh_6721  s    r   )rr   rs   )1Znumpyr   r   r   Znumpy.testingr   r   r   r   Zpytestr   r   Zscipyr	   Zscipy.specialspecialr:   r   Zscipy.special._orthogonalZ_orthogonalr   r   r3   r=   rO   rT   rW   rZ   rb   ro   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r    r    r!   <module>   sJ   <'	   
]4='