§
    µ³Ùg£%  ã                   ó„   — d dl Zd dlmZmZmZmZmZ d dlm	Z	 d dl
mZmZmZ d dlmZ d dl mZmZ d„ Zd„ Zd	„ Zd
„ Zd„ ZdS )é    N)Úassert_equalÚassert_almost_equalÚassert_allcloseÚassert_Úsuppress_warnings)Úassert_func_equal)Ú
ellip_harmÚellip_harm_2Úellip_normal)ÚIntegrationWarning©ÚsqrtÚpic            	      óR  ‡	‡
‡— d„ Š	d„ Š
d„ Šˆ
ˆfd„} ˆ	fd„}dt          d¦  «        dd	t          d
¦  «        dddfdt          d¦  «        ddt          d¦  «        dddfg}t          ¦   «         5 }|                     t          d¦  «         |                     t          d¦  «         |D ]f}t	          |¦  «        } ||Ž } | |Ž \  }}t          ||dd|¬¦  «         t          t          ||z
  ¦  «        dt          |¦  «        z  k     |¦  «         Œg	 d d d ¦  «         d S # 1 swxY w Y   d S )Nc                 ó  — t          | dz  |dz  z  |dz  z  ||z  z  ¦  «        }t          | dz  |z
  |dz  |z
  z  ||dz  z
  z  |||z
  z  z  ¦  «        }t          | dz  |z
  ||dz  z
  z  ||dz  z
  z  |||z
  z  z  ¦  «        }|||fS )Né   ©r   )Úlambda1ÚmuÚnuÚh2Úk2ÚxÚyÚzs           úY/granary/edev/quantum/lib/python3.11/site-packages/scipy/special/tests/test_ellip_harm.pyÚchange_coefficientz0test_ellip_potential.<locals>.change_coefficient   s±   € Ý�˜!‘˜B ™EÑ! " a¡%Ñ'¨¨B©Ñ/Ñ0Ô0ˆÝ�'˜1‘*˜r‘/ B¨¡E¨B¡JÑ/°°b¸!±e±Ñ<¸bÀ"ÀrÁ'¹lÑKÑLÔLˆÝ�'˜1‘*˜r‘/ B¨¨Q©¡JÑ/°°b¸!±e±Ñ<¸bÀ"ÀrÁ'¹lÑKÑLÔLˆØ�!�Qˆwˆó    c                 óx   — t          ||||| ¦  «        t          |||||¦  «        z  t          |||||¦  «        z  S ©N)r	   ©r   r   r   ÚnÚpr   r   s          r   Úsolid_int_ellipz-test_ellip_potential.<locals>.solid_int_ellip   sG   € Ý˜2˜r 1 a¨Ñ1Ô1µ*¸RÀÀQÈÈ2Ñ2NÔ2NÑNÝ˜B  A q¨"Ñ-Ô-ñ.ð 	/r   c                 óx   — t          ||||| ¦  «        t          |||||¦  «        z  t          |||||¦  «        z  S r    ©r
   r	   r!   s          r   Úsolid_int_ellip2z.test_ellip_potential.<locals>.solid_int_ellip2   sL   € Ý˜R  Q¨¨7Ñ3Ô3Ý˜R  Q¨¨2Ñ.Ô.ñ/Ý/9¸"¸bÀ!ÀQÈÑ/KÔ/KñLð 	Mr   c                 ób  •— d}d}	t          d¦  «        D ]—}
d}t          dd|
z  dz   ¦  «        D ]O}|dt          z   ‰||||
|||¦  «         ‰| |||
|||¦  «        z  z  t          |||
|¦  «        d|
z  dz   z  z  z  }ŒPt          |¦  «        d|z  t          |	¦  «        z  k     r n|	|z  }	Œ˜|	|fS )Nç:Œ0âŽyE>r   é   é   r   é   gš™™™™™¹?)Úranger   r   Úabs)r   Úmu1Únu1Úlambda2Úmu2Únu2r   r   ÚtolÚsum1r"   Úxsumr#   r$   r'   s                €€r   Ú	summationz'test_ellip_potential.<locals>.summation   sõ   ø€ ØˆØˆÝ�r‘”ð 	ð 	ˆAØˆDÝ˜1˜a ™c !™e‘_”_ð <ð <�Ø˜�2™˜˜¨w¸¸SÀ!ÀQÈÈBÑOÔOØ&Ð& w°°S¸!¸QÀÀBÑGÔGñ Hñ Iå! " b¨!¨QÑ/Ô/°°1±°q±Ñ9ñ;ñ <��õ �4‰yŒy˜3˜s™7¥3 t¡9¤9Ñ,Ò,Ð,Ø�Ø�D‰LˆDˆDØ�TˆzÐr   c                 ó¨   •—  ‰| ||||¦  «        \  }}	}
 ‰|||||¦  «        \  }}}t          ||z
  dz  ||	z
  dz  z   ||
z
  dz  z   ¦  «        }d|z  S )Nr   r+   r   )r   r/   r0   r1   r2   r3   r   r   Úx1Úy1Úz1Úx2Úy2Úz2Úresr   s                  €r   Ú	potentialz'test_ellip_potential.<locals>.potential,   sw   ø€ Ø'Ð'¨°°c¸2¸rÑBÔB‰
ˆˆB�Ø'Ð'¨°°c¸2¸rÑBÔB‰
ˆˆB�Ý�B˜‘G˜a‘< 2¨¡7¨Q¡,Ñ.°"°r±'¸A±Ñ=Ñ>Ô>ˆØ�‰uˆr   éx   é   r   é)   é   é   é   é   gš™™™™™	@é   é   g333333@r*   ú The occurrence of roundoff errorz"The maximum number of subdivisionsr   r)   )ÚatolÚrtolÚerr_msgé
   )r   r   Úfilterr   Úreprr   r   r.   )r7   r@   ÚptsÚsupr#   rM   ÚexactÚresultÚ	last_termr   r$   r'   s            @@@r   Útest_ellip_potentialrV      sè  øøø€ ðð ð ð/ð /ð /ðMð Mð Mðð ð ð ð ð ðð ð ð ð ð 
�d�2‰hŒh˜˜2�t B™xœx¨¨B°Ð3Ø	�d�2‰hŒh˜˜R¥ b¡¤¨3°°BÐ7ð	€Cõ
 
Ñ	Ô	ð 	F Ø�
Š
Õ%Ð'IÑJÔJÐJØ�
Š
Õ%Ð'KÑLÔLÐLàð 	Fð 	FˆAÝ˜1‘g”gˆGØ�I˜q�MˆEØ ) 	¨1 ÑˆF�IÝ˜E 6°¸ÀgÐNÑNÔNÐNÝ•C˜ ™Ñ'Ô'¨"­S°©^¬^Ñ*;Ò;¸WÑEÔEÐEÐEð	Fð		Fð 	Fð 	Fñ 	Fô 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Fð 	Føøøð 	Fð 	Fð 	Fð 	Fð 	Fð 	Fs   Á.B DÄD Ä#D c                  óª  ‡‡— d„ } d„ }d„ }d„ }d„ }d„ }d„ }d„ }d	„ }d
„ }	d„ }
d„ }d„ }d„ }d„ }d„ }i d| “d|“d|“d|“d|“d|“d|“d|“d|“d|
“d|	“d|“d|“d|“d|“d |“Šˆfd!„Št          j        ‰¦  «        Šˆfd"„}t           j                             d#¦  «         t           j                             d$d%¬&¦  «        }|d%t           j                             d$|j        ¬&¦  «        z   z  }g }t          d'¦  «        D ]d}t          d%d(|z  d(z   ¦  «        D ]K}|                     ||t          j        |j        |¦  «        t          j        |j        |¦  «        f¦  «         ŒLŒet          j	        |¦  «        }t          ¦   «         5 }|                     t          d)¦  «         t          t          ||d*¬+¦  «         d d d ¦  «         d S # 1 swxY w Y   d S ),Nc                 ó   — dt           z  S )Nr,   ©r   ©r   r   s     r   ÚG01ztest_ellip_norm.<locals>.G01E   s   € Ø•‰tˆr   c                 ó(   — dt           z  | z  |z  dz  S ©Nr,   é   rY   rZ   s     r   ÚG11ztest_ellip_norm.<locals>.G11H   s   € Ø•‰t�B‰w�r‰z˜!‰|Ðr   c                 ó.   — dt           z  | z  || z
  z  dz  S r]   rY   rZ   s     r   ÚG12ztest_ellip_norm.<locals>.G12K   ó   € Ø•‰t�B‰w˜˜R™Ñ  Ñ"Ð"r   c                 ó.   — dt           z  |z  || z
  z  dz  S r]   rY   rZ   s     r   ÚG13ztest_ellip_norm.<locals>.G13N   rb   r   c                 ó   — d| dz  |dz  z   z  d| z  |z  | dz  |dz  z   z  z
  d| dz  z  |dz  z  z   t          | dz  |dz  z   | |z  z
  ¦  «        d| dz  |dz  z   z  d| z  |z  | |z   z  z   z  z   }dt          z  dz  |z  S )Nr   r,   é   éþÿÿÿr^   rG   é•  r   ©r   r   r?   s      r   ÚG22ztest_ellip_norm.<locals>.G22Q   s¯   € Ø�"�a‘%˜"˜a™%‘-Ñ  1 R¡4¨¡7¨B°©E°B¸±E©MÑ#:Ñ:¸Q¸rÀ1¹u¹WÀRÈÁU¹]ÑJÝˆR�‰U�R˜‘U‰]˜R ™UÑ"Ñ#Ô# R¨¨Q©°°Q±©Ñ%7¸!¸B¹$¸r¹'À2ÈÁ7Ñ:KÑ%KÑLñMˆà•"‰u�S‰y˜‰}Ðr   c                 ó   — d| dz  |dz  z   z  d| z  |z  | dz  |dz  z   z  z
  d| dz  z  |dz  z  z   t          | dz  |dz  z   | |z  z
  ¦  «        d| dz  |dz  z   z  d| z  |z  | |z   z  z
  z  z   }dt          z  dz  |z  S )Nr   r,   rf   r^   rG   rh   r   ri   s      r   ÚG21ztest_ellip_norm.<locals>.G21V   s¯   € Ø�"�a‘%˜"˜a™%‘-Ñ  1 R¡4¨¡7¨B°©E°B¸±E©MÑ#:Ñ:¸Q¸rÀ1¹u¹WÀRÈÁU¹]ÑJÝ
ˆr�1‰u�r˜1‘u‰}˜r "™uÑ$Ñ
%Ô
% q¨"¨a©%°"°a±%©-Ñ'8¸1¸R¹4À¹7ÀBÈÁGÑ;LÑ'LÑ
MñNˆà•"‰u�S‰y˜‰}Ðr   c                 ó:   — dt           z  | dz  z  |z  || z
  z  dz  S ©Nr,   r   rE   rY   rZ   s     r   ÚG23ztest_ellip_norm.<locals>.G23[   s&   € Ø•‰t�B˜‘E‰z˜"‰}˜b 2™gÑ& rÑ)Ð)r   c                 ó:   — dt           z  | z  |dz  z  || z
  z  dz  S rn   rY   rZ   s     r   ÚG24ztest_ellip_norm.<locals>.G24^   s&   € Ø•‰t�B‰w�r˜1‘u‰}˜b 2™gÑ& rÑ)Ð)r   c                 ó:   — dt           z  | z  |z  || z
  dz  z  dz  S rn   rY   rZ   s     r   ÚG25ztest_ellip_norm.<locals>.G25a   s&   € Ø•‰t�B‰w�r‰z˜2 ™7 Q™,Ñ& rÑ)Ð)r   c                 ó  — d| dz  |dz  z   z  d| z  |z  | dz  |dz  z   z  z
  d| dz  z  |dz  z  z   t          d| dz  |dz  z   z  d| z  |z  z
  ¦  «        d| dz  |dz  z   z  d	| z  |z  | |z   z  z   z  z   }dt          z  d
z  |z  | z  |z  S )NrG   r,   é$   r   é.   é   éøÿÿÿr^   rI   éE3  r   ri   s      r   ÚG32ztest_ellip_norm.<locals>.G32d   sÈ   € Ø�2�q‘5˜2˜q™5‘=Ñ! B r¡E¨"¡H¨b°!©e°b¸!±e©mÑ$<Ñ<¸rÀ"ÀaÁ%¹xÈÈAÉ¹~ÑMÝ
ˆq�"�a‘%˜"˜a™%‘-Ñ  1 R¡4¨¡7Ñ*Ñ
+Ô
+¨R°°Q±¸¸Q¹±Ñ-?Ø
ˆ2‰ˆb‰�"�r‘'Ññ.ñ ñˆð •"‰u�U‰{˜2‰~˜bÑ  Ñ$Ð$r   c                 ó  — d| dz  |dz  z   z  d| z  |z  | dz  |dz  z   z  z
  d| dz  z  |dz  z  z   t          d| dz  |dz  z   z  d| z  |z  z
  ¦  «        d| dz  |dz  z   z  d	| z  |z  | |z   z  z
  z  z   }dt          z  d
z  | z  |z  |z  S )NrG   r,   ru   r   rv   rw   é   r^   rI   ry   r   ri   s      r   ÚG31ztest_ellip_norm.<locals>.G31j   sÈ   € Ø�2�q‘5˜2˜q™5‘=Ñ! B r¡E¨"¡H¨b°!©e°b¸!±e©mÑ$<Ñ<¸rÀ"ÀaÁ%¹xÈÈAÉ¹~ÑMÝ
ˆq�"�a‘%˜"˜a™%‘-Ñ  1 R¡4¨¡7Ñ*Ñ
+Ô
+¨Q°°A±¸¸A¹±Ñ->Ø
ˆ2‰ˆb‰�"�r‘'Ññ.ñ ñˆð •"‰u�U‰{˜2‰~˜bÑ  Ñ$Ð$r   c                 ó<  — d| dz  z  d|dz  z  z   d| dz  z  |z  z
  d| z  |dz  z  z
  d| dz  z  |dz  z  z   t          | dz  d|dz  z  z   | |z  z
  ¦  «        d	| dz  z  d
|dz  z  z
  d| dz  z  |z  z   d| z  |dz  z  z   z  z   }dt          z  dz  | z  || z
  z  |z  S )Nrf   r,   rG   é   r^   é   é"   r   iúÿÿÿr|   é	   é   ry   r   ri   s      r   ÚG34ztest_ellip_norm.<locals>.G34p   sß   € Ø��Q‘‰w˜˜B ™E™Ñ! B r¨1¡u¡H¨R¡KÑ/°"°R±%¸¸A¹±+Ñ=ÀÀ2ÀqÁ5ÁÈÈQÉÁÑNÝ
ˆr�1‰u�q˜˜Q™‘w‰  B¡Ñ&Ñ
'Ô
'¨¨B°©E©°A°b¸!±e±GÑ);¸aÀÀAÁ¹gÀb¹jÑ)HØ,.¨r©E°"°a±%©Kñ*8ñ 9ñ9ˆð •"‰u�U‰{˜2‰~˜r B™wÑ'¨Ñ+Ð+r   c                 ó<  — d| dz  z  d|dz  z  z   d| dz  z  |z  z
  d| z  |dz  z  z
  d| dz  z  |dz  z  z   t          | dz  d|dz  z  z   | |z  z
  ¦  «        d| dz  z  d	|dz  z  z   d
| dz  z  |z  z
  d| z  |dz  z  z
  z  z   }dt          z  dz  | z  || z
  z  |z  S )Nrf   r,   rG   r   r^   r€   r�   r   r|   r‚   rƒ   ry   r   ri   s      r   ÚG33ztest_ellip_norm.<locals>.G33v   sß   € Ø��Q‘‰w˜˜B ™E™Ñ! B r¨1¡u¡H¨R¡KÑ/°"°R±%¸¸A¹±+Ñ=ÀÀ2ÀqÁ5ÁÈÈQÉÁÑNÝ
ˆr�1‰u�q˜˜Q™‘w‰  B¡Ñ&Ñ
'Ô
'¨¨2¨q©5©°1°R¸±U±7Ñ):¸Q¸rÀ1¹u¹WÀR¹ZÑ)GØ
ˆ2‰ˆb�!‰e‰ñ*ñ ñˆð •"‰u�U‰{˜2‰~˜r B™wÑ'¨Ñ+Ð+r   c                 ó<  — d| dz  z  d|dz  z  z   d| dz  z  |z  z
  d| z  |dz  z  z
  d| dz  z  |dz  z  z   t          d| dz  z  |dz  z   | |z  z
  ¦  «        d	| dz  z  d|dz  z  z
  d
| dz  z  |z  z   d| z  |dz  z  z   z  z   }dt          z  dz  |z  || z
  z  |z  S )NrG   r,   rf   r€   r^   r   r�   r   rx   rƒ   r‚   ry   r   ri   s      r   ÚG36ztest_ellip_norm.<locals>.G36|   sß   € Ø�"�a‘%‰x˜!˜B ™E™'Ñ! B r¨1¡u¡H¨R¡KÑ/°"°R±%¸¸A¹±+Ñ=ÀÀ2ÀqÁ5ÁÈÈQÉÁÑNÝ
ˆq��Q‘‰w˜˜Q™‰  B¡Ñ&Ñ
'Ô
'¨¨B°©E©°A°b¸!±e±GÑ);¸bÀÀQÁ¹hÀr¹kÑ)IØ	ˆ"‰ˆR�‰U‰
ñ*ñ ñˆð •"‰u�U‰{˜2‰~˜r B™wÑ'¨Ñ+Ð+r   c                 ó<  — d| dz  z  d|dz  z  z   d| dz  z  |z  z
  d| z  |dz  z  z
  d| dz  z  |dz  z  z   t          d| dz  z  |dz  z   | |z  z
  ¦  «        d	| dz  z  d|dz  z  z   d
| dz  z  |z  z
  d| z  |dz  z  z
  z  z   }dt          z  dz  |z  || z
  z  |z  S )NrG   r,   rf   r€   r^   r   r�   r   r|   rƒ   r‚   ry   r   ri   s      r   ÚG35ztest_ellip_norm.<locals>.G35‚   sß   € Ø�"�a‘%‰x˜!˜B ™E™'Ñ! B r¨1¡u¡H¨R¡KÑ/°"°R±%¸¸A¹±+Ñ=ÀÀ2ÀqÁ5ÁÈÈQÉÁÑNÝ
ˆq��Q‘‰w˜˜Q™‰  B¡Ñ&Ñ
'Ô
'¨¨2¨q©5©°1°R¸±U±7Ñ):¸RÀÀAÁ¹XÀb¹[Ñ)HØ	ˆ"‰ˆR�‰U‰
ñ*ñ ñˆð •"‰u�U‰{˜2‰~˜r B™wÑ'¨Ñ+Ð+r   c                 óF   — dt           z  | dz  z  |dz  z  || z
  dz  z  dz  S )Nr,   r   éi   rY   rZ   s     r   ÚG37ztest_ellip_norm.<locals>.G37ˆ   s/   € Ø•‰t�B˜‘E‰z˜"˜a™%Ñ  b¡¨1¡Ñ,¨SÑ0Ð0r   ©r   r+   ©r+   r+   ©r+   r   ©r+   r^   ©r   r+   ©r   r   ©r   r^   ©r   r,   ©r   é   ©r^   r+   ©r^   r   ©r^   r^   ©r^   r,   ©r^   r—   ©r^   rf   ©r^   rw   c                 ó0   •— ‰| |f         } |||¦  «        S r    © )r"   r#   r   r   ÚfuncÚknown_funcss        €r   Ú_ellip_normz$test_ellip_norm.<locals>._ellip_norm�   s!   ø€ Ø˜1˜a˜4Ô ˆØˆt�B˜‰|Œ|Ðr   c                 ó    •—  ‰||| |¦  «        S r    r    )r   r   r"   r#   r£   s       €r   Úellip_normal_knownz+test_ellip_norm.<locals>.ellip_normal_known•   s   ø€ Øˆ{˜1˜a  RÑ(Ô(Ð(r   éÒ  ç      à?r+   ©Úsizer,   r   rJ   çê-�™—q=©rL   )ÚnpÚ	vectorizeÚrandomÚseedÚparetor©   r-   ÚappendÚfullÚarrayr   rO   r   r   r   )r[   r_   ra   rd   rj   rl   ro   rq   rs   rz   r}   r„   r†   rˆ   rŠ   r�   r¥   r   r   Úpointsr"   r#   rR   r£   r¢   s                          @@r   Útest_ellip_normrµ   C   s„  øø€ ðð ð ðð ð ð#ð #ð #ð#ð #ð #ðð ð ð
ð ð ð
*ð *ð *ð*ð *ð *ð*ð *ð *ð%ð %ð %ð%ð %ð %ð,ð ,ð ,ð,ð ,ð ,ð,ð ,ð ,ð,ð ,ð ,ð1ð 1ð 1ðG�6˜3ð G ¨ð G¨V°Sð G¸&À#ð GØ˜3ðGØ &¨ðGØ-3°SðGØ:@À#ðGà˜3ðGà &¨ðGà-3°SðGà:@À#ðGð ˜3ðGð !'¨ðGð .4°SðGð ;AÀ#ðG€Kð
ð ð ð ð õ ”,˜{Ñ+Ô+€Kð)ð )ð )ð )ð )õ „I‡N‚N�4ÑÔÐÝ	Œ×	Ò	˜# AÐ	Ñ	&Ô	&€BØ	ˆq•2”9×#Ò# C¨b¬gÐ#Ñ6Ô6Ñ6Ñ	7€Bà€FÝ�1‰XŒXð Nð NˆÝ�q˜!˜A™#˜a™%‘”ð 	Nð 	NˆAØ�MŠM˜2˜r¥2¤7¨2¬7°AÑ#6Ô#6½¼ÀÄÈÑ8KÔ8KÐLÑMÔMÐMÐMð	NåŒX�fÑÔ€FÝ	Ñ	Ô	ð P Ø�
Š
Õ%Ð'IÑJÔJÐJÝ�,Ð(:¸FÈÐOÑOÔOÐOðPð Pð Pñ Pô Pð Pð Pð Pð Pð Pð Pð Pøøøð Pð Pð Pð Pð Pð Ps   Æ4GÇGÇGc            
      ó6  — d„ } t          ¦   «         5 }|                     t          d¦  «         t           | ddd¦  «        ddt	          d¦  «        z  z  ¦  «         t          t          ddddd¦  «        d	¦  «         t          t          ddddd¦  «        d
¦  «         t          t          ddddd¦  «        d¦  «         t          t          ddddd¦  «        d¦  «         t          t          ddddd¦  «        d¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nc           
      ó  — t          | |dd|¦  «        dt          | |dd|¦  «        z  z  t          | |dd|¦  «        dt          | |dd|¦  «        z  z  z   t          | |dd|¦  «        dt          | |dd|¦  «        z  z  z   }|S )Nr+   r^   r   r&   )r   r   Úsr?   s       r   ÚI1ztest_ellip_harm_2.<locals>.I1©   sž   € Ý˜B  A q¨!Ñ,Ô,¨aµ*¸RÀÀQÈÈ1Ñ2MÔ2MÑ.MÑNÝ
�r˜2˜q ! QÑ
'Ô
'¨­Z¸¸BÀÀ1ÀaÑ-HÔ-HÑ)HÑ
IñJå�R˜˜Q  1Ñ%Ô% q­:°b¸"¸aÀÀAÑ+FÔ+FÑ'FÑGñHˆð ˆ
r   rJ   r—   r|   rN   r+   i$"  r   g$Ðâ ;´Q?g¬¾yoVQ?r^   g©Ã<i`Q?r,   gÏ™ar~Q?gTz�LÛ°Q?)r   rO   r   r   r   r
   )r¹   rR   s     r   Útest_ellip_harm_2rº   §   s~  € ðð ð õ 
Ñ	Ô	ð 	L Ø�
Š
Õ%Ð'IÑJÔJÐJÝ˜B˜B˜q ! R™LœL¨!¨Rµ°_Ñ0EÔ0EÑ-EÑ*FÑGÔGÐGõ 	�L¨¨A¨q°!°RÑ8Ô8Ð:JÑKÔKÐKÝ�L¨¨A¨q°!°RÑ8Ô8Ð:JÑKÔKÐKÝ�L¨¨A¨q°!°RÑ8Ô8Ð:JÑKÔKÐKÝ�L¨¨A¨q°!°RÑ8Ô8Ð:JÑKÔKÐKÝ�L¨¨A¨q°!°RÑ8Ô8Ð:JÑKÔKÐKð	Lð 	Lð 	Lñ 	Lô 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Lð 	Løøøð 	Lð 	Lð 	Lð 	Lð 	Lð 	Ls   ’C/DÄDÄDc                  óf  ‡‡— d„ } d„ }d„ }d„ }d„ }d„ }d„ }d„ }d	„ }d
„ }	d„ }
d„ }d„ }d„ }d„ }d„ }t          t          ddddddd¦  «        t          ddddd¦  «        ¦  «         i d| “d|“d|“d|“d|“d|“d|“d|“d|“d|	“d |
“d!|“d"|“d#|“d$|“d%|“Šg Šˆˆfd&„}t          j                             d'¦  «        }|                     d(d)¬*¦  «        }|d|                     d(|j        ¬*¦  «        z   z  }|                     d(|j        ¬*¦  «        }g }t          |j        ¦  «        D ]Y}t          d+¦  «        D ]G}t          dd|z  dz   ¦  «        D ].}|                     ||         ||         ||||         f¦  «         Œ/ŒHŒZt          j	        |¦  «        }t          t          ||d,¬-¦  «         d S ).Nc                 ó   — dS )Nr+   r    ©r   r   r¸   s      r   ÚE01ztest_ellip_harm.<locals>.E01½   s   € Øˆqr   c                 ó   — |S r    r    r½   s      r   ÚE11ztest_ellip_harm.<locals>.E11À   s   € Øˆr   c                 óF   — t          t          ||z  | z
  ¦  «        ¦  «        S r    ©r   r.   r½   s      r   ÚE12ztest_ellip_harm.<locals>.E12Ã   ó   € Ý•C˜˜!™˜b™‘M”MÑ"Ô"Ð"r   c                 óF   — t          t          ||z  |z
  ¦  «        ¦  «        S r    rÂ   r½   s      r   ÚE13ztest_ellip_harm.<locals>.E13Æ   rÄ   r   c           
      ó|   — ||z  d| |z   t          t          | |z   | |z   z  d| z  |z  z
  ¦  «        ¦  «        z   z  z
  S ©NgUUUUUUÕ?r^   rÂ   r½   s      r   ÚE21ztest_ellip_harm.<locals>.E21É   óI   € Ø�‰s�S˜2 ™7¥d­3°°R±¸"¸r¹'Ñ/BÀ1ÀRÁ4ÈÁ7Ñ/JÑ+KÔ+KÑ&LÔ&LÑLÑMÑMÐMr   c           
      ó|   — ||z  d| |z   t          t          | |z   | |z   z  d| z  |z  z
  ¦  «        ¦  «        z
  z  z
  S rÈ   rÂ   r½   s      r   ÚE22ztest_ellip_harm.<locals>.E22Ì   rÊ   r   c                 óL   — |t          t          ||z  | z
  ¦  «        ¦  «        z  S r    rÂ   r½   s      r   ÚE23ztest_ellip_harm.<locals>.E23Ï   ó#   € Ø•4�˜A˜a™C "™H™œÑ&Ô&Ñ&Ð&r   c                 óL   — |t          t          ||z  |z
  ¦  «        ¦  «        z  S r    rÂ   r½   s      r   ÚE24ztest_ellip_harm.<locals>.E24Ò   rÏ   r   c                 óX   — t          t          ||z  | z
  ||z  |z
  z  ¦  «        ¦  «        S r    rÂ   r½   s      r   ÚE25ztest_ellip_harm.<locals>.E25Õ   s-   € Ý•C˜˜1™˜r™ A a¡C¨"¡HÑ-Ñ.Ô.Ñ/Ô/Ð/r   c                 óz   — ||z  |z  |dz  d| |z   z  t          d| |z   z  | |z   z  d| z  |z  z
  ¦  «        z   z  z
  S ©Nr—   r   r,   rE   r   r½   s      r   ÚE31ztest_ellip_harm.<locals>.E31Ø   ó`   € Ø�‰s�1‰u˜˜!™˜a  b¡™k­D°°B¸±G±¸bÀ2¹gÑ1FØ
ˆ2‰ˆb‰ñ2ñ -ô -ñ ñ ñ ð 	r   c                 óz   — ||z  |z  |dz  d| |z   z  t          d| |z   z  | |z   z  d| z  |z  z
  ¦  «        z
  z  z
  S rÕ   r   r½   s      r   ÚE32ztest_ellip_harm.<locals>.E32Ü   r×   r   c                 óÔ   — t          t          ||z  | z
  ¦  «        ¦  «        ||z  d| d|z  z   t          t          | d|z  z   | d|z  z   z  d| z  |z  z
  ¦  «        ¦  «        z   z  z
  z  S ©Nçš™™™™™É?r   r—   rÂ   r½   s      r   ÚE33ztest_ellip_harm.<locals>.E33à   ó‘   € Ý•C˜˜!™˜b™‘M”MÑ"Ô" A a¡C¨#°°Q°r±T±	½TÅ#ÀrØ	ˆ"‰ñHØ�A�b‘D‰yñGØ˜b™D ™GñG$ñ C%ô C%ñ >&ô >&ñ 0&ñ +'ñ %'ñ (ð 	(r   c                 óÔ   — t          t          ||z  | z
  ¦  «        ¦  «        ||z  d| d|z  z   t          t          | d|z  z   | d|z  z   z  d| z  |z  z
  ¦  «        ¦  «        z
  z  z
  z  S rÛ   rÂ   r½   s      r   ÚE34ztest_ellip_harm.<locals>.E34ä   rÞ   r   c                 óÔ   — t          t          ||z  |z
  ¦  «        ¦  «        ||z  dd| z  |z   t          t          d| z  |z   d| z  |z   z  d| z  |z  z
  ¦  «        ¦  «        z   z  z
  z  S rÛ   rÂ   r½   s      r   ÚE35ztest_ellip_harm.<locals>.E35è   ó‘   € Ý•C˜˜!™˜b™‘M”MÑ"Ô" A a¡C¨#°°"±°r±	½TÅ#ÀqÈÁtØ
ñHØ�‰t�b‰yñGØ˜b™D ™GñG$ñ C%ô C%ñ >&ô >&ñ 0&ñ +'ñ %'ñ (ð 	(r   c                 óÔ   — t          t          ||z  |z
  ¦  «        ¦  «        ||z  dd| z  |z   t          t          d| z  |z   d| z  |z   z  d| z  |z  z
  ¦  «        ¦  «        z
  z  z
  z  S rÛ   rÂ   r½   s      r   ÚE36ztest_ellip_harm.<locals>.E36ì   rã   r   c                 ó^   — |t          t          ||z  | z
  ||z  |z
  z  ¦  «        ¦  «        z  S r    rÂ   r½   s      r   ÚE37ztest_ellip_harm.<locals>.E37ð   s2   € Ø•4�˜Q˜q™S 2™X¨¨!©¨b©Ñ1Ñ2Ô2Ñ3Ô3Ñ3Ð3r   r—   r|   r+   r   g      @rŽ   r�   r�   r‘   r’   r“   r”   r•   r–   r˜   r™   rš   r›   rœ   r�   rž   c           	      óú   •— t          | j        ¦  «        D ]d}‰t          ||         ¦  «        t          ||         ¦  «        f         }‰                      || |         ||         ||         ¦  «        ¦  «         Œe‰S r    )r-   r©   Úintr±   )	r   r   r"   r#   r¸   Úir¡   r¢   Ú	point_refs	          €€r   Úellip_harm_knownz)test_ellip_harm.<locals>.ellip_harm_knowný   st   ø€ Ý�r”w‘”ð 	7ð 	7ˆAØ¥ A a¤D¡	¤	­3¨q°¬t©9¬9Ð5Ô6ˆDØ×Ò˜T˜T " Q¤%¨¨A¬°°!´Ñ5Ô5Ñ6Ô6Ð6Ð6ØÐr   r¦   r§   é   r¨   r,   rª   r«   )r   r	   r¬   r®   ÚRandomStater°   r©   r-   r±   r³   r   )r¾   rÀ   rÃ   rÆ   rÉ   rÌ   rÎ   rÑ   rÓ   rÖ   rÙ   rÝ   rà   râ   rå   rç   rì   Úrngr   r   r¸   r´   rê   r"   r#   r¢   rë   s                            @@r   Útest_ellip_harmrð   »   s2  øø€ ðð ð ðð ð ð#ð #ð #ð#ð #ð #ðNð Nð NðNð Nð Nð'ð 'ð 'ð'ð 'ð 'ð0ð 0ð 0ðð ð ðð ð ð(ð (ð (ð(ð (ð (ð(ð (ð (ð(ð (ð (ð4ð 4ð 4õ •˜A˜q ! Q¨¨Q°Ñ2Ô2Ýˆq�!�Q˜˜3ÑÔñ!ô !ð !ðG�6˜3ð G ¨ð G¨V°Sð G¸&À#ð GØ˜3ðGØ &¨ðGØ-3°SðGØ:@À#ðGà˜3ðGà &¨ðGà-3°SðGà:@À#ðGð ˜3ðGð !'¨ðGð .4°SðGð ;AÀ#ðG€Kð
 €Iðð ð ð ð ð õ Œ)×
Ò
 Ñ
%Ô
%€CØ	�Š�C˜bˆÑ	!Ô	!€BØ	ˆQ�—’˜C b¤g�Ñ.Ô.Ñ.Ñ	/€BØ�
Š
�3˜RœWˆ
Ñ%Ô%€AØ€FÝ�2”7‰^Œ^ð :ð :ˆÝ�q‘”ð 	:ð 	:ˆAÝ˜1˜a ™c !™e‘_”_ð :ð :�Ø—’˜r !œu b¨¤e¨Q°°1°Q´4Ð8Ñ9Ô9Ð9Ð9ð:ð	:õ ŒX�fÑÔ€FÝ•jÐ"2°FÀÐGÑGÔGÐGÐGÐGr   c                  ól   — d} d| z  dz   }t          dd| |d¦  «        }t          j        |¦  «        sJ ‚d S )Nr,   r   r§   g       @rÜ   )r	   r¬   Úisnan)r"   r#   rT   s      r   Útest_ellip_harm_invalid_pró     sE   € à	€Aà	ˆ!‰ˆa‰€AÝ˜˜S ! Q¨Ñ,Ô,€FÝŒ8�FÑÔÐÐÐÐÐr   )Únumpyr¬   Únumpy.testingr   r   r   r   r   Úscipy.special._testutilsr   Úscipy.specialr	   r
   r   Úscipy.integrater   r   r   rV   rµ   rº   rð   ró   r    r   r   ú<module>rù      s  ðð Ð Ð Ð ð7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7ð 7à 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ð @Ø .Ð .Ð .Ð .Ð .Ð .Ø Ð Ð Ð Ð Ð Ð Ð ð1Fð 1Fð 1FðhaPð aPð aPðHLð Lð Lð(RHð RHð RHðjð ð ð ð r   