
    Џkh                         d dl Zd dlZd dlmZ d dlmZ  G d d      Zej                  j                  d      d        Zy)    N)assert_allclosec                       e Zd Zej                  j
                  d        Zej                  j                  dg d      ej                  j                  dg d      d               Zy)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         y )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               ]/var/www/teggl/fontify/venv/lib/python3.12/site-packages/scipy/special/tests/test_sph_harm.pytest_pzTestSphHarm.test_p   s   Aruu%kk!QruuW%[[,
s,,UE5#aP5&00uQO5&NNBIIeai0"))UFA2FGHNN14eAejjl.C(D#DE1rvvb1fsl334furvvb1fsl/C'CDfrAvzBFF26C<4H'HIy)6BFF26C<4H+HIy)26E>BFF26C<<P+PQy)6)+<=y)A26A:rAv|8L+L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                  j                  ||d       y )Nr   r	   r   r   r   gh㈵>)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     Aruu%kk!QY'IIeai NN15qA)>#?@NNBIIeai0"))UFA2FGHNN14eAejjl.C(D#DE$$UE5#>MM!Qs3	


""8YU"Cr,   N)	__name__
__module____qualname__pytestmarkslowr+   parametrizer:    r,   r*   r   r      sa    [[N N0 [[Wk2[[W&67D 8 3Dr,   r   zignore::DeprecationWarningc                     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        t        j                  ||||       |	||      d	d	d
| d| d       < y )Nc                 T    dt        j                  dt         j                  z        z  S )N      ?r   )r   sqrtr   r!   r"   s     r*   Y00z!test_first_harmonics.<locals>.Y00=   s    2771RUU7###r,   c                     dt        j                  ddt         j                  z  z        z  t        j                  d| z        z  t        j                  |      z  S )NrE      r	   y             r   rF   r   r   sinrG   s     r*   Yn11z"test_first_harmonics.<locals>.Yn11@   sA    2771ag;''s5y(99"&&+EEr,   c                     dt        j                  dt         j                  z        z  t        j                  |      z  S )NrE   rJ   )r   rF   r   cosrG   s     r*   Y01z!test_first_harmonics.<locals>.Y01C   s+    2771RUU7##BFF3K//r,   c                     dt        j                  ddt         j                  z  z        z  t        j                  d| z        z  t        j                  |      z  S )Ng      rJ   r	   r   rK   rG   s     r*   Y11z!test_first_harmonics.<locals>.Y11F   sA    BGGAqwK((5)99"&&+EEr,   )r   r   r   )r   r   r   r   r   r	   gV瞯<zY^_z
 incorrect)r4   atolerr_msg)r   r   r   r   zipr   r   sph_harm)
rH   rM   rP   rR   harmsr)   r7   r!   r"   harms
             r*   test_first_harmonicsr[   2   s    $F0F $S!EAAKK1RUU7#E
++a
CUC(JE3%A& 8
aAq%5UC(""$QCq: 6	88r,   )numpyr   r>   numpy.testingr   scipy.specialspecialr   r   r?   filterwarningsr[   rB   r,   r*   <module>ra      sB      ) )D )DV 89"8 :"8r,   