§
    ¢éUg2{  ã                   óØ  — 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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)ÚarrayÚsqrt)Úassert_array_almost_equalÚassert_equalÚassert_almost_equalÚassert_allclose)Úraises)Ú	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          úb/var/www/surfInsights/venv3-11/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                   ó   — e Z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_gegenbauerK   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   N)rN   rO   rP   re   rQ   r5   r)   rS   rS   I   s(   € € € € € ðNð Nð Nð Nð N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   é   ri   )rD   r   i`ÿÿÿr   éx   r   )r   Úhermiter   r!   )r"   ÚH0ÚH1ÚH2ÚH3ÚH4ÚH5s          r)   Útest_hermitezTestHermite.test_hermiteb   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 )Nç      ð?r   r   r   r   r   r   ç       @ç      @r   )r   Úpoly1dr   r   Úhermitenormrk   r   r!   )r"   Úpsubrl   rm   rn   ro   rp   rq   Úhe0Úhe1Úhe2Úhe3Úhe4Úhe5s                 r)   Útest_hermitenormzTestHermite.test_hermitenormp   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   rr   r€   rQ   r5   r)   rg   rg   a   s2   € € € € € ð?ð ?ð ?ð1ð 1ð 1ð 1ð 1r5   rg   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   ri   )r   rw   r   Úsh_legendreÚlegendrer   r!   )r"   ry   Ú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   rw   r   Ú	sh_chebytr:   r   r!   )r"   ry   Ú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   ri   rW   )r   rw   r   Ú	sh_chebyurF   r   r!   )r"   ry   Ú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   rw   rY   r   Ú	sh_jacobiÚjacobir   r!   )r"   r¾   ry   Ú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   rw   Ú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   ru   Tç       Àr,   r   r   )r   r   Úgenlaguerrer   rw   )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>.f$  s#   € Ø�A‰v˜˜A ™F™
Ñ" QÑ&¨Ñ*Ð*r5   c                 ó2   •—  ‰| ¦  «         ‰| ¦  «        z  S ©NrQ   )rÕ   rî   Úweight_funcs    €€r)   ú<lambda>z#verify_gauss_quad.<locals>.<lambda>&  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>/  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>1  s   ø€ ˜!˜a™% A™¨¨Q©°1©Ñ4€ r5   rQ   r  s   ``r)   Úwfztest_roots_jacobi.<locals>.wf0  s   øø€ Ø4Ð4Ð4Ð4Ð4Ð4r5   ç      à¿ç      è¿ç      ð¿rt   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   ç        ç›+¡†›„=rv   g      @r   FTr,   rô   r   çffffff
@r   )
r  r\   r  Úroots_legendrer   Úroots_gegenbauerr
   rý   Úassert_raisesÚ
ValueError)r  r  r  ÚvgqÚxjÚwjÚxlÚwlÚxcÚwcrÕ   r  Úyr  ÚmÚmuIÚmuI_errs                    r)   Útest_roots_jacobirC  +  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 )Nrt   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   r  g      Ð?r1  rt   r   r   r!  r"  r#  r$  rU   r)  r   r%  r&  r   r(  r+  r*  r,  çš™™™™™É?r.  r0  r/  g(Í´#=r'  r   FTr2  r   rô   r3  r,   r   )r  r\   rG  r   r
   rý   r6  r7  )r  r  r  r8  rÕ   r  r?  r  r@  rA  rB  s              r)   Útest_roots_sh_jacobirN  ‹  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   r)  r"  r#  r!  FTr2  rô   éÈ   r   r3  )r\   Úroots_hermiteÚeval_hermiter   rk   rñ   r  r   Úinfr   r
   rý   rü   r6  r7  ©
ÚrootfÚevalfÚweightfrÕ   r  r?  r  r@  rA  rB  s
             r)   Útest_roots_hermiterX  Â  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ç      Ð¿r  r   r   r   ru   rt   )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è   r2  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   r\  rü   r   r^  )r  rõ   r  rÕ   r  ra  rc  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!  r"  é—   i,  i-  iô  iõ  iç  iè  iÐ  iˆ  )rè   r2  rQ   )rf  rc  s    @r)   Útest_roots_hermite_asyri  Þ  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   r)  r"  r#  r!  FTr2  rô   r   r3  )r\   Úroots_hermitenormÚeval_hermitenormr   rx   rñ   r  r   rS  r   r
   rý   r6  r7  rT  s
             r)   Útest_roots_hermitenormrm  û  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\   r5  ©r¼   r  r^   s     €r)   rò   z6test_roots_gegenbauer.<locals>.rootf.<locals>.<lambda>  s   ø€ �RÔ0°°A°rÑ:Ô:€ r5   rQ   ©r^   s   `r)   rU  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   rr  s   `r)   rV  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   rr  s   `r)   rW  z&test_roots_gegenbauer.<locals>.weightf  s   ø€ Ø2Ð2Ð2Ð2Ð2r5   r[  r  rt   r   r   r!  r"  r#  r$  çš™™™™™¹?r)  r   ró   é2   éª   g     Pe@gê-�™—A=éî   g     €@r.  r   r   FTr2  r,   rô   r3  r   r  )	r  r\   Úeval_chebytr5  r   r
   rý   r6  r7  ©rU  rV  rW  r8  rÕ   r  r?  r  r@  rA  rB  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  rt   r   r#  r!  r"  FTr2  r,   r   rô   r   r3  )r   r:   rñ   r  r\   Úroots_chebytr~  r   r
   rý   r6  r7  ©rW  rÕ   r  r?  r  r@  rA  rB  s           r)   Útest_roots_chebytr„  O  ó$  € ÝŒ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Š  a  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  rt   r   r#  FTr2  r,   r   rô   r   r3  )r   rF   rñ   r  r\   Úroots_chebyuÚeval_chebyur   r
   rý   r6  r7  rƒ  s           r)   Útest_roots_chebyurŽ  g  ó  € ÝŒ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å   ru   r   r#  r!  r"  FTr2  r   r   rô   r   r3  )r   r   rñ   r  r\   Úroots_chebycÚeval_chebycr   r
   rý   r6  r7  rƒ  s           r)   Útest_roots_chebycr“  x  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å   ru   r   r#  FTr2  r   r   rô   r   r3  )r   r-   rñ   r  r\   Úroots_chebysÚeval_chebysr   r
   rý   r6  r7  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   r1  rt   r   r#  r)  r"  FTr2  r   r   rô   r3  )r   r˜   rñ   r  r\   Úroots_sh_chebytÚeval_sh_chebytr   r
   rý   r6  r7  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ý   r6  r7  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  rt   r   r)  r"  r#  r!  FTr2  r,   r   rô   r   r3  )r   r†   rñ   r  r\   r4  Úeval_legendrer   r
   rý   r6  r7  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   r1  rt   r   r)  r"  r#  r!  FTr2  r   r   rô   r3  )r   r…   rñ   r  r\   Úroots_sh_legendreÚeval_sh_legendrer   r
   rý   r6  r7  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   r1  r   r)  r"  r#  r!  FTr2  r   rô   r3  )r   Úlaguerrerñ   r  r\   Úroots_laguerreÚeval_laguerrer   rS  r   r
   rý   r6  r7  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_genlaguerrerq  s     €r)   rò   z7test_roots_genlaguerre.<locals>.rootf.<locals>.<lambda>ú  s   ø€ �RÔ1°!°Q¸Ñ;Ô;€ r5   rQ   rr  s   `r)   rU  z%test_roots_genlaguerre.<locals>.rootfù  s   ø€ Ø;Ð;Ð;Ð;Ð;r5   c                 ó   ‡ — ˆ fd„S )Nc                 ó0   •— t          j        | ‰|¦  «        S rð   )r\   Úeval_genlaguerrerv  s     €r)   rò   z7test_roots_genlaguerre.<locals>.evalf.<locals>.<lambda>ü  s   ø€ �BÔ/°°1°aÑ8Ô8€ r5   rQ   rr  s   `r)   rV  z%test_roots_genlaguerre.<locals>.evalfû  s   ø€ Ø8Ð8Ð8Ð8Ð8r5   c                 ó   ‡ — ˆ fd„S )Nc                 ó:   •— | ‰z  t          j        |  ¦  «        z  S rð   )r   r_  ry  s    €r)   rò   z9test_roots_genlaguerre.<locals>.weightf.<locals>.<lambda>þ  s   ø€ ˜˜a™¥"¤&¨!¨¡*¤*Ñ,€ r5   rQ   rr  s   `r)   rW  z'test_roots_genlaguerre.<locals>.weightfý  s   ø€ Ø,Ð,Ð,Ð,Ð,r5   r  r1  r   r   r)  r"  r#  r!  rz  g›+¡†›„F=r   g‹N¼£îý<=ró   r{  r2  r'  )rõ   r  r   FTru   rô   r   r3  r   gš™™™™™ñ¿)
r  r   rS  r\   r±  r   r
   rý   r6  r7  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   rM  )r\   r:   rQ   r5   r)   Útest_gh_6721rº  "  s    € à…B„Iˆb�M„M�#ÑÔÐÐÐr5   )rè   ré   )1Únumpyr   r   r   Únumpy.testingr   r   r   r   Úpytestr	   r6  Úscipyr
   Úscipy.specialÚspecialr\   r   Úscipy.special._orthogonalÚ_orthogonalr   r   rS   rg   r‚   r–   r¨   r¹   rÐ   râ   r  rC  rN  rX  ri  rm  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Nð Nð Nð Nð Nñ Nô Nð Nð0$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   