§
    µ³ÙgÐ}  ã                   óà  — d dl Z d dl mZ 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c m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.d„Zd„ Zd„ Z d„ Z!d„ Z"d „ Z#d!„ Z$d"„ Z%d#„ Z&d$„ Z'd%„ Z(d&„ Z)d'„ Z*d(„ Z+d)„ Z,d*„ Z-d+„ Z.d,„ Z/d-„ Z0dS )/é    N)Úraises)ÚarrayÚsqrt)Úassert_array_almost_equalÚassert_equalÚassert_almost_equalÚassert_allclose)Ú	integrate©Úgammac                   ó&   — e Zd Zd„ Zd„ Zd„ Zd„ ZdS )Ú	TestChebyc                 ón  — t          j        d¦  «        }t          j        d¦  «        }t          j        d¬¦  «        5  t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }d d d ¦  «         n# 1 swxY w Y   t	          |j        dgd	¦  «         t	          |j        ddgd	¦  «         t	          |j        g d
¢d	¦  «         t	          |j        g d¢d	¦  «         t	          |j        g d¢d	¦  «         t	          |j        g d¢d	¦  «         d S )Nr   é   Úignore©Úallé   é   é   é   é   )r   r   éþÿÿÿ)r   r   éýÿÿÿr   )r   r   éüÿÿÿr   r   )r   r   éûÿÿÿr   r   r   )ÚorthÚchebycÚnpÚerrstater   Úc)ÚselfÚC0ÚC1ÚC2ÚC3ÚC4ÚC5s          úY/granary/edev/quantum/lib/python3.11/site-packages/scipy/special/tests/test_orthogonal.pyÚtest_chebyczTestCheby.test_chebyc   sN  € ÝŒ[˜‰^Œ^ˆÝŒ[˜‰^Œ^ˆÝŒ[˜XÐ&Ñ&Ô&ð 	 ð 	 Ý”˜Q‘”ˆBÝ”˜Q‘”ˆBÝ”˜Q‘”ˆBÝ”˜Q‘”ˆBð		 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 õ 	" "¤$¨ s¨2Ñ.Ô.Ð.Ý! "¤$¨¨! u¨RÑ0Ô0Ð0Ý! "¤$ x x x°Ñ3Ô3Ð3Ý! "¤$ z z z°"Ñ5Ô5Ð5Ý! "¤$ | | |°BÑ7Ô7Ð7Ý! "¤$ ~ ~ ~°bÑ9Ô9Ð9Ð9Ð9s   ¾ABÂBÂ"Bc                 ó  — t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          |j        dgd¦  «         t          |j        ddgd¦  «         t          |j        g d¢d¦  «         t          |j        g d	¢d¦  «         t          |j        g d
¢d¦  «         t          |j        g d¢d¦  «         d S )Nr   r   r   r   r   r   r   )r   r   éÿÿÿÿ)r   r   r   r   )r   r   r   r   r   )r   r   r   r   r   r   )r   Úchebysr   r!   )r"   ÚS0ÚS1ÚS2ÚS3ÚS4ÚS5s          r)   Útest_chebyszTestCheby.test_chebys    sä   € ÝŒ[˜‰^Œ^ˆÝŒ[˜‰^Œ^ˆÝŒ[˜‰^Œ^ˆÝŒ[˜‰^Œ^ˆÝŒ[˜‰^Œ^ˆÝŒ[˜‰^Œ^ˆÝ! "¤$¨ s¨2Ñ.Ô.Ð.Ý! "¤$¨¨! u¨RÑ0Ô0Ð0Ý! "¤$ x x x°Ñ3Ô3Ð3Ý! "¤$ z z z°"Ñ5Ô5Ð5Ý! "¤$ | | |°BÑ7Ô7Ð7Ý! "¤$ ~ ~ ~°bÑ9Ô9Ð9Ð9Ð9ó    c                 ó  — t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          |j        dgd¦  «         t          |j        ddgd¦  «         t          |j        g d¢d¦  «         t          |j        g d	¢d¦  «         t          |j        g d
¢d¦  «         t          |j        g d¢d¦  «         d S )Nr   r   r   r   r   r   r   )r   r   r,   )r   r   r   r   )é   r   iøÿÿÿr   r   )é   r   éìÿÿÿr   r   r   )r   Úchebytr   r!   )r"   ÚT0ÚT1ÚT2ÚT3ÚT4ÚT5s          r)   Útest_chebytzTestCheby.test_chebyt.   sç   € ÝŒ[˜‰^Œ^ˆÝŒ[˜‰^Œ^ˆÝŒ[˜‰^Œ^ˆÝŒ[˜‰^Œ^ˆÝŒ[˜‰^Œ^ˆÝŒ[˜‰^Œ^ˆÝ! "¤$¨ s¨2Ñ.Ô.Ð.Ý! "¤$¨¨! u¨RÑ0Ô0Ð0Ý! "¤$ x x x°Ñ3Ô3Ð3Ý! "¤$ z z z°"Ñ5Ô5Ð5Ý! "¤$ | | |°BÑ7Ô7Ð7Ý! "¤$Ð'7Ð'7Ð'7¸Ñ;Ô;Ð;Ð;Ð;r5   c                 ó  — t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          |j        dgd¦  «         t          |j        ddgd¦  «         t          |j        g d¢d¦  «         t          |j        g d	¢d¦  «         t          |j        g d
¢d¦  «         t          |j        g d¢d¦  «         d S )Nr   r   r   r   r   r   r   )r   r   r,   )r7   r   r   r   )r8   r   éôÿÿÿr   r   )é    r   iàÿÿÿr   é   r   )r   Úchebyur   r!   )r"   ÚU0ÚU1ÚU2ÚU3ÚU4ÚU5s          r)   Útest_chebyuzTestCheby.test_chebyu<   sç   € ÝŒ[˜‰^Œ^ˆÝŒ[˜‰^Œ^ˆÝŒ[˜‰^Œ^ˆÝŒ[˜‰^Œ^ˆÝŒ[˜‰^Œ^ˆÝŒ[˜‰^Œ^ˆÝ! "¤$¨ s¨2Ñ.Ô.Ð.Ý! "¤$¨¨! u¨RÑ0Ô0Ð0Ý! "¤$ x x x°Ñ3Ô3Ð3Ý! "¤$ z z z°"Ñ5Ô5Ð5Ý! "¤$ ~ ~ ~°bÑ9Ô9Ð9Ý! "¤$Ð'7Ð'7Ð'7¸Ñ;Ô;Ð;Ð;Ð;r5   N)Ú__name__Ú
__module__Ú__qualname__r*   r4   rA   rM   © r5   r)   r   r      sP   € € € € € ð:ð :ð :ð :ð :ð :ð<ð <ð <ð<ð <ð <ð <ð <r5   r   c                   óf   — e Zd Zd„ Zej                             dddg¦  «        d„ ¦   «         Zd„ ZdS )ÚTestGegenbauerc                 ó¤  — dt           j                             ¦   «         z  dz
  }t          j        |dk    ¦  «        rd}t          j        d|¦  «        }t          j        d|¦  «        }t          j        d|¦  «        }t          j        d|¦  «        }t          j        d|¦  «        }t          j        d|¦  «        }t          |j        t          dg¦  «        d	¦  «         t          |j        t          d|z  dg¦  «        d	¦  «         t          |j        t          d|z  |dz   z  d| g¦  «        d	¦  «         t          |j        t          dt          j	        |d¦  «        z  dd
|z  |dz   z  dg¦  «        dz  d¦  «         t          |j        t          dt          j	        |d¦  «        z  ddt          j	        |d¦  «        z  dd|z  |dz   z  g¦  «        dz  d¦  «         t          |j        t          dt          j	        |d¦  «        z  ddt          j	        |d¦  «        z  ddt          j	        |d¦  «        z  dg¦  «        dz  d¦  «         d S )Nr   ç      à?r   çš™™™™™É¿r   r   r   r   r   iúÿÿÿg      @é   rC   g      @r9   é   g      .@)
r   ÚrandomÚanyr   Ú
gegenbauerr   r!   r   ÚscÚpoch)r"   ÚaÚCa0ÚCa1ÚCa2ÚCa3ÚCa4ÚCa5s           r)   Útest_gegenbauerzTestGegenbauer.test_gegenbauerM   sI  € Ø�bŒi×ÒÑ Ô Ñ  3Ñ&ˆÝŒ6�!�q’&‰>Œ>ð 	ØˆAÝŒo˜a Ñ"Ô"ˆÝŒo˜a Ñ"Ô"ˆÝŒo˜a Ñ"Ô"ˆÝŒo˜a Ñ"Ô"ˆÝŒo˜a Ñ"Ô"ˆÝŒo˜a Ñ"Ô"ˆå! #¤%­¨q¨c©
¬
°2Ñ6Ô6Ð6Ý! #¤%­¨q°©s°1¨g©¬°rÑ:Ô:Ð:Ý! #¤%­¨q°©s°A°a±C©y¸¸A¸2Ð.>Ñ(?Ô(?ÀÑCÔCÐCÝ! #¤%­¨qµ´¸¸1±´©~¸aÀÀ1ÁÀaÈÁcÁ
Ø/0ð/2ñ )3ô )3Ø36ñ)7Ø79ñ	;ô 	;ð 	;å! #¤%­¨qµ´¸¸1±´©~¸aÀÅBÄGÈAÈaÁLÄLÑ@PØ/0°°1±°a¸±c±ð/<ñ )=ô )=Ø=@ñ)AØACñ	Eô 	Eð 	Eå! #¤%­¨qµ´¸¸1±´©~¸aÀÅBÄGÈAÈaÁLÄLÑ@PØ/0°µB´G¸A¸a±L´L±Àð/Dñ )Eô )EØEIñ)JØJLñ	Nô 	Nð 	Nð 	Nð 	Nr5   r^   r   r   c                 ó€   — t          j        d|¦  «        }t          |j        t	          j        dg¦  «        ¦  «         d S )Nr   ç      ð?)r   r[   r   r!   r   Úasarray)r"   r^   ÚCn0s      r)   Útest_n_zero_gh8888z!TestGegenbauer.test_n_zero_gh8888b   s9   € õ Œo˜a Ñ#Ô#ˆÝ�S”U�BœJ¨ tÑ,Ô,Ñ-Ô-Ð-Ð-Ð-r5   c                 óæ  — d}t          j        t          |¬¦  «        5  t          j        dt
          j        ¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          j        dd¦  «         d d d ¦  «         n# 1 swxY w Y   t          j        t          |¬¦  «        5  t          j        dt
          j         ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nz*`alpha` must be a finite number greater...)Úmatchr   r   ç      à¿r   )Úpytestr   Ú
ValueErrorr   r[   r   ÚnanÚinf)r"   Úmessages     r)   Útest_valid_alphazTestGegenbauer.test_valid_alphah   s�  € à>ˆÝŒ]�:¨WÐ5Ñ5Ô5ð 	'ð 	'ÝŒO˜A�rœvÑ&Ô&Ð&ð	'ð 	'ð 	'ñ 	'ô 	'ð 	'ð 	'ð 	'ð 	'ð 	'ð 	'øøøð 	'ð 	'ð 	'ð 	'åŒ]�:¨WÐ5Ñ5Ô5ð 	%ð 	%ÝŒO˜A˜tÑ$Ô$Ð$ð	%ð 	%ð 	%ñ 	%ô 	%ð 	%ð 	%ð 	%ð 	%ð 	%ð 	%øøøð 	%ð 	%ð 	%ð 	%åŒ]�:¨WÐ5Ñ5Ô5ð 	(ð 	(ÝŒO˜A¥¤˜wÑ'Ô'Ð'ð	(ð 	(ð 	(ñ 	(ô 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(ð 	(øøøð 	(ð 	(ð 	(ð 	(ð 	(ð 	(s5   ž A
Á
AÁAÁ0BÂBÂBÂ8!C&Ã&C*Ã-C*N)	rN   rO   rP   re   rn   ÚmarkÚparametrizerj   rs   rQ   r5   r)   rS   rS   K   sg   € € € € € ðNð Nð Nð* „[×Ò˜S 1 a &Ñ)Ô)ð.ð .ñ *Ô)ð.ð
(ð (ð (ð (ð (r5   rS   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestHermitec                 ó  — t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          |j        dgd¦  «         t          |j        ddgd¦  «         t          |j        g d¢d¦  «         t          |j        g d	¢d¦  «         t          |j        g d
¢d¦  «         t          |j        g d¢d¦  «         d S )Nr   r   r   r   r   r   r   )r   r   r   )r7   r   rC   r   )r8   r   iÐÿÿÿr   é   ry   )rD   r   i`ÿÿÿr   éx   r   )r   Úhermiter   r!   )r"   ÚH0ÚH1ÚH2ÚH3ÚH4ÚH5s          r)   Útest_hermitezTestHermite.test_hermitet   sç   € ÝŒ\˜!‰_Œ_ˆÝŒ\˜!‰_Œ_ˆÝŒ\˜!‰_Œ_ˆÝŒ\˜!‰_Œ_ˆÝŒ\˜!‰_Œ_ˆÝŒ\˜!‰_Œ_ˆÝ! "¤$¨ s¨2Ñ.Ô.Ð.Ý! "¤$¨¨! u¨RÑ0Ô0Ð0Ý! "¤$ x x x°Ñ3Ô3Ð3Ý! "¤$ { { {°2Ñ6Ô6Ð6Ý! "¤$   °rÑ:Ô:Ð:Ý! "¤$Ð':Ð':Ð':¸2Ñ>Ô>Ð>Ð>Ð>r5   c                 óZ  — t          j        dt          d¦  «        z  dg¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        } t          j        d¦  «        |¦  «        } t          j        d¦  «        |¦  «        t          d¦  «        z  }	 t          j        d¦  «        |¦  «        dz  }
 t          j        d¦  «        |¦  «        dt          d¦  «        z  z  } t          j        d¦  «        |¦  «        d	z  } t          j        d¦  «        |¦  «        d	t          d¦  «        z  z  }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 )Nrg   r   r   r   r   r   r   ç       @ç      @r   )r   Úpoly1dr   r   Úhermitenormr{   r   r!   )r"   Úpsubr|   r}   r~   r   r€   r�   Úhe0Úhe1Úhe2Úhe3Úhe4Úhe5s                 r)   Útest_hermitenormzTestHermite.test_hermitenorm‚   sÆ  € åŒy˜#�d 1™gœg™+ a˜Ñ)Ô)ˆÝÔ˜aÑ Ô ˆÝÔ˜aÑ Ô ˆÝÔ˜aÑ Ô ˆÝÔ˜aÑ Ô ˆÝÔ˜aÑ Ô ˆÝÔ˜aÑ Ô ˆØ�dŒl˜1‰oŒo˜dÑ#Ô#ˆØ�dŒl˜1‰oŒo˜dÑ#Ô#¥d¨1¡g¤gÑ-ˆØ�dŒl˜1‰oŒo˜dÑ#Ô# cÑ)ˆØ�dŒl˜1‰oŒo˜dÑ#Ô# q­¨a©¬¡yÑ1ˆØ�dŒl˜1‰oŒo˜dÑ#Ô# cÑ)ˆØ�dŒl˜1‰oŒo˜dÑ#Ô# s­4°©7¬7¡{Ñ3ˆå! "¤$ s¤u¨RÑ0Ô0Ð0Ý! "¤$ s¤u¨RÑ0Ô0Ð0Ý! "¤$ s¤u¨RÑ0Ô0Ð0Ý! "¤$ s¤u¨RÑ0Ô0Ð0Ý! "¤$ s¤u¨RÑ0Ô0Ð0Ý! "¤$ s¤u¨RÑ0Ô0Ð0Ð0Ð0r5   N)rN   rO   rP   r‚   r�   rQ   r5   r)   rw   rw   s   s2   € € € € € ð?ð ?ð ?ð1ð 1ð 1ð 1ð 1r5   rw   c                   ó   — e Zd Zd„ ZdS )ÚTestShLegendrec                 óÂ  — t          j        ddg¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        } t          j        d¦  «        |¦  «        } t          j        d¦  «        |¦  «        }	 t          j        d¦  «        |¦  «        }
 t          j        d¦  «        |¦  «        } t          j        d¦  «        |¦  «        } t          j        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   ry   )r   r†   r   Úsh_legendreÚlegendrer   r!   )r"   rˆ   ÚPs0ÚPs1ÚPs2ÚPs3ÚPs4ÚPs5Úpse0Úpse1Úpse2Úpse3Úpse4Úpse5s                 r)   Útest_sh_legendrezTestShLegendre.test_sh_legendre›   s•  € åŒy˜!˜B˜Ñ Ô ˆÝÔ˜qÑ!Ô!ˆÝÔ˜qÑ!Ô!ˆÝÔ˜qÑ!Ô!ˆÝÔ˜qÑ!Ô!ˆÝÔ˜qÑ!Ô!ˆÝÔ˜qÑ!Ô!ˆØ�tŒ}˜QÑÔ Ñ%Ô%ˆØ�tŒ}˜QÑÔ Ñ%Ô%ˆØ�tŒ}˜QÑÔ Ñ%Ô%ˆØ�tŒ}˜QÑÔ Ñ%Ô%ˆØ�tŒ}˜QÑÔ Ñ%Ô%ˆØ�tŒ}˜QÑÔ Ñ%Ô%ˆÝ! #¤%¨¬¨rÑ2Ô2Ð2Ý! #¤%¨¬¨rÑ2Ô2Ð2Ý! #¤%¨¬¨rÑ2Ô2Ð2Ý! #¤%¨¬¨rÑ2Ô2Ð2Ý! #¤%¨¬¨rÑ2Ô2Ð2Ý! #¤%¨¬¨rÑ2Ô2Ð2Ð2Ð2r5   N)rN   rO   rP   r¢   rQ   r5   r)   r‘   r‘   š   ó#   € € € € € ð3ð 3ð 3ð 3ð 3r5   r‘   c                   ó   — e Zd Zd„ ZdS )ÚTestShChebytc                 óÂ  — t          j        ddg¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        } t          j        d¦  «        |¦  «        } t          j        d¦  «        |¦  «        }	 t          j        d¦  «        |¦  «        }
 t          j        d¦  «        |¦  «        } t          j        d¦  «        |¦  «        } t          j        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 r“   )r   r†   r   Ú	sh_chebytr:   r   r!   )r"   rˆ   ÚTs0ÚTs1ÚTs2ÚTs3ÚTs4ÚTs5Útse0Útse1Útse2Útse3Útse4Útse5s                 r)   Útest_sh_chebytzTestShChebyt.test_sh_chebyt³   óƒ  € åŒy˜!˜B˜Ñ Ô ˆÝŒn˜QÑÔˆÝŒn˜QÑÔˆÝŒn˜QÑÔˆÝŒn˜QÑÔˆÝŒn˜QÑÔˆÝŒn˜QÑÔˆØ�tŒ{˜1‰~Œ~˜dÑ#Ô#ˆØ�tŒ{˜1‰~Œ~˜dÑ#Ô#ˆØ�tŒ{˜1‰~Œ~˜dÑ#Ô#ˆØ�tŒ{˜1‰~Œ~˜dÑ#Ô#ˆØ�tŒ{˜1‰~Œ~˜dÑ#Ô#ˆØ�tŒ{˜1‰~Œ~˜dÑ#Ô#ˆÝ! #¤%¨¬¨rÑ2Ô2Ð2Ý! #¤%¨¬¨rÑ2Ô2Ð2Ý! #¤%¨¬¨rÑ2Ô2Ð2Ý! #¤%¨¬¨rÑ2Ô2Ð2Ý! #¤%¨¬¨rÑ2Ô2Ð2Ý! #¤%¨¬¨rÑ2Ô2Ð2Ð2Ð2r5   N)rN   rO   rP   r´   rQ   r5   r)   r¥   r¥   ²   r£   r5   r¥   c                   ó   — e Zd Zd„ ZdS )ÚTestShChebyuc                 óÂ  — t          j        ddg¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        }t          j        d¦  «        } t          j        d¦  «        |¦  «        } t          j        d¦  «        |¦  «        }	 t          j        d¦  «        |¦  «        }
 t          j        d¦  «        |¦  «        } t          j        d¦  «        |¦  «        } t          j        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   ry   rW   )r   r†   r   Ú	sh_chebyurF   r   r!   )r"   rˆ   ÚUs0ÚUs1ÚUs2ÚUs3ÚUs4ÚUs5Úuse0Úuse1Úuse2Úuse3Úuse4Úuse5s                 r)   Útest_sh_chebyuzTestShChebyu.test_sh_chebyuË   rµ   r5   N)rN   rO   rP   rÆ   rQ   r5   r)   r·   r·   Ê   r£   r5   r·   c                   ó   — e Zd Zd„ ZdS )ÚTestShJacobic                 ól  — d„ }t          j        ddg¦  «        }dt           j                             ¦   «         z  }|dz
  dt           j                             ¦   «         z  z   }t          j        d||¦  «        }t          j        d||¦  «        }t          j        d||¦  «        }t          j        d||¦  «        }t          j        d||¦  «        }	t          j        d||¦  «        }
 t          j        d||z
  |dz
  ¦  «        |¦  «         |d|¦  «        z  } t          j        d||z
  |dz
  ¦  «        |¦  «         |d|¦  «        z  } t          j        d||z
  |dz
  ¦  «        |¦  «         |d|¦  «        z  } t          j        d||z
  |dz
  ¦  «        |¦  «         |d|¦  «        z  } t          j        d||z
  |dz
  ¦  «        |¦  «         |d|¦  «        z  } t          j        d||z
  |dz
  ¦  «        |¦  «         |d|¦  «        z  }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                 óx   — t          | dz   ¦  «        t          | |z   ¦  «        z  t          d| z  |z   ¦  «        z  S )Nr   r   r   )ÚnÚps     r)   Úconvz)TestShJacobi.test_sh_jacobi.<locals>.convå   s6   € Ý˜˜Q™‘<”<¥%¨¨A©¡,¤,Ñ.µ°q¸1±u¸q±yÑ1AÔ1AÑAÐAr5   r   r,   r   r   r   r   r   r   )r   r†   rY   r   Ú	sh_jacobiÚjacobir   r!   )r"   rÍ   rˆ   ÚqrÌ   ÚG0ÚG1ÚG2ÚG3ÚG4ÚG5Úge0Úge1Úge2Úge3Úge4Úge5s                    r)   Útest_sh_jacobizTestShJacobi.test_sh_jacobiã   s”  € ð	Bð 	Bð 	BåŒy˜!˜B˜Ñ Ô ˆØ•”	× Ò Ñ"Ô"Ñ"ˆØˆa‰C�!•B”I×$Ò$Ñ&Ô&Ñ&Ñ&ˆåŒ^˜A˜a Ñ"Ô"ˆÝŒ^˜A˜a Ñ"Ô"ˆÝŒ^˜A˜a Ñ"Ô"ˆÝŒ^˜A˜a Ñ"Ô"ˆÝŒ^˜A˜a Ñ"Ô"ˆÝŒ^˜A˜a Ñ"Ô"ˆØ$�dŒk˜!˜A˜a™C  !¡Ñ$Ô$ TÑ*Ô*¨T¨T°!°A©Y¬YÑ6ˆØ$�dŒk˜!˜A˜a™C  !¡Ñ$Ô$ TÑ*Ô*¨T¨T°!°A©Y¬YÑ6ˆØ$�dŒk˜!˜A˜a™C  !¡Ñ$Ô$ TÑ*Ô*¨T¨T°!°A©Y¬YÑ6ˆØ$�dŒk˜!˜A˜a™C  !¡Ñ$Ô$ TÑ*Ô*¨T¨T°!°A©Y¬YÑ6ˆØ$�dŒk˜!˜A˜a™C  !¡Ñ$Ô$ TÑ*Ô*¨T¨T°!°A©Y¬YÑ6ˆØ$�dŒk˜!˜A˜a™C  !¡Ñ$Ô$ TÑ*Ô*¨T¨T°!°A©Y¬YÑ6ˆå! "¤$ s¤u¨RÑ0Ô0Ð0Ý! "¤$ s¤u¨RÑ0Ô0Ð0Ý! "¤$ s¤u¨RÑ0Ô0Ð0Ý! "¤$ s¤u¨RÑ0Ô0Ð0Ý! "¤$ s¤u¨RÑ0Ô0Ð0Ý! "¤$ s¤u¨RÑ0Ô0Ð0Ð0Ð0r5   N)rN   rO   rP   rÝ   rQ   r5   r)   rÈ   rÈ   â   s#   € € € € € ð1ð 1ð 1ð 1ð 1r5   rÈ   c                   ó   — e Zd Zd„ ZdS )ÚTestCallc           	      ó®  — g }t          d¦  «        D ]D}|                     d„ dt          |¬¦  «        z                       ¦   «         D ¦   «         ¦  «         ŒEt	          j        d¬¦  «        5  |D ]L}t          |¦  «        }t           |d¦  «         t	          j        |j	        ¦  «        d¦  «        |¬¦  «         ŒM	 d d d ¦  «         d S # 1 swxY w Y   d S )	Nr   c                 ó6   — g | ]}|                      ¦   «         ‘ŒS rQ   )Ústrip)Ú.0Úxs     r)   ú
<listcomp>z&TestCall.test_call.<locals>.<listcomp>  s,   € ð ð ð  q˜Ÿš™œð ð ð r5   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   r†   Úcoef)r"   ÚpolyrË   ÚpstrrÌ   s        r)   Ú	test_callzTestCall.test_call  sL  € ØˆÝ�q‘”ð 	ð 	ˆAØ�KŠKð ð ðõ  ˜Q�i‘i”iñ! ÷  "'¢¡¤ð#ñ ô ñ ô ð ð õ& Œ[˜XÐ&Ñ&Ô&ð 	2ð 	2Øð 2ð 2�Ý˜‘J”J�Ý# A A e¡H¤HÐ.?­b¬i¸¼Ñ.?Ô.?ÀÑ.FÔ.FØ,0ð2ñ 2ô 2ð 2ð 2ð2ð	2ð 	2ð 	2ñ 	2ô 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2ð 	2øøøð 	2ð 	2ð 	2ð 	2ð 	2ð 	2s   Á,AC
Ã
CÃCN)rN   rO   rP   rï   rQ   r5   r)   rß   rß      s#   € € € € € ð2ð 2ð 2ð 2ð 2r5   rß   c                   ó   — e Zd Zd„ ZdS )ÚTestGenlaguerrec                 ó¢  — t           t          j        ddd¬¦  «        d¦  «        d¦  «         t           t          j        ddd¬¦  «        d¦  «        d¦  «         t          t          j        ddd¬¦  «        t          j        dd	g¦  «        ¦  «         t          t          j        ddd¬¦  «        t          j        dd
g¦  «        ¦  «         d S )Nr   F)Úmonicr   r„   Tç       Àr,   r   r   )r   r   Úgenlaguerrer   r†   )r"   s    r)   Útest_regressionzTestGenlaguerre.test_regression  sÂ   € ÝÐ8•TÔ% a¨°%Ð8Ñ8Ô8¸Ñ;Ô;¸RÑ@Ô@Ð@ÝÐ7•TÔ% a¨°$Ð7Ñ7Ô7¸Ñ:Ô:¸CÑ@Ô@Ð@Ý•TÔ% a¨°%Ð8Ñ8Ô8½"¼)ÀRÈÀGÑ:LÔ:LÑMÔMÐMÝ•TÔ% a¨°$Ð7Ñ7Ô7½¼ÀAÀrÀ7Ñ9KÔ9KÑLÔLÐLÐLÐLr5   N)rN   rO   rP   rö   rQ   r5   r)   rñ   rñ     s(   € € € € € ðMð Mð Mð Mð Mr5   rñ   çVçž¯Ò<ç‚vIhÂ%,=c                 óæ  ‡‡—  | |d¦  «        \  }}	}
t          j        |t          j        d¦  «        ¬¦  «        } ||d d …t           j        f         |¦  «        }t          j        ||	z  |j        ¦  «        }dt          j        |                     ¦   «         ¦  «        z  }|d d …t           j        f         |z  |z  }t          |t          j	        |¦  «        ||¦  «         t          |	 
                    ¦   «         |
||¦  «         d„ Št          j        ˆˆfd„||¦  «        }t          j         ‰|¦  «        |	¦  «        }d|d         k     rdn
|d         dz  }t          |d	         ||¬
¦  «         d S )NTÚlong)Údtyper   c                 ó*   — | dz  d| dz  z  z
  | z   dz
  S )Nr   r   rQ   )rä   s    r)   Úfzverify_gauss_quad.<locals>.f6  s#   € Ø�A‰v˜˜A ™F™
Ñ" QÑ&¨Ñ*Ð*r5   c                 ó2   •—  ‰| ¦  «         ‰| ¦  «        z  S ©NrQ   )rä   rý   Úweight_funcs    €€r)   ú<lambda>z#verify_gauss_quad.<locals>.<lambda>8  s   ø€  A A a¡D¤D¨¨°Q©¬Ñ$7€ r5   g�íµ ÷Æ°>é
   r   ©Úrtol)r   Úarangerû   ÚnewaxisÚdotÚTr   Údiagonalr	   ÚeyeÚsumr
   ÚquadÚvdot)Ú	root_funcÚ	eval_funcr   r^   ÚbÚNr  Úatolrä   ÚwÚmurË   ÚvÚvvÚvdÚresIÚresGrý   s     `              @r)   Úverify_gauss_quadr  &  si  øø€ ð ˆy˜˜DÑ!Ô!�H€A€qˆ"å
Œ	�!�2œ8 FÑ+Ô+Ð,Ñ,Ô,€AØˆ	�!�A�A�A•b”j�L”/ 1Ñ%Ô%€AÝ	Œ��!‘�Q”SÑ	Ô	€BØ	
�RŒW�R—[’[‘]”]Ñ#Ô#Ñ	#€BØ	ˆAˆAˆA�rŒzˆMÔ	˜RÑ	 "Ñ	$€BÝ�B�œ˜q™	œ	 4¨Ñ.Ô.Ð.õ �A—E’E‘G”G˜R  tÑ,Ô,Ð,ð+ð +ð +åŒ>Ð7Ð7Ð7Ð7Ð7¸¸AÑ>Ô>€DÝŒ7�1�1�Q‘4”4˜ÑÔ€DØ˜$˜qœ'’>�>ˆ4ˆ4 t¨A¤w°¡|€DÝ�D˜”G˜T¨Ð-Ñ-Ô-Ð-Ð-Ð-r5   c            	      ó”  — 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¬¦  «         t          j        d%d&d&¦  «        \  }}t          j        d%¦  «        \  }}t	          ||d'd'¦  «         t	          ||d'd'¦  «         t          j        d%d(d(¦  «        \  }}t          j        d%d)¦  «        \  }}	t	          ||d'd'¦  «         t	          ||	d'd'¦  «         t          j        ddd*d+¦  «        \  }
}t          j        ddd*d,¦  «        \  }}}t	          |
|d'd'¦  «         t	          ||d'd'¦  «         t          j         |dd*¦  «        d-d¦  «        \  }}t	          |||¬.¦  «         t          t          t          j        d/dd¦  «         t          t          t          j        d0dd¦  «         t          t          t          j        d*d1d¦  «         t          t          t          j        d*dd1¦  «         t          t          t          j        d*d1d1¦  «         d S )2Nc                 ó   ‡ ‡— ˆ ˆfd„S )Nc                 ó2   •— t          j        | ‰‰|¦  «        S rÿ   )r\   Úroots_jacobi©rË   r  r^   r  s     €€r)   r  z/test_roots_jacobi.<locals>.rf.<locals>.<lambda>?  s   ø€ �Rœ_¨Q°°1°bÑ9Ô9€ r5   rQ   ©r^   r  s   ``r)   Úrfztest_roots_jacobi.<locals>.rf>  ó   øø€ Ø9Ð9Ð9Ð9Ð9Ð9r5   c                 ó   ‡ ‡— ˆ ˆfd„S )Nc                 ó2   •— t          j        | ‰‰|¦  «        S rÿ   )r\   Úeval_jacobi©rË   rä   r^   r  s     €€r)   r  z/test_roots_jacobi.<locals>.ef.<locals>.<lambda>A  s   ø€ �BœN¨1¨a°°AÑ6Ô6€ r5   rQ   r   s   ``r)   Úefztest_roots_jacobi.<locals>.ef@  s   øø€ Ø6Ð6Ð6Ð6Ð6Ð6r5   c                 ó   ‡ ‡— ˆ ˆfd„S )Nc                 ó&   •— d| z
  ‰z  d| z   ‰z  z  S )Nr   rQ   ©rä   r^   r  s    €€r)   r  z/test_roots_jacobi.<locals>.wf.<locals>.<lambda>C  s   ø€ ˜!˜a™% A™¨¨Q©°1©Ñ4€ r5   rQ   r   s   ``r)   Úwfztest_roots_jacobi.<locals>.wfB  s   øø€ Ø4Ð4Ð4Ð4Ð4Ð4r5   rm   ç      è¿ç      ð¿rg   r   é   çê-�™—q=©r  éd   ç•dyáý¥=rU   çá7ÎQE=çê-�™—�=r   ç‚vIhÂ%L=çÍÌÌÌÌÌì?r   ç‚vIhÂ%<=gá7ÎQU=ç=
×£p=2@çÍÌÌÌÌL;@g^~zÅ=çÍÌÌÌÌŒG@rV   g     �„@éú   g     ð@ç»½×Ùß|Û=g      €@g     @�@g     @@ç      @çš™™™™9Q@rE   ç        ç›+¡†›„=r…   g      @r   FTr,   r  r   çffffff
@r   )
r  r\   r  Úroots_legendrer	   Úroots_gegenbauerr
   r  Úassert_raisesro   )r!  r'  r+  ÚvgqÚxjÚwjÚxlÚwlÚxcÚwcrä   r  Úyr  ÚmÚmuIÚmuI_errs                    r)   Útest_roots_jacobirP  =  s�
  € ð:ð :ð :ð7ð 7ð 7ð5ð 5ð 5õ €CØ€Cˆˆˆ4�‰Œ˜˜˜D %™œ¨"¨"¨T°5©/¬/¸3ÀÀAÑFÔFÐFØ€Cˆˆˆ4�‰Œ˜˜˜D %™œ¨"¨"¨T°5©/¬/¸3ÀØ
�ðñ ô ð à€Cˆˆˆ4�‰Œ˜˜˜D %™œ¨"¨"¨T°5©/¬/¸3ÀØ�%ðñ ô ð ð €Cˆˆˆ3�‰Œ�r�r˜#˜t‘}”} b b¨¨d¡m¤m°S¸"¸aÑ@Ô@Ð@Ø€Cˆˆˆ3�‰Œ�r�r˜#˜t‘}”} b b¨¨d¡m¤m°S¸"¸bÀwÐOÑOÔOÐOØ€Cˆˆˆ3�‰Œ�r�r˜#˜t‘}”} b b¨¨d¡m¤m°S¸"¸cÈÐNÑNÔNÐNà€Cˆˆˆ1ˆc‰
Œ
�B�B�q˜#‘J”J   1 c¡
¤
¨C°°Q¸UÐCÑCÔCÐCØ€Cˆˆˆ1ˆc‰
Œ
�B�B�q˜#‘J”J   1 c¡
¤
¨C°°R¸eÐDÑDÔDÐDØ€Cˆˆˆ1ˆc‰
Œ
�B�B�q˜#‘J”J   1 c¡
¤
¨C°°S¸uÐEÑEÔEÐEà€Cˆˆˆ3�‰
Œ
�B�B�s˜A‘J”J   3¨¡
¤
¨C°°QÑ7Ô7Ð7Ø€Cˆˆˆ3�‰
Œ
�B�B�s˜A‘J”J   3¨¡
¤
¨C°°R¸eÐDÑDÔDÐDØ€Cˆˆˆ3�‰
Œ
�B�B�s˜A‘J”J   3¨¡
¤
¨C°°S¸uÐEÑEÔEÐEà€Cˆˆˆ5�$‰Œ˜˜˜E 4™œ¨"¨"¨U°D©/¬/¸3ÀÀAÑFÔFÐFØ€Cˆˆˆ5�$‰Œ˜˜˜E 4™œ¨"¨"¨U°D©/¬/¸3ÀÀBØðñ ô ð à€Cˆˆˆ5�$‰Œ˜˜˜E 4™œ¨"¨"¨U°D©/¬/¸3ÀØ�%ðñ ô ð ð €Cˆˆˆ4�‰Œ˜˜˜4 ™œ¨¨¨4°©¬¸¸RÀÈÐOÑOÔOÐOØ€Cˆˆˆ4�‰Œ˜˜˜4 ™œ¨¨¨4°©¬¸¸RÀÈ%ÐPÑPÔPÐPØ€Cˆˆˆ4�‰Œ˜˜˜4 ™œ¨¨¨4°©¬¸¸RØ�%ðñ ô ð ð €Cˆˆˆ2ˆt‰Œ�b�b˜˜T‘l”l B B r¨4¡L¤L°#°r¸1À5ÐIÑIÔIÐIØ€Cˆˆˆ2ˆt‰Œ�b�b˜˜T‘l”l B B r¨4¡L¤L°#°r¸2ÀEÐJÑJÔJÐJØ€Cˆˆˆ2ˆt‰Œ�b�b˜˜T‘l”l B B r¨4¡L¤L°#°r¸3ÀUÐKÑKÔKÐKØ€Cˆˆˆ2ˆt‰Œ�b�b˜˜T‘l”l B B r¨4¡L¤L°#°r¸3ÀUÐKÑKÔKÐKà€Cˆˆˆ4�‰Œ˜˜˜4 ™œ¨¨¨4°©¬¸¸RÀØðñ ô ð à€Cˆˆˆ4�‰Œ˜˜˜4 ™œ¨¨¨4°©¬¸¸RÀØðñ ô ð à€Cˆˆˆ4�‰Œ˜˜˜4 ™œ¨¨¨4°©¬¸¸RÀØðñ ô ð ð €Cˆˆˆ4�‰Œ˜˜˜4 ™œ¨¨¨4°©¬¸¸RÀØðñ ô ð à€Cˆˆˆ4�‰Œ˜˜˜4 ™œ¨¨¨4°©¬¸¸RÀØðñ ô ð à€Cˆˆˆ4�‰Œ˜˜˜4 ™œ¨¨¨4°©¬¸¸RÀØðñ ô ð ð €Cˆˆˆ5�$‰Œ˜˜˜E 4™œ¨"¨"¨U°D©/¬/¸3ÀÀAØðñ ô ð à€Cˆˆˆ5�$‰Œ˜˜˜E 4™œ¨"¨"¨U°D©/¬/¸3ÀÀBØðñ ô ð à€Cˆˆˆ5�$‰Œ˜˜˜E 4™œ¨"¨"¨U°D©/¬/¸3ÀÀCØðñ ô ð ð €Cˆˆˆ4�‰Œ˜˜˜4 ™œ¨¨¨4°©¬¸¸RÀÑCÔCÐCØ€Cˆˆˆ4�‰Œ˜˜˜4 ™œ¨¨¨4°©¬¸¸RÀØðñ ô ð à€Cˆˆˆ4�‰Œ˜˜˜4 ™œ¨¨¨4°©¬¸¸RÀØðñ ô ð õ Œ_˜Q  SÑ)Ô)�F€BˆÝÔ˜qÑ!Ô!�F€BˆÝ�B˜˜E 5Ñ)Ô)Ð)Ý�B˜˜E 5Ñ)Ô)Ð)õ Œ_˜Q  SÑ)Ô)�F€BˆÝÔ   CÑ(Ô(�F€BˆÝ�B˜˜E 5Ñ)Ô)Ð)Ý�B˜˜E 5Ñ)Ô)Ð)åŒ?˜1˜a  EÑ*Ô*�D€A€qÝŒo˜a  A tÑ,Ô,�G€A€qˆ!Ý�A�q˜% Ñ'Ô'Ð'Ý�A�q˜% Ñ'Ô'Ð'å”> " " Q q¡'¤'¨2¨qÑ1Ô1�L€CˆÝ�A�s Ð)Ñ)Ô)Ð)å•*�bœo¨q°!°QÑ7Ô7Ð7Ý•*�bœo¨s°A°qÑ9Ô9Ð9Ý•*�bœo¨q°"°aÑ8Ô8Ð8Ý•*�bœo¨q°!°RÑ8Ô8Ð8Ý•*�bœo¨q°"°bÑ9Ô9Ð9Ð9Ð9r5   c            	      ó^
  — 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
¬¦  «         t          j        dddd¦  «        \  }}t          j        dddd ¦  «        \  }}}t          ||d!d!¦  «         t          ||d!d!¦  «         t	          j         |dd¦  «        d"d¦  «        \  }	}
t          ||	|
¬#¦  «         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                 ó   ‡ ‡— ˆ ˆfd„S )Nc                 ó2   •— t          j        | ‰‰|¦  «        S rÿ   )r\   Úroots_sh_jacobir  s     €€r)   r  z2test_roots_sh_jacobi.<locals>.rf.<locals>.<lambda>Ÿ  s   ø€ �RÔ/°°1°a¸Ñ<Ô<€ r5   rQ   r   s   ``r)   r!  z test_roots_sh_jacobi.<locals>.rfž  s   øø€ Ø<Ð<Ð<Ð<Ð<Ð<r5   c                 ó   ‡ ‡— ˆ ˆfd„S )Nc                 ó2   •— t          j        | ‰‰|¦  «        S rÿ   )r\   Úeval_sh_jacobir&  s     €€r)   r  z2test_roots_sh_jacobi.<locals>.ef.<locals>.<lambda>¡  s   ø€ �BÔ-¨a°°A°qÑ9Ô9€ r5   rQ   r   s   ``r)   r'  z test_roots_sh_jacobi.<locals>.ef   r"  r5   c                 ó   ‡ ‡— ˆ ˆfd„S )Nc                 ó,   •— d| z
  ‰‰z
  z  | ‰dz
  z  z  S )Nrg   rQ   r*  s    €€r)   r  z2test_roots_sh_jacobi.<locals>.wf.<locals>.<lambda>£  s!   ø€ ˜# ™' q¨1¡uÑ-°°a¸#±g±Ñ>€ r5   rQ   r   s   ``r)   r+  z test_roots_sh_jacobi.<locals>.wf¢  s   øø€ Ø>Ð>Ð>Ð>Ð>Ð>r5   rm   g      Ð?r?  rg   r   r.  r/  r0  r1  r2  rU   r7  r   r3  r4  r   r6  r9  r8  r:  çš™™™™™É?r<  r>  r=  g(Í´#=r5  r   FTr@  r   r  rA  r,   r   )r  r\   rT  r	   r
   r  rD  ro   )r!  r'  r+  rE  rä   r  rL  r  rM  rN  rO  s              r)   Útest_roots_sh_jacobir[  �  sZ  € ð=ð =ð =ð:ð :ð :ð?ð ?ð ?õ €CØ€Cˆˆˆ4�‰Œ˜˜˜4 ™œ¨¨¨4°©¬¸¸BÀÑBÔBÐBØ€Cˆˆˆ4�‰Œ˜˜˜4 ™œ¨¨¨4°©¬¸¸BØ
�ðñ ô ð à€Cˆˆˆ4�‰Œ˜˜˜4 ™œ¨¨¨4°©¬¸¸BØ�%ðñ ô ð ð €Cˆˆˆ3�‰Œ�b�b˜˜c‘l”l B B s¨C¡L¤L°"°b¸!Ñ<Ô<Ð<Ø€Cˆˆˆ3�‰Œ�b�b˜˜c‘l”l B B s¨C¡L¤L°"°b¸"À5ÐIÑIÔIÐIØ€Cˆˆˆ3�‰Œ�b�b˜˜c‘l”l B B s¨C¡L¤L°"°b¸#ÀEÐJÑJÔJÐJà€Cˆˆˆ1ˆc‰
Œ
�B�B�q˜#‘J”J   1 c¡
¤
¨B°°AÑ6Ô6Ð6Ø€Cˆˆˆ1ˆc‰
Œ
�B�B�q˜#‘J”J   1 c¡
¤
¨B°°B¸WÐEÑEÔEÐEØ€Cˆˆˆ1ˆc‰
Œ
�B�B�q˜#‘J”J   1 c¡
¤
¨B°°C¸eÐDÑDÔDÐDà€Cˆˆˆ1ˆc‰
Œ
�B�B�q˜#‘J”J   1 c¡
¤
¨B°°AÑ6Ô6Ð6Ø€Cˆˆˆ1ˆc‰
Œ
�B�B�q˜#‘J”J   1 c¡
¤
¨B°°B¸UÐCÑCÔCÐCØ€Cˆˆˆ1ˆc‰
Œ
�B�B�q˜#‘J”J   1 c¡
¤
¨B°°C¸eÐDÑDÔDÐDà€Cˆˆˆ4�‰Œ˜˜˜D %™œ¨"¨"¨T°5©/¬/¸2¸rÀ1ÑEÔEÐEØ€Cˆˆˆ4�‰Œ˜˜˜D %™œ¨"¨"¨T°5©/¬/¸2¸rÀ2ÑFÔFÐFØ€Cˆˆˆ4�‰Œ˜˜˜D %™œ¨"¨"¨T°5©/¬/¸2¸rØ�%ðñ ô ð ð €Cˆˆˆ4�‰Œ�r�r˜$ ‘}”} b b¨¨s¡m¤m°R¸¸QÀUÐKÑKÔKÐKØ€Cˆˆˆ4�‰Œ�r�r˜$ ‘}”} b b¨¨s¡m¤m°R¸¸RÀeÐLÑLÔLÐLØ€Cˆˆˆ4�‰Œ�r�r˜$ ‘}”} b b¨¨s¡m¤m°R¸¸SÀuÐMÑMÔMÐMà€Cˆˆˆ4�‰Œ˜˜˜4 ™œ¨¨¨4°©¬¸¸BÀÈÐPÑPÔPÐPØ€Cˆˆˆ4�‰Œ˜˜˜4 ™œ¨¨¨4°©¬¸¸BÀÈÐOÑOÔOÐOØ€Cˆˆˆ4�‰Œ˜˜˜4 ™œ¨¨¨4°©¬¸¸BØ�%ðñ ô ð õ Ô˜a  A uÑ-Ô-�D€A€qÝÔ   A q¨$Ñ/Ô/�G€A€qˆ!Ý�A�q˜% Ñ'Ô'Ð'Ý�A�q˜% Ñ'Ô'Ð'å”> " " Q q¡'¤'¨1¨aÑ0Ô0�L€CˆÝ�A�s Ð)Ñ)Ô)Ð)å•*�bÔ0°!°Q¸Ñ:Ô:Ð:Ý•*�bÔ0°#°q¸!Ñ<Ô<Ð<Ý•*�bÔ0°!°Q¸Ñ:Ô:Ð:Ý•*�bÔ0°!°Q¸Ñ;Ô;Ð;Ý•*�bÔ0°!°R¸Ñ<Ô<Ð<Ð<Ð<r5   c            	      óø  — t           j        } t           j        }t          j        d¦  «        j        }t          | ||t          j         t          j        d¦  «         t          | ||t          j         t          j        dd¬¦  «         t          | ||t          j         t          j        dd¬¦  «         t          j        dd¦  «        \  }}t          j        dd¦  «        \  }}}t          ||d	d	¦  «         t          ||d	d	¦  «         t          j        |t          j         t          j        ¦  «        \  }}	t          |||	¬
¦  «         t          j        dd¦  «        \  }}t          j        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.  r7  r0  r1  r/  FTr@  r  éÈ   r   rA  )r\   Úroots_hermiteÚeval_hermiter   r{   r   r  r   rq   r	   r
   r  r  rD  ro   ©
ÚrootfÚevalfÚweightfrä   r  rL  r  rM  rN  rO  s
             r)   Útest_roots_hermiterd  Ô  s±  € ÝÔ€EÝŒO€EÝŒl˜1‰oŒoÔ)€Gå�e˜U G­b¬f¨Wµb´f¸aÑ@Ô@Ð@Ý�e˜U G­b¬f¨Wµb´f¸bÀuÐMÑMÔMÐMÝ�e˜U G­b¬f¨Wµb´f¸cÈÐNÑNÔNÐNõ Ô˜A˜uÑ%Ô%�D€A€qÝÔ˜q $Ñ'Ô'�G€A€qˆ!Ý�A�q˜% Ñ'Ô'Ð'Ý�A�q˜% Ñ'Ô'Ð'å”> '­B¬F¨7µB´FÑ;Ô;�L€CˆÝ�A�s Ð)Ñ)Ô)Ð)õ Ô˜C Ñ'Ô'�D€A€qÝÔ˜s DÑ)Ô)�G€A€qˆ!Ý�A�q˜% Ñ'Ô'Ð'Ý�A�q˜% Ñ'Ô'Ð'Ý•C˜‘F”F˜A˜u eÑ,Ô,Ð,å•*�bÔ.°Ñ2Ô2Ð2Ý•*�bÔ.°Ñ4Ô4Ð4Ð4Ð4r5   c                  ó  ‡— 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 S )Nc                 óÀ  — t          j        | |j        f¦  «        }t           j        dz  t          j        d|dz  z  ¦  «        z  |dd d …f<   | dk    r‹t          d¦  «        |z  |dd d …f         z  |dd d …f<   t          d| ¦  «        D ]T}t          d|z  ¦  «        |z  ||dz
  d d …f         z  t          |dz
  |z  ¦  «        ||dz
  d d …f         z  z
  ||d d …f<   ŒU|S )Nç      Ð¿rm   r   r   r   r„   rg   )r   ÚzerosÚsizeÚpiÚexpr   rç   )rË   ÚnodesÚHÚks       r)   Úhermite_recursionz1test_roots_hermite_asy.<locals>.hermite_recursionò  sü   € ÝŒH�a˜œ�_Ñ%Ô%ˆÝ”˜‘¥"¤&¨¨e°Q©h©Ñ"7Ô"7Ñ7ˆˆ!ˆAˆAˆAˆ#‰ØˆqŠ5ˆ5Ý˜#‘Y”Y Ñ&¨¨1¨Q¨Q¨Q¨3¬Ñ/ˆAˆa���ˆc‰FÝ˜1˜a‘[”[ð Uð U�Ý˜c !™e™œ uÑ,¨q°°1±°Q°Q°Q°¬xÑ7½$ÀÀ#ÁÀq¹y¹/¼/ÈAÈaÐPQÉcÐRSÐRSÐRSÈeÌHÑ:TÑT��!�A�A�A�#‘�Øˆr5   r÷   r@  c                 ó  •— t          j        | ¦  «        \  }} ‰| dz   |¦  «        }t          |dd d …f         t          j        | ¦  «        ||¦  «         t          t          |¦  «        t          t          j        ¦  «        ||¦  «         d S )Nr   r,   )r   Ú_roots_hermite_asyr	   r   rh  r  r   rj  )r  r  r  rä   r  rm  ro  s         €r)   Útestz$test_roots_hermite_asy.<locals>.testü  s}   ø€ ÝÔ& qÑ)Ô)‰ˆˆ1ØÐ˜a ™c 1Ñ%Ô%ˆÝ˜˜"˜Q˜Q˜Q˜$œ¥¤¨!¡¤¨d°DÑ9Ô9Ð9Ý�˜A™œ¥¥R¤U¡¤¨T°4Ñ8Ô8Ð8Ð8Ð8r5   é–   r/  r0  é—   i,  i-  iô  iõ  iç  iè  iÐ  iˆ  )r÷   r@  rQ   )rr  ro  s    @r)   Útest_roots_hermite_asyru  ð  s
  ø€ ðð ð ð9ð 9ð 9ð 9ð 9ð 9ð 	€Dˆ�5ÐÑÔÐØ€Dˆ�5ÐÑÔÐØ€Dˆ�5ÐÑÔÐØ€Dˆ�5ÐÑÔÐØ€Dˆ�5ÐÑÔÐØ€Dˆ�5ÐÑÔÐØ€Dˆ�5ÐÑÔÐØ€Dˆ�EÐÑÔÐØ€Dˆ�EÐÑÔÐØ€Dˆ�EÐÑÔÐÐÐr5   c            	      ó  — t           j        } t           j        }t          j        d¦  «        j        }t          | ||t          j         t          j        d¦  «         t          | ||t          j         t          j        dd¬¦  «         t          | ||t          j         t          j        dd¬¦  «         t          j        dd¦  «        \  }}t          j        dd¦  «        \  }}}t          ||d	d	¦  «         t          ||d	d	¦  «         t          j        |t          j         t          j        ¦  «        \  }}	t          |||	¬
¦  «         t          t          t           j        d¦  «         t          t          t           j        d¦  «         d S )Nr   r.  r7  r0  r1  r/  FTr@  r  r   rA  )r\   Úroots_hermitenormÚeval_hermitenormr   r‡   r   r  r   rq   r	   r
   r  rD  ro   r`  s
             r)   Útest_roots_hermitenormry    sA  € ÝÔ €EÝÔ€EÝÔ˜qÑ!Ô!Ô-€Gå�e˜U G­b¬f¨Wµb´f¸aÑ@Ô@Ð@Ý�e˜U G­b¬f¨Wµb´f¸bÀuÐMÑMÔMÐMÝ�e˜U G­b¬f¨Wµb´f¸cÈÐNÑNÔNÐNåÔ  5Ñ)Ô)�D€A€qÝÔ" 1 dÑ+Ô+�G€A€qˆ!Ý�A�q˜% Ñ'Ô'Ð'Ý�A�q˜% Ñ'Ô'Ð'å”> '­B¬F¨7µB´FÑ;Ô;�L€CˆÝ�A�s Ð)Ñ)Ô)Ð)å•*�bÔ2°AÑ6Ô6Ð6Ý•*�bÔ2°CÑ8Ô8Ð8Ð8Ð8r5   c            	      ó|  — 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¦  «        t          j         |d¦  «        ddd¦  «          | | d¦  «        t          j         |d¦  «        ddd¦  «          | | d¦  «        t          j         |d¦  «        dddd	¬
¦  «         t          j        ddd¦  «        \  }}t          j        ddd¦  «        \  }}}t	          ||dd¦  «         t	          ||dd¦  «         t          j         |d¦  «        dd¦  «        \  }	}
t	          ||	|
¬¦  «         t          t          t          j        dd¦  «         t          t          t          j        dd¦  «         t          t          t          j        d d!¦  «         d S )"Nc                 ó   ‡ — ˆ fd„S )Nc                 ó0   •— t          j        | ‰|¦  «        S rÿ   )r\   rC  ©rË   r  r^   s     €r)   r  z6test_roots_gegenbauer.<locals>.rootf.<locals>.<lambda>#  s   ø€ �RÔ0°°A°rÑ:Ô:€ r5   rQ   ©r^   s   `r)   ra  z$test_roots_gegenbauer.<locals>.rootf"  s   ø€ Ø:Ð:Ð:Ð:Ð:r5   c                 ó   ‡ — ˆ fd„S )Nc                 ó0   •— t          j        | ‰|¦  «        S rÿ   )r\   Úeval_gegenbauer©rË   rä   r^   s     €r)   r  z6test_roots_gegenbauer.<locals>.evalf.<locals>.<lambda>%  s   ø€ �BÔ.¨q°!°QÑ7Ô7€ r5   rQ   r~  s   `r)   rb  z$test_roots_gegenbauer.<locals>.evalf$  s   ø€ Ø7Ð7Ð7Ð7Ð7r5   c                 ó   ‡ — ˆ fd„S )Nc                 ó    •— d| dz  z
  ‰dz
  z  S )Nr   r   rU   rQ   ©rä   r^   s    €r)   r  z8test_roots_gegenbauer.<locals>.weightf.<locals>.<lambda>'  s   ø€ ˜!˜a 1™f™*¨!¨c©'Ñ2€ r5   rQ   r~  s   `r)   rc  z&test_roots_gegenbauer.<locals>.weightf&  s   ø€ Ø2Ð2Ð2Ð2Ð2r5   rg  r-  rg   r   r.  r/  r0  r1  r2  çš™™™™™¹?r7  r   r  é2   éª   g     Pe@gê-�™—A=éî   g     €@r<  r   r   FTr@  r,   r  rA  r   r,  )	r  r\   Úeval_chebytrC  r	   r
   r  rD  ro   ©ra  rb  rc  rE  rä   r  rL  r  rM  rN  rO  s              r)   Útest_roots_gegenbauerrŒ  !  sW  € ð;ð ;ð ;ð8ð 8ð 8ð3ð 3ð 3õ €CØ€Cˆˆˆe‰Œ�e�e˜E‘l”l G G¨E¡N¤N°C¸¸QÑ?Ô?Ð?Ø€Cˆˆˆe‰Œ�e�e˜E‘l”l G G¨E¡N¤N°C¸¸RÀeÐLÑLÔLÐLØ€Cˆˆˆe‰Œ�e�e˜E‘l”l G G¨E¡N¤N°C¸¸SÀuÐMÑMÔMÐMà€Cˆˆˆc‰
Œ
�E�E˜#‘J”J  ¨¡¤¨c°2°qÑ9Ô9Ð9Ø€Cˆˆˆc‰
Œ
�E�E˜#‘J”J  ¨¡¤¨c°2°rÀÐFÑFÔFÐFØ€Cˆˆˆc‰
Œ
�E�E˜#‘J”J  ¨¡¤¨c°2°sÀÐGÑGÔGÐGà€Cˆˆˆa‰Œ�%�%˜‘(”(˜G˜G A™JœJ¨¨R°Ñ3Ô3Ð3Ø€Cˆˆˆa‰Œ�%�%˜‘(”(˜G˜G A™JœJ¨¨R°¸%Ð@Ñ@Ô@Ð@Ø€Cˆˆˆa‰Œ�%�%˜‘(”(˜G˜G A™JœJ¨¨R°¸5ÐAÑAÔAÐAà€Cˆˆˆb‰	Œ	�5�5˜‘9”9˜g˜g b™kœk¨3°°AÑ6Ô6Ð6Ø€Cˆˆˆb‰	Œ	�5�5˜‘9”9˜g˜g b™kœk¨3°°B¸UÐCÑCÔCÐCØ€Cˆˆˆb‰	Œ	�5�5˜‘9”9˜g˜g b™kœk¨3°°C¸eÐDÑDÔDÐDà€Cˆˆˆb‰	Œ	�5�5˜‘9”9˜g˜g b™kœk¨3°°A¸EÐBÑBÔBÐBØ€Cˆˆˆb‰	Œ	�5�5˜‘9”9˜g˜g b™kœk¨3°°B¸UÐCÑCÔCÐCØ€Cˆˆˆb‰	Œ	�5�5˜‘9”9˜g˜g b™kœk¨3°°C¸eÐDÑDÔDÐDð €Cˆˆˆc‰
Œ
�E�E˜#‘J”J  ¨¡¤¨c°2°q¸uÐEÑEÔEÐEØ€Cˆˆˆc‰
Œ
�E�E˜#‘J”J  ¨¡¤¨c°2°rÀÐFÑFÔFÐFØ€Cˆˆˆc‰
Œ
�E�E˜#‘J”J  ¨¡¤¨c°2°sÀÐGÑGÔGÐGØ€Cˆˆˆe‰Œ�e�e˜E‘l”l G G¨E¡N¤N°C¸¸QÀXÐNÑNÔNÐNØ€Cˆˆˆe‰Œ�e�e˜E‘l”l G G¨E¡N¤N°C¸¸RÀeÐLÑLÔLÐLØ€Cˆˆˆe‰Œ�e�e˜E‘l”l G G¨E¡N¤N°C¸¸SÀuÐMÑMÔMÐMð €Cˆˆˆc‰
Œ
�E�E˜#‘J”J  ¨¡¤¨c°2°q¸uÐEÑEÔEÐEØ€Cˆˆˆc‰
Œ
�E�E˜#‘J”J  ¨¡¤¨c°2°rÀÐFÑFÔFÐFØ€Cˆˆˆc‰
Œ
�E�E˜#‘J”J  ¨¡¤¨c°2°sÀÐGÑGÔGÐGØ€Cˆˆˆe‰Œ�e�e˜E‘l”l G G¨E¡N¤N°C¸¸QÀUÐKÑKÔKÐKØ€Cˆˆˆe‰Œ�e�e˜E‘l”l G G¨E¡N¤N°C¸¸RÀeÐLÑLÔLÐLØ€Cˆˆˆe‰Œ�e�e˜E‘l”l G G¨E¡N¤N°C¸¸SÀuÐMÑMÔMÐMð
 €Cˆˆˆa‰Œ•"”. ' '¨!¡*¤*¨c°2°qÑ9Ô9Ð9Ø€Cˆˆˆa‰Œ•"”. ' '¨!¡*¤*¨c°2°rÑ:Ô:Ð:Ø€Cˆˆˆa‰Œ•"”. ' '¨!¡*¤*¨c°2°sÀÐGÑGÔGÐGåÔ˜q ! UÑ+Ô+�D€A€qÝÔ! ! Q¨Ñ-Ô-�G€A€qˆ!Ý�A�q˜% Ñ'Ô'Ð'Ý�A�q˜% Ñ'Ô'Ð'å”> ' '¨!¡*¤*¨b°!Ñ4Ô4�L€CˆÝ�A�s Ð)Ñ)Ô)Ð)å•*�bÔ1°1°aÑ8Ô8Ð8Ý•*�bÔ1°3¸Ñ:Ô:Ð:Ý•*�bÔ1°1°dÑ;Ô;Ð;Ð;Ð;r5   c            	      ó¬  — t          j        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¬¦  «         t	          j        dd¦  «        \  }}t	          j        dd	¦  «        \  }}}t          ||d
d
¦  «         t          ||d
d
¦  «         t          j	        | dd¦  «        \  }}t          |||¬¦  «         t          t          t          j        d¦  «         t          t          t          j        d¦  «         d S )Nr   r-  rg   r.  r1  r/  r0  FTr@  r,   r   r  r   rA  )r   r:   r   r  r\   Úroots_chebytrŠ  r	   r
   r  rD  ro   ©rc  rä   r  rL  r  rM  rN  rO  s           r)   Útest_roots_chebytr�  a  ó$  € ÝŒk˜!‰nŒnÔ(€GÝ•b”o¥r¤~°wÀÀRÈÑKÔKÐKÝ•b”o¥r¤~°wÀÀRÈÑLÔLÐLÝ•b”o¥r¤~°wÀÀRÈØ ð"ñ "ô "ð "õ Œ?˜1˜eÑ$Ô$�D€A€qÝŒo˜a Ñ&Ô&�G€A€qˆ!Ý�A�q˜% Ñ'Ô'Ð'Ý�A�q˜% Ñ'Ô'Ð'å”> '¨2¨qÑ1Ô1�L€CˆÝ�A�s Ð)Ñ)Ô)Ð)å•*�bœo¨qÑ1Ô1Ð1Ý•*�bœo¨sÑ3Ô3Ð3Ð3Ð3r5   c                  ó¼   — t          j        d¦  «        \  } }| d d…         | dd …         }}t          ||d d d…          ¦  «         t          | d         d¦  «         d S )Né   r  rW   r,   r   )r\   rŽ  r   )rä   r  ÚposÚnegs       r)   Útest_chebyt_symmetryr–  s  sd   € ÝŒ?˜2ÑÔ�D€A€qØ��"�Œv�q˜˜˜”vˆ€CÝ��s˜4˜4˜R˜4”y�jÑ!Ô!Ð!Ý��2”˜ÑÔÐÐÐr5   c                  ó¨  — t          j        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	          j        dd¦  «        \  }}t	          j        dd¦  «        \  }}}t          ||dd¦  «         t          ||dd¦  «         t          j	        | d	d
¦  «        \  }}t          |||¬¦  «         t          t          t          j        d¦  «         t          t          t          j        d¦  «         d S )Nr   r-  rg   r.  r1  FTr@  r,   r   r  r   rA  )r   rF   r   r  r\   Úroots_chebyuÚeval_chebyur	   r
   r  rD  ro   r�  s           r)   Útest_roots_chebyurš  y  ó  € ÝŒk˜!‰nŒnÔ(€GÝ•b”o¥r¤~°wÀÀRÈÑKÔKÐKÝ•b”o¥r¤~°wÀÀRÈÑLÔLÐLÝ•b”o¥r¤~°wÀÀRÈÑMÔMÐMåŒ?˜1˜eÑ$Ô$�D€A€qÝŒo˜a Ñ&Ô&�G€A€qˆ!Ý�A�q˜% Ñ'Ô'Ð'Ý�A�q˜% Ñ'Ô'Ð'å”> '¨2¨qÑ1Ô1�L€CˆÝ�A�s Ð)Ñ)Ô)Ð)å•*�bœo¨qÑ1Ô1Ð1Ý•*�bœo¨sÑ3Ô3Ð3Ð3Ð3r5   c            	      ó¬  — t          j        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¬¦  «         t	          j        dd¦  «        \  }}t	          j        dd	¦  «        \  }}}t          ||d
d
¦  «         t          ||d
d
¦  «         t          j	        | dd¦  «        \  }}t          |||¬¦  «         t          t          t          j        d¦  «         t          t          t          j        d¦  «         d S )Nr   rô   r„   r.  r1  r/  r0  FTr@  r   r   r  r   rA  )r   r   r   r  r\   Úroots_chebycÚeval_chebycr	   r
   r  rD  ro   r�  s           r)   Útest_roots_chebycrŸ  Š  r‘  r5   c                  ó¨  — t          j        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	          j        dd¦  «        \  }}t	          j        dd¦  «        \  }}}t          ||dd¦  «         t          ||dd¦  «         t          j	        | d	d
¦  «        \  }}t          |||¬¦  «         t          t          t          j        d¦  «         t          t          t          j        d¦  «         d S )Nr   rô   r„   r.  r1  FTr@  r   r   r  r   rA  )r   r-   r   r  r\   Úroots_chebysÚeval_chebysr	   r
   r  rD  ro   r�  s           r)   Útest_roots_chebysr£  œ  r›  r5   c            	      ó¬  — t          j        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¬¦  «         t	          j        dd¦  «        \  }}t	          j        dd	¦  «        \  }}}t          ||d
d
¦  «         t          ||d
d
¦  «         t          j	        | dd¦  «        \  }}t          |||¬¦  «         t          t          t          j        d¦  «         t          t          t          j        d¦  «         d S ©Nr   r?  rg   r.  r1  r7  r0  FTr@  r   r   r  rA  )r   r§   r   r  r\   Úroots_sh_chebytÚeval_sh_chebytr	   r
   r  rD  ro   r�  s           r)   Útest_roots_sh_chebytr¨  ­  ó0  € ÝŒn˜QÑÔÔ+€GÝ•bÔ(­"Ô*;¸WÀbÈ"ÈaÑPÔPÐPÝ•bÔ(­"Ô*;¸WÀbÈ"ÈbÑQÔQÐQÝ•bÔ(­"Ô*;¸WÀbÈ"Ø ð'ñ 'ô 'ð 'õ Ô˜a Ñ'Ô'�D€A€qÝÔ   DÑ)Ô)�G€A€qˆ!Ý�A�q˜% Ñ'Ô'Ð'Ý�A�q˜% Ñ'Ô'Ð'å”> '¨1¨aÑ0Ô0�L€CˆÝ�A�s Ð)Ñ)Ô)Ð)å•*�bÔ0°!Ñ4Ô4Ð4Ý•*�bÔ0°#Ñ6Ô6Ð6Ð6Ð6r5   c            	      ó¬  — t          j        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¬¦  «         t	          j        dd¦  «        \  }}t	          j        dd	¦  «        \  }}}t          ||d
d
¦  «         t          ||d
d
¦  «         t          j	        | dd¦  «        \  }}t          |||¬¦  «         t          t          t          j        d¦  «         t          t          t          j        d¦  «         d S r¥  )r   r¹   r   r  r\   Úroots_sh_chebyuÚeval_sh_chebyur	   r
   r  rD  ro   r�  s           r)   Útest_roots_sh_chebyur­  ¿  r©  r5   c            	      ó°  — t          j        d¦  «        j        } t          t          j        t          j        | ddd¦  «         t          t          j        t          j        | dddd¬¦  «         t          t          j        t          j        | dddd¬¦  «         t	          j        dd	¦  «        \  }}t	          j        dd
¦  «        \  }}}t          ||dd¦  «         t          ||dd¦  «         t          j	        | dd¦  «        \  }}t          |||¬¦  «         t          t          t          j        d¦  «         t          t          t          j        d¦  «         d S )Nr   r-  rg   r.  r7  r0  r1  r/  FTr@  r,   r   r  r   rA  )r   r•   r   r  r\   rB  Úeval_legendrer	   r
   r  rD  ro   r�  s           r)   Útest_roots_legendrer°  Ñ  s>  € ÝŒm˜AÑÔÔ*€GÝ•bÔ'­Ô)9¸7ÀCÈÈQÑOÔOÐOÝ•bÔ'­Ô)9¸7ÀCÈØ˜uð&ñ &ô &ð &å•bÔ'­Ô)9¸7ÀCÈØ ð'ñ 'ô 'ð 'õ Ô˜Q Ñ&Ô&�D€A€qÝÔ  4Ñ(Ô(�G€A€qˆ!Ý�A�q˜% Ñ'Ô'Ð'Ý�A�q˜% Ñ'Ô'Ð'å”> '¨2¨qÑ1Ô1�L€CˆÝ�A�s Ð)Ñ)Ô)Ð)å•*�bÔ/°Ñ3Ô3Ð3Ý•*�bÔ/°Ñ5Ô5Ð5Ð5Ð5r5   c            	      ó°  — t          j        d¦  «        j        } t          t          j        t          j        | ddd¦  «         t          t          j        t          j        | dddd¬¦  «         t          t          j        t          j        | dddd¬¦  «         t	          j        dd	¦  «        \  }}t	          j        dd
¦  «        \  }}}t          ||dd¦  «         t          ||dd¦  «         t          j	        | dd¦  «        \  }}t          |||¬¦  «         t          t          t          j        d¦  «         t          t          t          j        d¦  «         d S )Nr   r?  rg   r.  r7  r0  r1  r/  FTr@  r   r   r  rA  )r   r”   r   r  r\   Úroots_sh_legendreÚeval_sh_legendrer	   r
   r  rD  ro   r�  s           r)   Útest_roots_sh_legendrer´  ä  s@  € ÝÔ˜qÑ!Ô!Ô-€GÝ•bÔ*­BÔ,?ÀÈ"ÈbÐRSÑTÔTÐTÝ•bÔ*­BÔ,?ÀÈ"ÈbØ˜uð&ñ &ô &ð &å•bÔ*­BÔ,?ÀÈ"ÈbØ ð'ñ 'ô 'ð 'õ Ô  5Ñ)Ô)�D€A€qÝÔ" 1 dÑ+Ô+�G€A€qˆ!Ý�A�q˜% Ñ'Ô'Ð'Ý�A�q˜% Ñ'Ô'Ð'å”> '¨1¨aÑ0Ô0�L€CˆÝ�A�s Ð)Ñ)Ô)Ð)å•*�bÔ2°AÑ6Ô6Ð6Ý•*�bÔ2°CÑ8Ô8Ð8Ð8Ð8r5   c            	      ó   — t          j        d¦  «        j        } t          t          j        t          j        | dt          j        d¦  «         t          t          j        t          j        | dt          j        dd¬¦  «         t          t          j        t          j        | dt          j        dd¬¦  «         t	          j        dd¦  «        \  }}t	          j        dd	¦  «        \  }}}t          ||d
d
¦  «         t          ||d
d
¦  «         t          j        | dt          j        ¦  «        \  }}t          |||¬¦  «         t          t          t          j        d¦  «         t          t          t          j        d¦  «         d S )Nr   r?  r.  r7  r0  r1  r/  FTr@  r   r  rA  )r   Úlaguerrer   r  r\   Úroots_laguerreÚeval_laguerrer   rq   r	   r
   r  rD  ro   r�  s           r)   Útest_roots_laguerrer¹  ÷  sG  € ÝŒm˜AÑÔÔ*€GÝ•bÔ'­Ô)9¸7ÀBÍÌÐPQÑRÔRÐRÝ•bÔ'­Ô)9¸7ÀBÍÌØ˜uð&ñ &ô &ð &å•bÔ'­Ô)9¸7ÀBÍÌØ ð'ñ 'ô 'ð 'õ Ô˜Q Ñ&Ô&�D€A€qÝÔ  4Ñ(Ô(�G€A€qˆ!Ý�A�q˜% Ñ'Ô'Ð'Ý�A�q˜% Ñ'Ô'Ð'å”> '¨1­b¬fÑ5Ô5�L€CˆÝ�A�s Ð)Ñ)Ô)Ð)å•*�bÔ/°Ñ3Ô3Ð3Ý•*�bÔ/°Ñ5Ô5Ð5Ð5Ð5r5   c            
      óv  — d„ } d„ }d„ }t           } | | d¦  «         |d¦  «         |d¦  «        dt          j        d¦  «          | | d¦  «         |d¦  «         |d¦  «        dt          j        dd¬	¦  «          | | d¦  «         |d¦  «         |d¦  «        dt          j        d
d¬	¦  «          | | d¦  «         |d¦  «         |d¦  «        dt          j        d¦  «          | | d¦  «         |d¦  «         |d¦  «        dt          j        dd¬	¦  «          | | d¦  «         |d¦  «         |d¦  «        dt          j        d
d¬	¦  «          | | d¦  «         |d¦  «         |d¦  «        dt          j        d¦  «          | | d¦  «         |d¦  «         |d¦  «        dt          j        dd¬	¦  «          | | d¦  «         |d¦  «         |d¦  «        dt          j        d
d¬	¦  «          | | d¦  «         |d¦  «         |d¦  «        dt          j        d¦  «          | | d¦  «         |d¦  «         |d¦  «        dt          j        dd¬	¦  «          | | d¦  «         |d¦  «         |d¦  «        dt          j        d
d¬	¦  «          | | d¦  «         |d¦  «         |d¦  «        dt          j        d¦  «          | | d¦  «         |d¦  «         |d¦  «        dt          j        dd¬	¦  «          | | d¦  «         |d¦  «         |d¦  «        dt          j        d
dd¬¦  «         t          j        ddd¦  «        \  }}t          j        ddd¦  «        \  }}}t          ||dd¦  «         t          ||dd¦  «         t          j         |d¦  «        dt          j        ¦  «        \  }	}
t          ||	|
¬¦  «         t          t          t          j        dd¦  «         t          t          t          j        dd¦  «         t          t          t          j        dd¦  «         d S )Nc                 ó   ‡ — ˆ fd„S )Nc                 ó0   •— t          j        | ‰|¦  «        S rÿ   )r\   Úroots_genlaguerrer}  s     €r)   r  z7test_roots_genlaguerre.<locals>.rootf.<locals>.<lambda>  s   ø€ �RÔ1°!°Q¸Ñ;Ô;€ r5   rQ   r~  s   `r)   ra  z%test_roots_genlaguerre.<locals>.rootf  s   ø€ Ø;Ð;Ð;Ð;Ð;r5   c                 ó   ‡ — ˆ fd„S )Nc                 ó0   •— t          j        | ‰|¦  «        S rÿ   )r\   Úeval_genlaguerrer‚  s     €r)   r  z7test_roots_genlaguerre.<locals>.evalf.<locals>.<lambda>  s   ø€ �BÔ/°°1°aÑ8Ô8€ r5   rQ   r~  s   `r)   rb  z%test_roots_genlaguerre.<locals>.evalf  s   ø€ Ø8Ð8Ð8Ð8Ð8r5   c                 ó   ‡ — ˆ fd„S )Nc                 ó:   •— | ‰z  t          j        |  ¦  «        z  S rÿ   )r   rk  r…  s    €r)   r  z9test_roots_genlaguerre.<locals>.weightf.<locals>.<lambda>  s   ø€ ˜˜a™¥"¤&¨!¨¡*¤*Ñ,€ r5   rQ   r~  s   `r)   rc  z'test_roots_genlaguerre.<locals>.weightf  s   ø€ Ø,Ð,Ð,Ð,Ð,r5   rm   r?  r   r.  r7  r0  r1  r/  r†  g›+¡†›„F=r   g‹N¼£îý<=r  r‡  r@  r5  )r  r  r   FTr„   r  r   rA  r   gš™™™™™ñ¿)
r  r   rq   r\   r½  r	   r
   r  rD  ro   r‹  s              r)   Útest_roots_genlaguerrerÃ  
  sQ  € ð<ð <ð <ð9ð 9ð 9ð-ð -ð -õ €CØ€Cˆˆˆd‰Œ�U�U˜4‘[”[ ' '¨$¡-¤-°µR´V¸QÑ?Ô?Ð?Ø€Cˆˆˆd‰Œ�U�U˜4‘[”[ ' '¨$¡-¤-°µR´V¸RÀeÐLÑLÔLÐLØ€Cˆˆˆd‰Œ�U�U˜4‘[”[ ' '¨$¡-¤-°µR´V¸SÀuÐMÑMÔMÐMà€Cˆˆˆc‰
Œ
�E�E˜#‘J”J  ¨¡¤¨bµ"´&¸!Ñ<Ô<Ð<Ø€Cˆˆˆc‰
Œ
�E�E˜#‘J”J  ¨¡¤¨bµ"´&¸"À5ÐIÑIÔIÐIØ€Cˆˆˆc‰
Œ
�E�E˜#‘J”J  ¨¡¤¨bµ"´&¸#ÀGÐLÑLÔLÐLà€Cˆˆˆa‰Œ�%�%˜‘(”(˜G˜G A™JœJ¨­B¬F°AÑ6Ô6Ð6Ø€Cˆˆˆa‰Œ�%�%˜‘(”(˜G˜G A™JœJ¨­B¬F°B¸UÐCÑCÔCÐCØ€Cˆˆˆa‰Œ�%�%˜‘(”(˜G˜G A™JœJ¨­B¬F°C¸hÐGÑGÔGÐGà€Cˆˆˆb‰	Œ	�5�5˜‘9”9˜g˜g b™kœk¨2­r¬v°qÑ9Ô9Ð9Ø€Cˆˆˆb‰	Œ	�5�5˜‘9”9˜g˜g b™kœk¨2­r¬v°rÀÐFÑFÔFÐFØ€Cˆˆˆb‰	Œ	�5�5˜‘9”9˜g˜g b™kœk¨2­r¬v°sÀÐGÑGÔGÐGà€Cˆˆˆb‰	Œ	�5�5˜‘9”9˜g˜g b™kœk¨2­r¬v°qÑ9Ô9Ð9Ø€Cˆˆˆb‰	Œ	�5�5˜‘9”9˜g˜g b™kœk¨2­r¬v°rÀÐFÑFÔFÐFØ€Cˆˆˆb‰	Œ	�5�5˜‘9”9˜g˜g b™kœk¨2­r¬v°sÀÈUÐSÑSÔSÐSåÔ  1 eÑ,Ô,�D€A€qÝÔ" 1 a¨Ñ.Ô.�G€A€qˆ!Ý�A�q˜% Ñ'Ô'Ð'Ý�A�q˜% Ñ'Ô'Ð'å”> ' '¨"¡+¤+¨rµ2´6Ñ:Ô:�L€CˆÝ�A�s Ð)Ñ)Ô)Ð)å•*�bÔ2°A°qÑ9Ô9Ð9Ý•*�bÔ2°C¸Ñ;Ô;Ð;Ý•*�bÔ2°A°tÑ<Ô<Ð<Ð<Ð<r5   c                  ó@   —  t          j        d¦  «        d¦  «         d S )NéA   rZ  )r\   r:   rQ   r5   r)   Útest_gh_6721rÆ  4  s    € à…B„Iˆb�M„M�#ÑÔÐÐÐr5   )r÷   rø   )1rn   r   rD  Únumpyr   r   r   Únumpy.testingr   r   r   r	   Úscipyr
   Úscipy.specialÚspecialr\   r   Úscipy.special._orthogonalÚ_orthogonalr   r   rS   rw   r‘   r¥   r·   rÈ   rß   rñ   r  rP  r[  rd  ru  ry  rŒ  r�  r–  rš  rŸ  r£  r¨  r­  r°  r´  r¹  rÃ  rÆ  rQ   r5   r)   ú<module>rÎ     sŠ  ðØ €€€Ø *Ð *Ð *Ð *Ð *Ð *à Ð Ð Ð Ø Ð Ð Ð Ð Ð Ð Ð ðAð Að Að Að Að Að Að Að Að Að Að Að Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø (Ð (Ð (Ð (Ð (Ð (Ð (Ð (Ð (ð9<ð 9<ð 9<ð 9<ð 9<ñ 9<ô 9<ð 9<ðx%(ð %(ð %(ð %(ð %(ñ %(ô %(ð %(ðP$1ð $1ð $1ð $1ð $1ñ $1ô $1ð $1ðN3ð 3ð 3ð 3ð 3ñ 3ô 3ð 3ð03ð 3ð 3ð 3ð 3ñ 3ô 3ð 3ð03ð 3ð 3ð 3ð 3ñ 3ô 3ð 3ð01ð 1ð 1ð 1ð 1ñ 1ô 1ð 1ð<2ð 2ð 2ð 2ð 2ñ 2ô 2ð 2ð<Mð Mð Mð Mð Mñ Mô Mð Mð (-ð.ð .ð .ð .ð.^:ð ^:ð ^:ð@5=ð 5=ð 5=ðn5ð 5ð 5ð8ð ð ð:9ð 9ð 9ð(><ð ><ð ><ð@4ð 4ð 4ð$ð ð ð4ð 4ð 4ð"4ð 4ð 4ð$4ð 4ð 4ð"7ð 7ð 7ð$7ð 7ð 7ð$6ð 6ð 6ð&9ð 9ð 9ð&6ð 6ð 6ð&'=ð '=ð '=ðTð ð ð ð r5   