§
    µ³Ùg   ã                   óR   — d dl Zd dlZd dlmZmZ d dlmZ  G d„ d¦  «        Z	d„ Z
dS )é    N)Úassert_allcloseÚsuppress_warningsc                   óÊ   — e Zd Zej        j        d„ ¦   «         Zej                             dg d¢¦  «        ej                             dg d¢¦  «        d„ ¦   «         ¦   «         ZdS )ÚTestSphHarmc                 óÆ  — d}d}t          j        dt           j        ¦  «        }t          j        ddt           j        z  ¦  «        }t          j        ||¦  «        \  }}t	          j        ||||d¬¦  «        \  }}}t	          j        |||d¬¦  «        \  }}	}
t          j        t          j        |dz   ¦  «        t          j        | d¦  «        g¦  «        }t          j	        |dt          t          d|j        dz   ¦  «        ¦  «        z   ¬¦  «        }t          ||t          j        d	|z  |z  ¦  «        z  ¦  «         t          |d
         |	t          j        d	|z  |z  ¦  «        z  ¦  «         t          |d         d	|z  |z  t          j        d	|z  |z  ¦  «        z  ¦  «         t          |d         |
t          j        d	|z  |z  ¦  «        z  ¦  «         t          |d         d	|z  |	z  t          j        d	|z  |z  ¦  «        z  ¦  «         t          |d         |d         ¦  «         t          |d         | |z  |z  t          j        d	|z  |z  ¦  «        z  ¦  «         d S )Né   é
   r   é   )Údiff_né   ©r   ©Úaxisù              ð?).r   ).r   ).r   r   ).r   r   ).r   r   ).r   r   )ÚnpÚlinspaceÚpiÚmeshgridÚscÚsph_harm_y_allÚsph_legendre_p_allÚconcatenateÚarangeÚexpand_dimsÚtupleÚrangeÚndimr   Úexp)ÚselfÚm_maxÚn_maxÚthetaÚphiÚyÚy_jacÚy_hessÚpÚp_jacÚp_hessÚms               úW/granary/edev/quantum/lib/python3.11/site-packages/scipy/special/tests/test_sph_harm.pyÚtest_pzTestSphHarm.test_p   s)  € àˆØˆå”˜A�rœuÑ%Ô%ˆÝŒk˜!˜Q�rœu™WÑ%Ô%ˆÝ”[ ¨Ñ,Ô,‰
ˆˆsåÔ,¨U°E¸5À#ÈaÐPÑPÔPÑˆˆ5�&ÝÔ0°¸¸uÈQÐOÑOÔOÑˆˆ5�&åŒN�BœI e¨a¡iÑ0Ô0µ"´)¸U¸FÀAÑ2FÔ2FÐGÑHÔHˆÝŒN˜1 4­­e°A°e´jÀ±lÑ.CÔ.CÑ(DÔ(DÑ#DÐEÑEÔEˆå˜˜1�rœv b¨1¡f¨s¡lÑ3Ô3Ñ3Ñ4Ô4Ð4å˜˜fœ u­r¬v°b¸1±f¸s±lÑ/CÔ/CÑ'CÑDÔDÐDÝ˜˜fœ r¨A¡v°¡zµB´F¸2À¹6ÀC¹<Ñ4HÔ4HÑ'HÑIÔIÐIå˜˜yÔ)¨6µB´F¸2À¹6ÀC¹<Ñ4HÔ4HÑ+HÑIÔIÐIÝ˜˜yÔ)¨2°©6°E©>½B¼FÀ2ÈÁ6ÈCÁ<Ñ<PÔ<PÑ+PÑQÔQÐQÝ˜˜yÔ)¨6°)Ô+<Ñ=Ô=Ð=Ý˜˜yÔ)¨A¨2°©6°A©:½¼¸rÀA¹vÈ¹|Ñ8LÔ8LÑ+LÑMÔMÐMÐMÐMó    r!   )é   r	   é2   r    )r   é   é   é	   é   c                 ó¾  — t          j        dt           j        ¦  «        }t          j        ddt           j        z  ¦  «        }t          j        |dz   ¦  «        }t          j        |t          t          d|j        dz   ¦  «        ¦  «        ¬¦  «        }t          j        t          j        |dz   ¦  «        t          j        | d¦  «        g¦  «        }t          j        |dt          t          d|j        dz   ¦  «        ¦  «        z   ¬¦  «        }t          j
        ||||¦  «        }t          j        ||||¦  «        }t           j                             ||d¬¦  «         d S )Nr   r
   r   r   r   gñhãˆµøä>)Úrtol)r   r   r   r   r   r   r   r   r   r   r   Ú
sph_harm_yÚtestingr   )	r   r!   r    r"   r#   Únr*   Úy_actualÚ	y_desireds	            r+   Útest_allzTestSphHarm.test_all!   s  € õ ”˜A�rœuÑ%Ô%ˆÝŒk˜!˜Q¥¤™YÑ'Ô'ˆåŒI�e˜a‘iÑ Ô ˆÝŒN˜1¥5­¨q°´¸A±Ñ)>Ô)>Ñ#?Ô#?Ð@Ñ@Ô@ˆåŒN�BœI e¨a¡iÑ0Ô0µ"´)¸U¸FÀAÑ2FÔ2FÐGÑHÔHˆÝŒN˜1 4­­e°A°e´jÀ±lÑ.CÔ.CÑ(DÔ(DÑ#DÐEÑEÔEˆåÔ$ U¨E°5¸#Ñ>Ô>ˆÝ”M ! Q¨¨sÑ3Ô3ˆ	å
Œ
×"Ò" 8¨Y¸UÐ"ÑCÔCÐCÐCÐCr-   N)	Ú__name__Ú
__module__Ú__qualname__ÚpytestÚmarkÚslowr,   Úparametrizer;   © r-   r+   r   r      s‘   € € € € € Ø„[ÔðNð Nñ ÔðNð0 „[×Ò˜W k k kÑ2Ô2Ø„[×Ò˜WÐ&6Ð&6Ð&6Ñ7Ô7ðDð Dñ 8Ô7ñ 3Ô2ðDð Dð Dr-   r   c                  ó  — d„ } d„ }d„ }d„ }| |||g}g d¢}g d¢}t          j        ddt           j        z  ¦  «        }t          j        dt           j        ¦  «        }t          j        ||¦  «        \  }}t	          |||¦  «        D ]�\  }	}}t          ¦   «         5 }
|
                     t          ¬	¦  «         t          t          j
        ||||¦  «         |	||¦  «        d
d
d|› d|› d�¬¦  «         d d d ¦  «         n# 1 swxY w Y   Œ‚d S )Nc                 óJ   — dt          j        dt           j        z  ¦  «        z  S )Nç      à?r   )r   Úsqrtr   ©r"   r#   s     r+   ÚY00z!test_first_harmonics.<locals>.Y00<   s   € Ø•2”7˜1�RœU™7Ñ#Ô#Ñ#Ð#r-   c                 óª   — dt          j        ddt           j        z  z  ¦  «        z  t          j        d| z  ¦  «        z  t          j        |¦  «        z  S )NrF   é   r
   y       €      ð¿©r   rG   r   r   ÚsinrH   s     r+   ÚYn11z"test_first_harmonics.<locals>.Yn11?   sA   € Ø•2”7˜1˜a¥¤™g™;Ñ'Ô'Ñ'­¬¨s°5©yÑ(9Ô(9Ñ9½"¼&À¹+¼+ÑEÐEr-   c                 ót   — dt          j        dt           j        z  ¦  «        z  t          j        |¦  «        z  S )NrF   rK   )r   rG   r   ÚcosrH   s     r+   ÚY01z!test_first_harmonics.<locals>.Y01B   s*   € Ø•2”7˜1�RœU™7Ñ#Ô#Ñ#¥B¤F¨3¡K¤KÑ/Ð/r-   c                 óª   — dt          j        ddt           j        z  z  ¦  «        z  t          j        d| z  ¦  «        z  t          j        |¦  «        z  S )Ng      à¿rK   r
   r   rL   rH   s     r+   ÚY11z!test_first_harmonics.<locals>.Y11E   sA   € Ø•B”G˜A˜q¥¤™w™KÑ(Ô(Ñ(­¬°°5±Ñ)9Ô)9Ñ9½"¼&À¹+¼+ÑEÐEr-   )r   éÿÿÿÿr   r   )r   r   r   r   r   r
   )ÚcategorygVçž¯Ò<zY^Ú_z
 incorrect)r5   ÚatolÚerr_msg)r   r   r   r   Úzipr   ÚfilterÚDeprecationWarningr   r   Úsph_harm)rI   rN   rQ   rS   Úharmsr*   r8   r"   r#   ÚharmÚsups              r+   Útest_first_harmonicsr`   2   s—  € ð$ð $ð $ðFð Fð Fð0ð 0ð 0ðFð Fð Fð �$˜˜SÐ!€EØˆˆ€AØˆˆ€AåŒK˜˜1�RœU™7Ñ#Ô#€EÝ
Œ+�a�œÑ
Ô
€CÝ”˜U CÑ(Ô(�J€Eˆ3å˜%  AÑ&Ô&ð <ð <‰
ˆˆa�ÝÑ Ô ð 	< CØ�JŠJÕ 2ˆJÑ3Ô3Ð3Ý�BœK¨¨1¨e°SÑ9Ô9Ø ˜D ¨Ñ,Ô,Ø!&¨UØ$:¨Ð$:Ð$:¨QÐ$:Ð$:Ð$:ð<ñ <ô <ð <ð	<ð 	<ð 	<ñ 	<ô 	<ð 	<ð 	<ð 	<ð 	<ð 	<ð 	<øøøð 	<ð 	<ð 	<ð 	<øð<ð <s   ÂAC;Ã;C?	ÄC?	)Únumpyr   r?   Únumpy.testingr   r   Úscipy.specialÚspecialr   r   r`   rC   r-   r+   ú<module>re      sŽ   ðØ Ð Ð Ð Ø €€€à <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ø Ð Ð Ð Ð Ð ð)Dð )Dð )Dð )Dð )Dñ )Dô )Dð )DðV$<ð $<ð $<ð $<ð $<r-   