
    ^Mh                      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               a/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/scipy/special/tests/test_sph_harm.pytest_pzTestSphHarm.test_p   s)   Aru%%k!QruW%%[,,
s,UE5#aPPP5&0uQOOO5&NBIeai00")UFA2F2FGHHN14eAejl.C.C(D(D#DEEE1rvb1fsl333444furvb1fsl/C/C'CDDDfrAvzBF26C<4H4H'HIIIy)6BF26C<4H4H+HIIIy)26E>BF26C<<P<P+PQQQy)6)+<===y)A26A:rAv|8L8L+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   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    Aru%%k!QY''Ieai  N15qA)>)>#?#?@@@NBIeai00")UFA2F2FGHHN14eAejl.C.C(D(D#DEEE$UE5#>>M!Qs33	

""8YU"CCCCCr-   N)	__name__
__module____qualname__pytestmarkslowr,   parametrizer;    r-   r+   r   r      s        [N N N0 [Wkkk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    271RU7####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    271ag;'''s5y(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*    271RU7###BF3KK//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    BGAqwK(((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1RU7##E
+a

CUC((JE3%A&& < <
a   	<CJJ 2J333BK1eS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-   