§
    µ³Ùg³:  ã                   ó:  — d dl Zd dlmZmZmZmZ d dlZd dl mZm	Z	m
Z
mZmZmZmZmZmZ d dlmZmZmZmZ d dl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e¦  «        Z G d„ de¦  «        Z G d„ de¦  «        Z  G d„ de¦  «        Z! G d„ d¦  «        Z"ej#         $                    dddg¦  «        ej#         $                    deeeeg¦  «        d „ ¦   «         ¦   «         Z%dS )!é    N)Úassert_almost_equalÚassert_allcloseÚassert_array_almost_equalÚsuppress_warnings)	ÚsinÚcosÚsinhÚcoshÚexpÚinfÚnanÚr_Úpi)Úspherical_jnÚspherical_ynÚspherical_inÚspherical_kn)Úquadc                   ó>   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	S )
ÚTestSphericalJnc                 óØ   — t          j        g d¢¦  «        }t          t          d|¦  «        d|z  d|dz  z  z   t	          |¦  «        z  d|dz  z  t          |¦  «        z  z
  ¦  «         d S )N©ç¸…ëQ¸¾?ç®Gáz®ó?ç®Gáz®(@çÍÌÌÌÌÜ^@g     J“@é   éÿÿÿÿé   )ÚnpÚarrayr   r   r   r   ©ÚselfÚxs     ú_/granary/edev/quantum/lib/python3.11/site-packages/scipy/special/tests/test_spherical_bessel.pyÚtest_spherical_jn_exactz'TestSphericalJn.test_spherical_jn_exact   s|   € õ ŒHÐ8Ð8Ð8Ñ9Ô9ˆÝ� Q¨Ñ*Ô*Ø˜A™  ! Q¡$¡™­¨A©¬Ñ.°°1°a±4±½¸A¹¼±Ñ>ñ	@ô 	@ð 	@ð 	@ð 	@ó    c                 óÔ   — t          j        g d¢¦  «        }d}t          t          |dz
  |¦  «        t          |dz   |¦  «        z   d|z  dz   |z  t          ||¦  «        z  ¦  «         d S ©N©é   r   r   é   é   ùš™™™™™ñ?      ø?r+   r   ©r    r!   r   r   ©r#   Únr$   s      r%   Ú$test_spherical_jn_recurrence_complexz4TestSphericalJn.test_spherical_jn_recurrence_complex   óz   € åŒHÐ%Ð%Ð%Ñ&Ô&ˆØˆÝ� Q¨¡U¨AÑ.Ô.µ¸aÀ!¹eÀQÑ1GÔ1GÑGØ˜1™˜q™ !™¥L°°AÑ$6Ô$6Ñ6ñ	8ô 	8ð 	8ð 	8ð 	8r'   c                 óÔ   — t          j        g d¢¦  «        }d}t          t          |dz
  |¦  «        t          |dz   |¦  «        z   d|z  dz   |z  t          ||¦  «        z  ¦  «         d S ©Nr*   r   r+   r   r/   r0   s      r%   Ú!test_spherical_jn_recurrence_realz1TestSphericalJn.test_spherical_jn_recurrence_real   óz   € åŒHÐ%Ð%Ð%Ñ&Ô&ˆØˆÝ� Q¨¡U¨AÑ.Ô.µ¸aÀ!¹eÀAÑ1FÔ1FÑFØ˜1™˜q™ !™¥L°°AÑ$6Ô$6Ñ6ñ	8ô 	8ð 	8ð 	8ð 	8r'   c                 ó°   — d}t          j        t           t          g¦  «        }t          t	          ||¦  «        t          j        ddg¦  «        ¦  «         d S ©Né   r   )r    r!   r   r   r   r0   s      r%   Útest_spherical_jn_inf_realz*TestSphericalJn.test_spherical_jn_inf_real%   óJ   € àˆÝŒH•s�d�C�[Ñ!Ô!ˆÝ� Q¨Ñ*Ô*­B¬H°a¸°VÑ,<Ô,<Ñ=Ô=Ð=Ð=Ð=r'   c           
      ód  — d}t          j        t           dz   t          dz   t          dz  g¦  «        }t          ¦   «         5 }|                     t
          d¦  «         t          t          ||¦  «        t          j        ddt          dz  g¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ©Nr,   ù                ù      ð?      ð?z%invalid value encountered in multiplyr   )r    r!   r   r   ÚfilterÚRuntimeWarningr   r   ©r#   r1   r$   Úsups       r%   Útest_spherical_jn_inf_complexz-TestSphericalJn.test_spherical_jn_inf_complex+   óï   € àˆÝŒH•s�d˜R‘i¥ r¡­3°©:Ð6Ñ7Ô7ˆÝÑ Ô ð 	N CØ�JŠJ•~Ð'NÑOÔOÐOÝ�L¨¨AÑ.Ô.µ´¸!¸QÅÀTÁ
Ð9KÑ0LÔ0LÑMÔMÐMð	Nð 	Nð 	Nñ 	Nô 	Nð 	Nð 	Nð 	Nð 	Nð 	Nð 	Nð 	Nøøøð 	Nð 	Nð 	Nð 	Nð 	Nð 	Nó   ÁAB%Â%B)Â,B)c                 óB   — t          t          dd¦  «        d¦  «         d S )Nr   g%�•-ª@g·õ<«]�3¿©r   r   ©r#   s    r%   Útest_spherical_jn_large_arg_1z-TestSphericalJn.test_spherical_jn_large_arg_13   s%   € õ 	� Q¨Ñ1Ô1Ð3JÑKÔKÐKÐKÐKr'   c                 óB   — t          t          dd¦  «        d¦  «         d S )Nr   i'  g°µ|¸	 ?rI   rJ   s    r%   Útest_spherical_jn_large_arg_2z-TestSphericalJn.test_spherical_jn_large_arg_29   s%   € õ 	� Q¨Ñ.Ô.Ð0FÑGÔGÐGÐGÐGr'   c                 óš   — t          j        g d¢¦  «        }d}t          t          ||¦  «        t          j        g d¢¦  «        ¦  «         d S ©N©r   r+   r   é   é
   éd   r   )r+   r   r   r   r   r   r/   r0   s      r%   Útest_spherical_jn_at_zeroz)TestSphericalJn.test_spherical_jn_at_zero?   óP   € õ ŒHÐ*Ð*Ð*Ñ+Ô+ˆØˆÝ� Q¨Ñ*Ô*­B¬HÐ5GÐ5GÐ5GÑ,HÔ,HÑIÔIÐIÐIÐIr'   N)Ú__name__Ú
__module__Ú__qualname__r&   r2   r6   r;   rE   rK   rM   rT   © r'   r%   r   r      s�   € € € € € ð@ð @ð @ð8ð 8ð 8ð8ð 8ð 8ð>ð >ð >ðNð Nð NðLð Lð LðHð Hð HðJð Jð Jð Jð Jr'   r   c                   ó8   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	dS )	ÚTestSphericalYnc                 óØ   — t          j        g d¢¦  «        }t          t          d|¦  «        d|z  d|dz  z  z
  t	          |¦  «        z  d|dz  z  t          |¦  «        z  z
  ¦  «         d S )Nr   r   r+   r   )r    r!   r   r   r   r   r"   s     r%   Útest_spherical_yn_exactz'TestSphericalYn.test_spherical_yn_exactH   sw   € õ ŒHÐ8Ð8Ð8Ñ9Ô9ˆÝ� Q¨Ñ*Ô*Ø˜1™˜q  A¡™v™¥s¨1¡v¤vÑ-°°!°Q±$±µs¸1±v´v±Ñ=ñ	?ô 	?ð 	?ð 	?ð 	?r'   c                 óÔ   — t          j        g d¢¦  «        }d}t          t          |dz
  |¦  «        t          |dz   |¦  «        z   d|z  dz   |z  t          ||¦  «        z  ¦  «         d S r5   ©r    r!   r   r   r0   s      r%   Ú!test_spherical_yn_recurrence_realz1TestSphericalYn.test_spherical_yn_recurrence_realP   r7   r'   c                 óÔ   — t          j        g d¢¦  «        }d}t          t          |dz
  |¦  «        t          |dz   |¦  «        z   d|z  dz   |z  t          ||¦  «        z  ¦  «         d S r)   r_   r0   s      r%   Ú$test_spherical_yn_recurrence_complexz4TestSphericalYn.test_spherical_yn_recurrence_complexW   r3   r'   c                 ó°   — d}t          j        t           t          g¦  «        }t          t	          ||¦  «        t          j        ddg¦  «        ¦  «         d S r9   )r    r!   r   r   r   r0   s      r%   Útest_spherical_yn_inf_realz*TestSphericalYn.test_spherical_yn_inf_real^   r<   r'   c           
      ód  — d}t          j        t           dz   t          dz   t          dz  g¦  «        }t          ¦   «         5 }|                     t
          d¦  «         t          t          ||¦  «        t          j        ddt          dz  g¦  «        ¦  «         d d d ¦  «         d S # 1 swxY w Y   d S r>   )r    r!   r   r   rA   rB   r   r   rC   s       r%   Útest_spherical_yn_inf_complexz-TestSphericalYn.test_spherical_yn_inf_complexd   rF   rG   c                 ó®   — t          j        g d¢¦  «        }d}t          t          ||¦  «        t          j        |j        t           ¦  «        ¦  «         d S ©NrP   r   )r    r!   r   r   ÚfullÚshaper   r0   s      r%   Útest_spherical_yn_at_zeroz)TestSphericalYn.test_spherical_yn_at_zerol   sM   € åŒHÐ*Ð*Ð*Ñ+Ô+ˆØˆÝ� Q¨Ñ*Ô*­B¬G°A´G½c¸TÑ,BÔ,BÑCÔCÐCÐCÐCr'   c                 ó¬   — t          j        g d¢¦  «        }d}t          t          ||¦  «        t          j        |j        t          ¦  «        ¦  «         d S ©NrP   r?   )r    r!   r   r   ri   rj   r   r0   s      r%   Ú!test_spherical_yn_at_zero_complexz1TestSphericalYn.test_spherical_yn_at_zero_complexr   sM   € õ ŒHÐ*Ð*Ð*Ñ+Ô+ˆØˆÝ� Q¨Ñ*Ô*­B¬G°A´G½SÑ,AÔ,AÑBÔBÐBÐBÐBr'   N)
rV   rW   rX   r]   r`   rb   rd   rf   rk   rn   rY   r'   r%   r[   r[   G   sˆ   € € € € € ð?ð ?ð ?ð8ð 8ð 8ð8ð 8ð 8ð>ð >ð >ðNð Nð NðDð Dð DðCð Cð Cð Cð Cr'   r[   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestSphericalJnYnCrossProductc                 ó   — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          |dz   |¦  «        t          ||¦  «        z  t          ||¦  «        t          |dz   |¦  «        z  z
  }d|dz  z  }t	          ||¦  «         d S )N©r+   rQ   é   ©gš™™™™™¹?r+   rR   r+   r   ©r    r!   r   r   r   ©r#   r1   r$   ÚleftÚrights        r%   Ú$test_spherical_jn_yn_cross_product_1zBTestSphericalJnYnCrossProduct.test_spherical_jn_yn_cross_product_1~   s’   € åŒH�Y�Y�YÑÔˆÝŒH�\�\�\Ñ"Ô"ˆÝ˜Q ™U AÑ&Ô&­°a¸Ñ);Ô);Ñ;Ý˜Q Ñ"Ô"¥\°!°a±%¸Ñ%;Ô%;Ñ;ñ<ˆà�!�Q‘$‘ˆÝ˜˜eÑ$Ô$Ð$Ð$Ð$r'   c                 ó,  — t          j        g d¢¦  «        }t          j        g d¢¦  «        }t          |dz   |¦  «        t          ||¦  «        z  t          ||¦  «        t          |dz   |¦  «        z  z
  }d|z  dz   |dz  z  }t	          ||¦  «         d S )Nrr   rt   r   r   ru   rv   s        r%   Ú$test_spherical_jn_yn_cross_product_2zBTestSphericalJnYnCrossProduct.test_spherical_jn_yn_cross_product_2‡   sš   € åŒH�Y�Y�YÑÔˆÝŒH�\�\�\Ñ"Ô"ˆÝ˜Q ™U AÑ&Ô&­°a¸Ñ);Ô);Ñ;Ý˜Q Ñ"Ô"¥\°!°a±%¸Ñ%;Ô%;Ñ;ñ<ˆà�1‘�q‘˜!˜Q™$‘ˆÝ˜˜eÑ$Ô$Ð$Ð$Ð$r'   N)rV   rW   rX   ry   r{   rY   r'   r%   rp   rp   }   s2   € € € € € ð%ð %ð %ð%ð %ð %ð %ð %r'   rp   c                   ó2   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestSphericalInc                 óØ   — t          j        g d¢¦  «        }t          t          d|¦  «        d|z  d|dz  z  z   t	          |¦  «        z  d|dz  z  t          |¦  «        z  z
  ¦  «         d S ©N)r   r   r   r   r   r+   r   )r    r!   r   r   r	   r
   r"   s     r%   Útest_spherical_in_exactz'TestSphericalIn.test_spherical_in_exact’   sz   € åŒHÐ0Ð0Ð0Ñ1Ô1ˆÝ� Q¨Ñ*Ô*Ø˜1™˜q  A¡™v™¥t¨A¡w¤wÑ.°°1°a±4±½¸Q¹¼±Ñ?ñ	Aô 	Að 	Að 	Að 	Ar'   c                 óÔ   — t          j        g d¢¦  «        }d}t          t          |dz
  |¦  «        t          |dz   |¦  «        z
  d|z  dz   |z  t          ||¦  «        z  ¦  «         d S r5   ©r    r!   r   r   r0   s      r%   Ú!test_spherical_in_recurrence_realz1TestSphericalIn.test_spherical_in_recurrence_real˜   r7   r'   c                 óÔ   — t          j        g d¢¦  «        }d}t          t          |dz
  |¦  «        t          |dz   |¦  «        z
  d|z  dz   |z  t          ||¦  «        z  ¦  «         d S r)   r‚   r0   s      r%   Ú$test_spherical_in_recurrence_complexz4TestSphericalIn.test_spherical_in_recurrence_complexŸ   sz   € åŒHÐ%Ð%Ð%Ñ&Ô&ˆØˆÝ� Q¨¡U¨AÑ.Ô.µ¸aÀ!¹eÀAÑ1FÔ1FÑFØ˜1™˜q™ !™¥L°°AÑ$6Ô$6Ñ6ñ	8ô 	8ð 	8ð 	8ð 	8r'   c                 óÆ   — d}t          j        t           t          g¦  «        }t          t	          ||¦  «        t          j        t           t          g¦  «        ¦  «         d S )NrQ   )r    r!   r   r   r   r0   s      r%   Útest_spherical_in_inf_realz*TestSphericalIn.test_spherical_in_inf_real¦   sL   € àˆÝŒH•s�d�C�[Ñ!Ô!ˆÝ� Q¨Ñ*Ô*­B¬Hµs°d½C°[Ñ,AÔ,AÑBÔBÐBÐBÐBr'   c                 óð   — d}t          j        t           dz   t          dz   t          dz  g¦  «        }t          t	          ||¦  «        t          j        t           t          t
          g¦  «        ¦  «         d S )Nr,   r?   r@   )r    r!   r   r   r   r   r0   s      r%   Útest_spherical_in_inf_complexz-TestSphericalIn.test_spherical_in_inf_complex¬   s`   € ð ˆÝŒH•s�d˜R‘i¥ r¡­3°©:Ð6Ñ7Ô7ˆÝ� Q¨Ñ*Ô*­B¬Hµs°d½CÅÐ5EÑ,FÔ,FÑGÔGÐGÐGÐGr'   c                 óš   — t          j        g d¢¦  «        }d}t          t          ||¦  «        t          j        g d¢¦  «        ¦  «         d S rO   r‚   r0   s      r%   Útest_spherical_in_at_zeroz)TestSphericalIn.test_spherical_in_at_zero·   rU   r'   N)	rV   rW   rX   r€   rƒ   r…   r‡   r‰   r‹   rY   r'   r%   r}   r}   ‘   s|   € € € € € ðAð Að Að8ð 8ð 8ð8ð 8ð 8ðCð Cð Cð	Hð 	Hð 	HðJð Jð Jð Jð Jr'   r}   c                   ó8   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	dS )	ÚTestSphericalKnc                 óÐ   — t          j        g d¢¦  «        }t          t          d|¦  «        t          dz  t          | ¦  «        z  d|z  d|dz  z  z   d|dz  z  z   z  ¦  «         d S r   )r    r!   r   r   r   r   r"   s     r%   Útest_spherical_kn_exactz'TestSphericalKn.test_spherical_kn_exactÀ   su   € åŒHÐ0Ð0Ð0Ñ1Ô1ˆÝ� Q¨Ñ*Ô*Ý˜1™�S ! ™WœW™ a¨¡c¨A¨a°©d©F¡l°Q°q¸!±t±VÑ&;Ñ<ñ	>ô 	>ð 	>ð 	>ð 	>r'   c                 ó  — t          j        g d¢¦  «        }d}t          d|dz
  z  t          |dz
  |¦  «        z  d|dz   z  t          |dz   |¦  «        z  z
  d|z  d|z  dz   z  |z  t          ||¦  «        z  ¦  «         d S )Nr*   r   r   r+   r   ©r    r!   r   r   r0   s      r%   Ú!test_spherical_kn_recurrence_realz1TestSphericalKn.test_spherical_kn_recurrence_realÆ   s¡   € åŒHÐ%Ð%Ð%Ñ&Ô&ˆØˆÝØ�1�q‘5‰M�, q¨1¡u¨aÑ0Ô0Ñ0°B¸!¸a¹%±=ÅÈaÐRSÉeÐTUÑAVÔAVÑ3VÑVØ�!‰G�Q�q‘S˜1‘WÑ˜aÑ¥¨Q°Ñ 2Ô 2Ñ2ñ	
ô 	
ð 	
ð 	
ð 	
r'   c                 ó  — t          j        g d¢¦  «        }d}t          d|dz
  z  t          |dz
  |¦  «        z  d|dz   z  t          |dz   |¦  «        z  z
  d|z  d|z  dz   z  |z  t          ||¦  «        z  ¦  «         d S )Nr*   r.   r   r+   r   r‘   r0   s      r%   Ú$test_spherical_kn_recurrence_complexz4TestSphericalKn.test_spherical_kn_recurrence_complexÏ   s¡   € åŒHÐ%Ð%Ð%Ñ&Ô&ˆØˆÝØ�1�q‘5‰M�, q¨1¡u¨aÑ0Ô0Ñ0°B¸!¸a¹%±=ÅÈaÐRSÉeÐTUÑAVÔAVÑ3VÑVØ�!‰G�Q�q‘S˜1‘WÑ˜aÑ¥¨Q°Ñ 2Ô 2Ñ2ñ	
ô 	
ð 	
ð 	
ð 	
r'   c                 ó¼   — d}t          j        t           t          g¦  «        }t          t	          ||¦  «        t          j        t           dg¦  «        ¦  «         d S )NrQ   r   )r    r!   r   r   r   r0   s      r%   Útest_spherical_kn_inf_realz*TestSphericalKn.test_spherical_kn_inf_realØ   sL   € àˆÝŒH•s�d�C�[Ñ!Ô!ˆÝ� Q¨Ñ*Ô*­B¬Hµs°d¸A°YÑ,?Ô,?Ñ@Ô@Ð@Ð@Ð@r'   c                 óæ   — d}t          j        t           dz   t          dz   t          dz  g¦  «        }t          t	          ||¦  «        t          j        t           dt
          g¦  «        ¦  «         d S )Nr,   r?   r@   r   )r    r!   r   r   r   r   r0   s      r%   Útest_spherical_kn_inf_complexz-TestSphericalKn.test_spherical_kn_inf_complexÞ   s_   € ð
 ˆÝŒH•s�d˜R‘i¥ r¡­3°©:Ð6Ñ7Ô7ˆÝ� Q¨Ñ*Ô*­B¬Hµs°d¸A½s°^Ñ,DÔ,DÑEÔEÐEÐEÐEr'   c                 ó¬   — t          j        g d¢¦  «        }d}t          t          ||¦  «        t          j        |j        t          ¦  «        ¦  «         d S rh   )r    r!   r   r   ri   rj   r   r0   s      r%   Útest_spherical_kn_at_zeroz)TestSphericalKn.test_spherical_kn_at_zeroç   sK   € åŒHÐ*Ð*Ð*Ñ+Ô+ˆØˆÝ� Q¨Ñ*Ô*­B¬G°A´G½SÑ,AÔ,AÑBÔBÐBÐBÐBr'   c                 ó¬   — t          j        g d¢¦  «        }d}t          t          ||¦  «        t          j        |j        t          ¦  «        ¦  «         d S rm   )r    r!   r   r   ri   rj   r   r0   s      r%   Ú!test_spherical_kn_at_zero_complexz1TestSphericalKn.test_spherical_kn_at_zero_complexí   sK   € åŒHÐ*Ð*Ð*Ñ+Ô+ˆØˆÝ� Q¨Ñ*Ô*­B¬G°A´G½SÑ,AÔ,AÑBÔBÐBÐBÐBr'   N)
rV   rW   rX   r�   r’   r”   r–   r˜   rš   rœ   rY   r'   r%   r�   r�   ¿   s‹   € € € € € ð>ð >ð >ð
ð 
ð 
ð
ð 
ð 
ðAð Að AðFð Fð FðCð Cð CðCð Cð Cð Cð Cr'   r�   c                   óh   — e Zd Zd„ Zej        j        d„ ¦   «         Zej        j        d„ ¦   «         ZdS )ÚSphericalDerivativesTestCasec                 ó´   ‡ ‡— t          ˆˆ fd„||¦  «        \  }}t          |‰                      ‰|¦  «        ‰                      ‰|¦  «        z
  |¬¦  «         d S )Nc                 ó0   •— ‰                      ‰| ¦  «        S ©N)Údf)Úzr1   r#   s    €€r%   ú<lambda>zBSphericalDerivativesTestCase.fundamental_theorem.<locals>.<lambda>ö   s   ø€ ¨T¯WªW°Q¸©]¬]€ r'   )Úatol)r   r   Úf)r#   r1   ÚaÚbÚintegralÚ	tolerances   ``    r%   Úfundamental_theoremz0SphericalDerivativesTestCase.fundamental_theoremõ   sm   øø€ Ý"Ð#:Ð#:Ð#:Ð#:Ð#:¸A¸qÑAÔAÑˆ�)Ý˜ØŸš˜q !™œ t§v¢v¨a°¡|¤|Ñ3Ø&ð	(ñ 	(ô 	(ð 	(ð 	(ð 	(r'   c                 ó4   — |                       ddd¦  «         d S )Nr   g      @ç      .@©r«   rJ   s    r%   Útest_fundamental_theorem_0z7SphericalDerivativesTestCase.test_fundamental_theorem_0û   s    € à× Ò   C¨Ñ.Ô.Ð.Ð.Ð.r'   c                 ó4   — |                       ddd¦  «         d S )Nr,   ç      à?g333333ó?r®   rJ   s    r%   Útest_fundamental_theorem_7z7SphericalDerivativesTestCase.test_fundamental_theorem_7ÿ   s    € à× Ò   C¨Ñ-Ô-Ð-Ð-Ð-r'   N)	rV   rW   rX   r«   ÚpytestÚmarkÚslowr¯   r²   rY   r'   r%   rž   rž   ô   se   € € € € € ð(ð (ð (ð „[Ôð/ð /ñ Ôð/ð „[Ôð.ð .ñ Ôð.ð .ð .r'   rž   c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTestSphericalJnDerivativesc                 ó"   — t          ||¦  «        S r¡   ©r   ©r#   r1   r£   s      r%   r¦   zTestSphericalJnDerivatives.f  ó   € Ý˜A˜qÑ!Ô!Ð!r'   c                 ó&   — t          ||d¬¦  «        S ©NT©Ú
derivativer¹   rº   s      r%   r¢   zTestSphericalJnDerivatives.df  ó   € Ý˜A˜q¨TÐ2Ñ2Ô2Ð2r'   c                 óš   — t          j        g d¢¦  «        }t          t          |dd¬¦  «        t          j        g d¢¦  «        ¦  «         d S )N©r   r+   r   r   r,   é   r   Tr¾   ©r   gUUUUUUÕ?r   r   r   r   r/   ©r#   r1   s     r%   Útest_spherical_jn_d_zeroz3TestSphericalJnDerivatives.test_spherical_jn_d_zero  sY   € ÝŒHÐ(Ð(Ð(Ñ)Ô)ˆÝ� Q¨°dÐ;Ñ;Ô;ÝœÐ!5Ð!5Ð!5Ñ6Ô6ñ	8ô 	8ð 	8ð 	8ð 	8r'   N)rV   rW   rX   r¦   r¢   rÆ   rY   r'   r%   r·   r·     sA   € € € € € ð"ð "ð "ð3ð 3ð 3ð8ð 8ð 8ð 8ð 8r'   r·   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestSphericalYnDerivativesc                 ó"   — t          ||¦  «        S r¡   ©r   rº   s      r%   r¦   zTestSphericalYnDerivatives.f  r»   r'   c                 ó&   — t          ||d¬¦  «        S r½   rÊ   rº   s      r%   r¢   zTestSphericalYnDerivatives.df  rÀ   r'   N©rV   rW   rX   r¦   r¢   rY   r'   r%   rÈ   rÈ     ó2   € € € € € ð"ð "ð "ð3ð 3ð 3ð 3ð 3r'   rÈ   c                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTestSphericalInDerivativesc                 ó"   — t          ||¦  «        S r¡   ©r   rº   s      r%   r¦   zTestSphericalInDerivatives.f  r»   r'   c                 ó&   — t          ||d¬¦  «        S r½   rÑ   rº   s      r%   r¢   zTestSphericalInDerivatives.df  rÀ   r'   c                 ó¾   — t          j        g d¢¦  «        }t          |dd¬¦  «         t          t          |dd¬¦  «        t          j        g d¢¦  «        ¦  «         d S )NrÂ   r   Fr¾   TrÄ   )r    r!   r   r   rÅ   s     r%   Útest_spherical_in_d_zeroz3TestSphericalInDerivatives.test_spherical_in_d_zero   sn   € ÝŒHÐ(Ð(Ð(Ñ)Ô)ˆÝ�Q˜ eÐ,Ñ,Ô,Ð,Ý� Q¨°dÐ;Ñ;Ô;ÝœÐ!5Ð!5Ð!5Ñ6Ô6ñ	8ô 	8ð 	8ð 	8ð 	8r'   N)rV   rW   rX   r¦   r¢   rÔ   rY   r'   r%   rÏ   rÏ     sA   € € € € € ð"ð "ð "ð3ð 3ð 3ð8ð 8ð 8ð 8ð 8r'   rÏ   c                   ó   — e Zd Zd„ Zd„ ZdS )ÚTestSphericalKnDerivativesc                 ó"   — t          ||¦  «        S r¡   ©r   rº   s      r%   r¦   zTestSphericalKnDerivatives.f(  r»   r'   c                 ó&   — t          ||d¬¦  «        S r½   rØ   rº   s      r%   r¢   zTestSphericalKnDerivatives.df+  rÀ   r'   NrÌ   rY   r'   r%   rÖ   rÖ   '  rÍ   r'   rÖ   c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚTestSphericalOldc                 óæ  — t          j        d¦  «        }d}t          d|¦  «        |d         d<   t          d|¦  «        |d         d<   t          d|d¬¦  «        |d         d<   t          d|d¬¦  «        |d         d<   |d         d         }|d         d         d|d         d         z  z
  }t          |d         t          j        dd	g¦  «        d
¦  «         t          |d         ||gd
¦  «         d S )N)r   r   çš™™™™™É?r   r+   Tr¾   ç      $@g±µA€\ð?gÐÉc‘"±?r-   )r    Úemptyr   r   r!   )r#   Úi1nr$   Úinp0Úinp1s        r%   Útest_sph_inzTestSphericalOld.test_sph_in3  s   € åŒh�u‰oŒoˆØˆå   AÑ&Ô&ˆˆAŒˆq‰	Ý   AÑ&Ô&ˆˆAŒˆq‰	Ý   A°$Ð7Ñ7Ô7ˆˆAŒˆq‰	Ý   A°$Ð7Ñ7Ô7ˆˆAŒˆq‰	à�A”�q”	ˆØ�A”�q”	˜G c¨!¤f¨Q¤iÑ/Ñ/ˆÝ! # a¤&­¬Ð3HØ0Gð3Iñ *Jô *JØJLñ	Nô 	Nð 	Nå! # a¤&¨$¨t¨°RÑ8Ô8Ð8Ð8Ð8r'   c                 óÐ  — d}t          j        d¦  «        }t          d|¦  «        |d<   t          d|d¬¦  «        |d<   t          j        t          j        |¦  «        |z  t          j        |¦  «        |z  t          j        |¦  «        |dz  z  z
  g¦  «        }t          t          |         |¦  «         t          j        d¦  «        }t          d|¦  «        |d<   t          d|d¬¦  «        |d<   t          j        dt          z  t          | ¦  «        z  |z  d	t          z  t          | ¦  «        z  d|z  d|dz  z  z   z  g¦  «        }t          t          |         |¦  «         d S )
Ng      ð?)r   r   Tr¾   r+   r   r±   g      à¿)r    rß   r   r!   r	   r
   r   r   r   r   r   )r#   r$   Úsph_i0Úsph_i0_expectedÚsph_k0Úsph_k0_expecteds         r%   Útest_sph_in_kn_order0z&TestSphericalOld.test_sph_in_kn_order0C  sH  € ØˆÝ”˜$‘”ˆÝ   AÑ&Ô&ˆˆq‰	Ý   A°$Ð7Ñ7Ô7ˆˆq‰	Ýœ(¥B¤G¨A¡J¤J¨q¡LÝ$&¤G¨A¡J¤J¨q¡Lµ´¸±´¸A¸q¹D±Ñ$@ð$Bñ Cô Cˆå!¥" V¤*¨oÑ>Ô>Ð>å”˜$‘”ˆÝ   AÑ&Ô&ˆˆq‰	Ý   A°$Ð7Ñ7Ô7ˆˆq‰	Ýœ( C­¡F­3°¨r©7¬7¡N°1Ñ$4Ø$(­¡G­C°°©G¬G¡O°Q°q±S¸¸1¸a¹4¹±ZÑ$@ð$Bñ Cô Cˆå!¥" V¤*¨oÑ>Ô>Ð>Ð>Ð>r'   c                 ón  — t          j        d¦  «        }d}t          d|¦  «        |d         d<   t          d|¦  «        |d         d<   t          d|¦  «        |d         d<   t          d|d¬¦  «        |d         d<   t          d|d¬¦  «        |d         d<   t          d|d¬¦  «        |d         d<   |d         d          }|d         d         d|d         d         z  z
  }|d         d         d	|d         d         z  z
  }t          |d         g d
¢d¦  «         t          |d         |||gd¦  «         d S )N©r   r   rÝ   r   r+   r   Tr¾   rÞ   r­   )gkGì~Éï?g¥Åk‡�ÿ°?g’)ËÜqÈe?r-   )r    rß   r   r   )r#   Ús1r$   Ús10Ús11Ús12s         r%   Útest_sph_jnzTestSphericalOld.test_sph_jnS  sN  € ÝŒX�e‰_Œ_ˆØˆå  1Ñ%Ô%ˆˆ1Œˆa‰Ý  1Ñ%Ô%ˆˆ1Œˆa‰Ý  1Ñ%Ô%ˆˆ1Œˆa‰Ý  1°Ð6Ñ6Ô6ˆˆ1Œˆa‰Ý  1°Ð6Ñ6Ô6ˆˆ1Œˆa‰Ý  1°Ð6Ñ6Ô6ˆˆ1Œˆa‰à�!Œu�QŒxˆiˆØ�Œe�AŒh�w˜r !œu QœxÑ'Ñ'ˆØ�Œe�AŒh�w˜r !œu QœxÑ'Ñ'ˆÝ! " Q¤%ð )@ð )@ð )@à@Bñ	Dô 	Dð 	Dõ 	" " Q¤%¨¨S°¨°bÑ9Ô9Ð9Ð9Ð9r'   c                 ór  — t          j        d¦  «        }d}t          d|¦  «        |d         d<   t          d|¦  «        |d         d<   t          d|¦  «        |d         d<   t          d|d¬¦  «        |d         d<   t          d|d¬¦  «        |d         d<   t          d|d¬¦  «        |d         d<   |d         d          }|d         d          d|d         d         z  z
  }|d         d          d	|d         d         z  z
  }t          |d         g d
¢d¦  «         t          |d         |||gd¦  «         d S )Nrë   rÝ   r   r+   r   Tr¾   rÞ   r­   )gDT»—Ÿ¸@g3Ì±wJC@gè-ßuAI‚@r-   é	   )r    rß   r   r   )r#   Úknr$   Úkn0Úkn1Úkn2s         r%   Útest_sph_knzTestSphericalOld.test_sph_knf  sR  € ÝŒX�e‰_Œ_ˆØˆå  1Ñ%Ô%ˆˆ1Œˆa‰Ý  1Ñ%Ô%ˆˆ1Œˆa‰Ý  1Ñ%Ô%ˆˆ1Œˆa‰Ý  1°Ð6Ñ6Ô6ˆˆ1Œˆa‰Ý  1°Ð6Ñ6Ô6ˆˆ1Œˆa‰Ý  1°Ð6Ñ6Ô6ˆˆ1Œˆa‰à�!Œu�QŒxˆiˆØ�!Œu�QŒxˆi˜  1¤ a¤Ñ(Ñ(ˆØ�!Œu�QŒxˆi˜  1¤ a¤Ñ(Ñ(ˆÝ! " Q¤%ð )@ð )@ð )@à@Bñ	Dô 	Dð 	Dõ 	" " Q¤%¨¨S°¨°aÑ8Ô8Ð8Ð8Ð8r'   c                 ó  — t          dd¦  «        }t          dd¦  «        }t          |dd¦  «         t          |dd¦  «         t          dd¦  «        dt          dd¦  «        z  z
  dz  }t          ddd	¬
¦  «        }t          ||d¦  «         d S )Nr   rÝ   r   g[_$´e˜wÀrQ   g&$Þð™Àr   r+   Tr¾   é   )r   r   )r#   Úsy1Úsy2ÚsphpyÚsy3s        r%   Útest_sph_ynzTestSphericalOld.test_sph_yny  s˜   € Ý˜1˜cÑ"Ô"ˆÝ˜1˜cÑ"Ô"ˆÝ˜C 
¨1Ñ-Ô-Ð-Ý˜C 
¨1Ñ-Ô-Ð-Ý˜a Ñ%Ô%¨­,°q¸#Ñ*>Ô*>Ñ(>Ñ>ÀÑAˆÝ˜1˜c¨dÐ3Ñ3Ô3ˆå˜C  aÑ(Ô(Ð(Ð(Ð(r'   N)rV   rW   rX   rã   ré   rð   r÷   rþ   rY   r'   r%   rÛ   rÛ   /  s_   € € € € € ð9ð 9ð 9ð ?ð ?ð ?ð :ð :ð :ð&9ð 9ð 9ð&)ð )ð )ð )ð )r'   rÛ   r¿   FTÚfunc                 ó,  — t           j                             d¦  «        }d}|                     dd|¬¦  «        }|                     |¬¦  «        } |||| ¬¦  «        } |||dz   | ¬¦  «        }t           j                             ||j        ¦  «         d S )Nl   ¢dnU×Y� é   r   rR   )Úsizer¾   r?   )r    ÚrandomÚdefault_rngÚintegersÚstandard_normalÚtestingr   Úreal)r¿   rÿ   Úrngr  r1   r£   ÚresÚrefs           r%   Útest_negative_real_gh14582r  „  sœ   € õ Œ)×
Ò
Ð 3Ñ
4Ô
4€CØ€DØ�Š�Q˜ ˆÑ&Ô&€AØ×Ò ÐÑ&Ô&€AØ
ˆ#ˆa�˜zÐ
*Ñ
*Ô
*€CØ
ˆ#ˆa��2‘ *Ð
-Ñ
-Ô
-€CÝ„J×Ò˜s C¤HÑ-Ô-Ð-Ð-Ð-r'   )&Únumpyr    Únumpy.testingr   r   r   r   r³   r   r   r	   r
   r   r   r   r   r   Úscipy.specialr   r   r   r   Úscipy.integrater   r   r[   rp   r}   r�   rž   r·   rÈ   rÏ   rÖ   rÛ   r´   Úparametrizer  rY   r'   r%   ú<module>r     s8  ðð Ð Ð Ð ðIð Ið Ið Ið Ið Ið Ið Ið Ið Ið Ið Ià €€€Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =Ð =à PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PÐ PØ  Ð  Ð  Ð  Ð  Ð  ð6Jð 6Jð 6Jð 6Jð 6Jñ 6Jô 6Jð 6Jðr3Cð 3Cð 3Cð 3Cð 3Cñ 3Cô 3Cð 3Cðl%ð %ð %ð %ð %ñ %ô %ð %ð(+Jð +Jð +Jð +Jð +Jñ +Jô +Jð +Jð\2Cð 2Cð 2Cð 2Cð 2Cñ 2Cô 2Cð 2Cðj.ð .ð .ð .ð .ñ .ô .ð .ð 
8ð 
8ð 
8ð 
8ð 
8Ð!=ñ 
8ô 
8ð 
8ð3ð 3ð 3ð 3ð 3Ð!=ñ 3ô 3ð 3ð8ð 8ð 8ð 8ð 8Ð!=ñ 8ô 8ð 8ð3ð 3ð 3ð 3ð 3Ð!=ñ 3ô 3ð 3ðR)ð R)ð R)ð R)ð R)ñ R)ô R)ð R)ðj „×Ò˜¨¨t }Ñ5Ô5Ø„×Ò˜ ¨|Ø!-¨|ð!=ñ >ô >ð	.ð 	.ñ>ô >ñ 6Ô5ð	.ð 	.ð 	.r'   