§
    fŠtj  ã                   ó¼  — d dl mZ d dlZd dlZd dlmZmZ d dlm	Z
 d dlmZmZmZmZ ej                             dg d¢¦  «        ej                             dg d¢¦  «        d„ ¦   «         ¦   «         Zej                             dg d¢¦  «        ej                             d	g d
¢¦  «        d„ ¦   «         ¦   «         Zej                             dg d¢¦  «        ej                             dg d¢¦  «        ej                             d	g d¢¦  «        d„ ¦   «         ¦   «         ¦   «         Z ej        g d¢g d¢g d¢g d¢g d¢ddddej        gg d¢ddddej        gg d¢g d¢g d¢g d¢g d¢g d ¢d!ddd"ej        gg¦  «        Zej        j        ej                             d#edd…dd$…f                              ¦   «         ¦  «        d%„ ¦   «         ¦   «         Zej                             d&e                     ¦   «         ¦  «        d'„ ¦   «         Zej                             d( e eg d)¢d*d+gg d,¢¦  «        ¦  «        ¦  «        d-„ ¦   «         Zej                             d&g d d d ej         d.f‘d d d*ej         d.f‘d/‘d0‘d1‘d2‘d3‘d4‘d5‘d6‘d7‘d8‘d9d:dd;ej        f‘d<‘d=‘d>d:dd?ej        f‘d@‘dA‘dB‘dC‘dD‘d!d:dEdFej        f‘dG‘dH‘dI‘dJ‘dK‘dL‘dM‘dN‘dO‘dP‘¦  «        dQ„ ¦   «         ZdS )Ré    )ÚproductN)Úassert_equalÚassert_allclose)Úlog_wright_besselÚloggammaÚrgammaÚwright_besselÚa)r   ç�íµ ÷Æ°>çš™™™™™¹?ç      à?é   é
   Úbc                 ó¸   — t          t          | |d¦  «        t          |¦  «        ¦  «         t          t	          | |d¦  «        t          |¦  «         ¦  «         dS )zTest at x = 0.ç        N)r   r	   r   r   r   r   )r
   r   s     úd/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/scipy/special/tests/test_wright_bessel.pyÚtest_wright_bessel_zeror      sQ   € õ •˜q ! RÑ(Ô(­&°©)¬)Ñ4Ô4Ð4ÝÕ% a¨¨BÑ/Ô/µ(¸1±+´+°Ñ>Ô>Ð>Ð>Ð>ó    Úx)r   r   r   r   r   c                 óÒ   — |dk    r`| dz
  }t          d|dz   |dz  dz  ¦  «        }t          t          j        |dz  |¦  «        |z  t	          j        ||¦  «        dd¬¦  «         dS dS )	zœTest relation of wright_bessel and modified bessel function iv.

    iv(z) = (1/2*z)**v * Phi(1, v+1; 1/4*z**2).
    See https://dlmf.nist.gov/10.46.E2
    r   r   é   g      @g       @ç•dyáý¥=©ÚrtolÚatolN)r	   r   ÚnpÚpowerÚscÚiv)r   r   ÚvÚwbs       r   Útest_wright_bessel_ivr#   %   s†   € ð 	ˆA‚v€vØ�‰EˆÝ˜1˜a !™e Q¨¡T¨B¡YÑ/Ô/ˆõ 	�œ  R¡¨Ñ+Ô+¨bÑ0Ýœ˜a ™œØ"¨ð	0ñ 	0ô 	0ð 	0ð 	0ð 	0ð €vr   )r   gj¼t“ð?r   é   r   )r   r   r   r   r   r$   r   éd   c           
      ó°   — t          t          | |dz
  |¦  «        | |z  t          | || z   |¦  «        z  |dz
  t          | ||¦  «        z  z   dd¬¦  «         dS )a=  Test functional relation of wright_bessel.

    Phi(a, b-1, z) = a*z*Phi(a, b+a, z) + (b-1)*Phi(a, b, z)

    Note that d/dx Phi(a, b, x) = Phi(a, b-1, x)
    See Eq. (22) of
    B. Stankovic, On the Function of E. M. Wright,
    Publ. de l' Institut Mathematique, Beograd,
    Nouvelle S`er. 10 (1970), 113-124.
    r   ç:Œ0âŽyE>r   N©r   r	   ©r
   r   r   s      r   Útest_wright_functionalr*   7   su   € õ •M ! Q¨¡U¨AÑ.Ô.Ø˜‘E�M¨!¨Q°©U°AÑ6Ô6Ñ6Ø˜1‘u¥¨a°°AÑ 6Ô 6Ñ6ñ7à Dð*ñ *ô *ð *ð *ð *r   )r   ç      Y@çð9úþB.†@gªS
[˜ê.Gg:Œ0âŽyU>)r   ç      $@r,   g¢UqZ+YýIgÁ�v¾À(x>)r   r-   ç     @�@g]a(aaHMr'   )r   r+   r.   gü	¾5U4Á'g+i¤)+p>)ç      ð?ç      4@ç     jø@g +^%³nçpé~À=r/   r+   r1   gá
ð+�e�D)çd     ð?r0   r1   gÕ'^%³nr2   r3   gÕcí+�e�D)ç      ø?r   ç     @@g€uc•&Br2   )r4   g      =r5   g¤sc•&Br2   )r4   g»½×Ùß|Û=r5   gÂB•&Br2   )r4   çñhãˆµøä>r5   g]¬ª¯Ï%Br2   )r4   r   r5   gKÓ¨wÓqBg•dyáýµ=)r4   r0   r1   g¼Ò@ åIgßA:ÜÅ)>r4   gŸmxÀ˜i%%za, b, x, phié   c                 óH   — t          t          | ||¦  «        |d¬¦  «         dS )zDTest cases of test_data that do not reach relative accuracy of 1e-11r   ©r   Nr(   )r
   r   r   Úphis       r   Útest_wright_data_grid_failuresr;   b   s+   € õ •M ! Q¨Ñ*Ô*¨C°eÐ<Ñ<Ô<Ð<Ð<Ð<r   za, b, x, phi, accuracyc                 ó¾   — t          j        |¦  «        r't          j        t          | ||¦  «        ¦  «        sJ ‚dS t          t          | ||¦  «        ||¬¦  «         dS )z}Test cases of test_data that do not reach relative accuracy of 1e-11

    Here we test for reduced accuracy or even nan.
    r9   N)r   Úisnanr	   r   ©r
   r   r   r:   Úaccuracys        r   Ú#test_wright_data_grid_less_accurater@   k   sf   € õ 
„x�ÑÔð DÝŒx� a¨¨AÑ.Ô.Ñ/Ô/Ð/Ð/Ð/Ð/Ð/å� a¨¨AÑ.Ô.°¸(ÐCÑCÔCÐCÐCÐCr   za, b, x)r   r   r   r4   r$   r   r   r   )çü©ñÒMbP?r   r4   r$   r   c           
      óŠ   — t          t          | ||¦  «        t          j        t	          | ||¦  «        ¦  «        d¬¦  «         dS )z8Test that log_wright_bessel equals log of wright_bessel.r'   r9   N)r   r   r   Úlogr	   r)   s      r   Ú,test_log_wright_bessel_same_as_wright_besselrD   y   sP   € õ Ý˜!˜Q Ñ"Ô"Ý
Œ�}˜Q  1Ñ%Ô%Ñ&Ô&Øðñ ô ð ð ð r   r   )r   r   ç®Gáz®ó?rE   r   )r   r   çšd~ÅQJrF   r   )r6   r   i¼  g€ujXV¸…@r   )r6   r   r.   gÖÐÌF4�@r   )r6   r%   r.   g(þíïŽ„@r   )rA   r   g     ˆÃ@g?»‰œ�Ã@r   )rA   r   r1   g.x"»žSø@r   )rA   r   g    €„.Ag®¬w�V.Ar   )rA   r   r1   gZ<¢·Pø@r   )rA   é2   r1   gžìÑÚ“Dø@rA   rA   r%   grÎlqw4ø@)r   r   r1   gÅ› õ8Ô¯@r   )r   r   ç    ÐcAghÒ{ÕÈjõ@r   r   gÚÝ&É,ª@)r   r%   rH   gDvuÂ�*õ@r   )r   r   r1   geî6�ŠÐƒ@r   )r   r   ç    „×—Agh†¦¼ÕˆÓ@r   )r4   r   r1   g¡}ž‘ h@r   )r4   r   rI   gP2aŽùI¨@r   rI   géSÈe¢@)r$   r   r1   gtÑ—òÌË#@r   )r$   r   rI   gPˆw8Ò@@r   )r$   r   ç   ¢”mBg/f�t/±c@r   )r$   r%   r1   gD«%rvÀr   )r$   r%   rJ   g8póK<uÀg-Cëâ6?)r$   r%   ç@Œµx¯DgáÚç†~8¤@g�íµ ÷ÆÀ>)r%   r   r1   g2Ãð¹uÀr   )r%   r   rK   g?3ïQ‘sÀr   )r%   r%   r1   çb”‡´%rvÀr   )r%   r%   rK   rL   r   c                 ó¾   — t          j        |¦  «        r't          j        t          | ||¦  «        ¦  «        sJ ‚dS t          t          | ||¦  «        ||¬¦  «         dS )z6Test for log_wright_bessel, in particular for large x.r9   N)r   r=   r   r   r>   s        r   Útest_log_wright_besselrN   £   si   € õN 
„x�ÑÔð HÝŒxÕ)¨!¨Q°Ñ2Ô2Ñ3Ô3Ð3Ð3Ð3Ð3Ð3åÕ)¨!¨Q°Ñ2Ô2°C¸hÐGÑGÔGÐGÐGÐGr   )Ú	itertoolsr   ÚpytestÚnumpyr   Únumpy.testingr   r   Úscipy.specialÚspecialr   r   r   r   r	   ÚmarkÚparametrizer   r#   r*   ÚarrayÚnanÚgrid_a_b_x_value_accÚxfailÚtolistr;   r@   ÚlistrD   ÚinfrN   © r   r   ú<module>r_      sD  ðð& Ð Ð Ð Ð Ð à €€€Ø Ð Ð Ð Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7à Ð Ð Ð Ð Ð Ø LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ LÐ Lð „×Ò˜Ð8Ð8Ð8Ñ9Ô9Ø„×Ò˜Ð8Ð8Ð8Ñ9Ô9ð?ð ?ñ :Ô9ñ :Ô9ð?ð „×Ò˜Ð8Ð8Ð8Ñ9Ô9Ø„×Ò˜Ð4Ð4Ð4Ñ5Ô5ð0ð 0ñ 6Ô5ñ :Ô9ð0ð  „×Ò˜Ð8Ð8Ð8Ñ9Ô9Ø„×Ò˜Ð5Ð5Ð5Ñ6Ô6Ø„×Ò˜Ð@Ð@Ð@ÑAÔAð*ð *ñ BÔAñ 7Ô6ñ :Ô9ð*ð*  �r”xØ@Ð@Ð@Ø?Ð?Ð?Ø4Ð4Ð4Ø7Ð7Ð7Ø9Ð9Ð9Øˆ%�Ð1°2´6Ð:ØHÐHÐHØ˜ Ð*@À"Ä&ÐIØ0Ð0Ð0ØBÐBÐBØ2Ð2Ð2Ø2Ð2Ð2Ø/Ð/Ð/Ø5Ð5Ð5Øˆ%�Ð1°2´6Ð:ð!ñ ô Ð ð& „ÔØ„×ÒØØ˜˜˜˜B˜Q˜B˜Ô×&Ò&Ñ(Ô(ñ*ô *ð=ð =ñ*ô *ñ Ôð=ð
 „×ÒØØ×ÒÑ!Ô!ñ#ô #ðDð Dñ#ô #ðDð „×ÒØØ€DØˆÐ)Ð)Ð)¨A¨q¨6Ð3HÐ3HÐ3HÑIÔIñô ñô ðð ñô ððH „×ÒØð!Ø	
ˆAˆq�2”6�'˜5Ð!ð!à	
ˆAˆq�2”6�'˜5Ð!ð!ð 	"ð!ð 	"ð	!ð
 	1ð!ð 	2ð!ð 	3ð!ð 	2ð!ð 	2ð!ð 	2ð!ð 	2ð!ð 	2ð!ð 
ˆs�CÐ+¨R¬VÐ4ð!ð 	1ð!ð 	1ð!ð  
ˆc�3Ð*¨B¬FÐ3ð!!ð" 	3ð#!ð$ 	/ð%!ð& 	/ð'!ð( 	1ð)!ð* 	0ð+!ð, 
ˆc�3Ð*¨B¬FÐ3ð-!ð. 	/ð/!ð0 	/ð1!ð2 	0ð3!ð4 	2ð5!ð6 	2ð7!ð8 	1ð9!ð: 	2ð;!ð< 	3ð=!ð> 	3ð?!ð@ 	4ðA!ñ$ô $ðJHð HñK$ô $ðJHð Hð Hr   