Ë
    âQ(hD2  ã                   óì   — d Z ddlmZmZ ddlZddlmZ ddlm	Z	m
Z
 ddlmZ 	 ddlZddlmZmZmZmZmZmZmZmZmZmZmZ ddlmZ d	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!e"dk(  r e!«        yy# e$ r Y Œ*w xY w)z¨Precompute coefficients of several series expansions
of Wright's generalized Bessel function Phi(a, b, x).

See https://dlmf.nist.gov/10.46.E1 with rho=a, beta=b, z=x.
é    )ÚArgumentParserÚRawTextHelpFormatterN)Úquad)Úminimize_scalarÚ	curve_fit)Útime)Ú
EulerGammaÚRationalÚSÚSumÚ	factorialÚgammaÚ	gammasimpÚpiÚ	polygammaÚsymbolsÚzeta)Úhornerc                  ó‚  — d} t        d«      \  }}}}g }g }g }t        ||z  t        |«      z  t        ||z  |z   «      z  |dt        j
                  f«      }t        |«      t        j                  |«      z  |z  }t        d| dz   «      D ]Þ  }	|j                  ||	«      j                  |d«      j                  «       j                  «       }
|
j                  t        d|«      d«      j                  t        d„ «      }|d|	z  z  }|j                  ||	z  t        |	«      z  «       |j                  t!        |«      «       |j                  t!        |
|z  j                  «       «      «       Œà d}|dz  }t#        g d	¢|||g«      D ]9  \  }}t        t%        |«      «      D ]  }|d
|› d|› d�t'        ||   «      z   z  }Œ Œ; |S )zATylor series expansion of Phi(a, b, x) in a=0 up to order 5.
    é   úa b x kr   é   c                   ó   — y©Nr   © ©Úargss    úe/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/scipy/special/_precompute/wright_bessel.pyú<lambda>z series_small_a.<locals>.<lambda>&   ó   � ó    éÿÿÿÿz=Tylor series expansion of Phi(a, b, x) in a=0 up to order 5.
zAPhi(a, b, x) = exp(x)/gamma(b) * sum(A[i] * X[i] * B[i], i=0..5)
)ÚAÚXÚBú
ú[ú] = )r   r   r   r   r   ÚInfinityÚsympyÚexpÚrangeÚdiffÚsubsÚsimplifyÚdoitr   ÚreplaceÚappendr   ÚzipÚlenÚstr)ÚorderÚaÚbÚxÚkr#   r$   r%   Ú
expressionÚnÚtermÚx_partÚsÚnameÚcÚis                   r   Úseries_small_arC      s¸  € ð €EÜ˜Ó#�J€A€qˆ!ˆQØ
€AØ
€AØ
€Aä�Q˜‘Tœ) A›,Ñ&¤u¨Q¨q©S°©U£|Ñ3°a¸¼A¿J¹JÐ5GÓH€JÜ�q“œ%Ÿ)™) A›,Ñ&¨Ñ3€Jô �1�e˜A‘gÓò 
3ˆØ�‰˜q !Ó$×)Ñ)¨!¨QÓ/×8Ñ8Ó:×?Ñ?ÓAˆà—)‘)œI a¨›O¨QÓ/ß‘7œ9¡oÓ6ð 	ð 	�2˜‘'Ñˆà	�‰��A‘”i “lÑ"Ô#Ø	�‰”˜“Ô Ø	�‰”˜˜f™×.Ñ.Ó0Ó1Õ2ð
3ð 	I€AØÐ	MÑM€AÜ’¨¨A¨q¨	Ó2ò 1‰ˆˆaÜ”s˜1“v“ò 	1ˆAØ�2�d�V˜1˜Q˜C˜tÐ$¤s¨1¨Q©4£yÑ0Ñ0‰Añ	1ð1ð €Hr!   c                 óš   — t        d«      }d| z  t        z
  t        j                  d|z  t	        |«      z  | |dz
  z  z  |d|dz   f«      z   S )z„Symbolic expansion of digamma(z) in z=0 to order n.

    See https://dlmf.nist.gov/5.7.E4 and with https://dlmf.nist.gov/5.5.E2
    r:   r"   r   é   )r   r	   r*   Ú	summationr   )Úzr<   r:   s      r   Ú	dg_seriesrH   7   sW   € ô
 	�‹€AØˆa‰4”*ÑÜ�‰˜˜a™¤$ q£'Ñ)¨A°°!±©HÑ4°q¸!¸Q¸q¹S°kÓBñCð Cr!   c                 óJ   — t        j                  t        ||| z   «      || «      S )z8Symbolic expansion of polygamma(k, z) in z=0 to order n.)r*   r-   rH   )r:   rG   r<   s      r   Ú	pg_seriesrJ   A   s    € ä�:‰:”i  1 Q¡3Ó'¨¨AÓ.Ð.r!   c                  ó	  ‡‡— dŠt        d«      \  } }}}t        d«      \  }}}t        |t        |t        d«      |i}g }g }	g }
g }t	        |«      t        j                  |«      z  t        ||z  t        |«      z  t	        | |z  |z   «      z  |dt        j                  f«      z  }t        d‰dz   «      D �]Q  Š|j                  | ‰«      j                  | d«      j                  «       j                  «       }|j                  t!        d|«      d«      j#                  t         d„ «      }|d‰z  z  }||z  t	        |«      z  }‰dk\  rv|j#                  t         ˆˆfd	„«      }|j%                  |d‰dz   ‰z
  ¬
«      j'                  «       j                  t!        dd«      dt        d«      z  «      j                  «       }|j)                  | ‰z  t        ‰«      z  «       |	j)                  t+        |«      «       |
j)                  |«       �ŒT t        j,                  |
d   j                  |«      |«      j/                  «       }|j1                  «        t        t3        |«      «      D ]$  }||   t        |«      z  j                  «       ||<   Œ& d}|dz  }|dz  }|dz  }|dz  }|dz  }|dz  }t5        ddg||	g«      D ];  \  }}t        t3        |«      «      D ]  }|d|› d|› d�z  }|t7        ||   «      z  }Œ! Œ= t        t3        |«      «      D ]k  }|d|› d�z  }|t7        ||   «      z  }|d|› d�z  }|t7        ||   j                  |t        |t        |t        d«      i«      j9                  d«      «      z  }Œm |dz  }|dz  }|dz  }t;        t        ‰dz
  «      D �cg c]  }||z  t        |«      z  ||dz      z  ‘Œ c}«      }||
d   j                  |«      z
  j                  «       }|d|t        d«      k(  › �z  }|d z  }t;        t        ‰dz
  «      D �cg c]  }||z  t        |«      z  ||dz      z  ‘Œ c}«      }||
d   j                  |«      z
  j                  «       }|d|t        d«      k(  › �z  }|S c c}w c c}w )!aŠ  Tylor series expansion of Phi(a, b, x) in a=0 and b=0 up to order 5.

    Be aware of cancellation of poles in b=0 of digamma(b)/Gamma(b) and
    polygamma functions.

    digamma(b)/Gamma(b) = -1 - 2*M_EG*b + O(b^2)
    digamma(b)^2/Gamma(b) = 1/b + 3*M_EG + b*(-5/12*PI^2+7/2*M_EG^2) + O(b^2)
    polygamma(1, b)/Gamma(b) = 1/b + M_EG + b*(1/12*PI^2 + 1/2*M_EG^2) + O(b^2)
    and so on.
    r   r   zM_PI M_EG M_Z3é   r   r   c                   ó   — yr   r   r   s    r   r   z(series_small_a_small_b.<locals>.<lambda>e   r    r!   r"   c                 ó*   •— t        | |‰dz   ‰z   «      S )Nr   )rJ   )r:   r9   r<   r6   s     €€r   r   z(series_small_a_small_b.<locals>.<lambda>m   s   ø€ ´9¸QÀÀ5ÈÁ7È1Á9Ó3M€ r!   )r<   rE   éþÿÿÿzDTylor series expansion of Phi(a, b, x) in a=0 and b=0 up to order 5.z9
Phi(a, b, x) = exp(x) * sum(A[i] * X[i] * B[i], i=0..5)
z	B[0] = 1
z&B[i] = sum(C[k+i-1] * b**k/k!, k=0..)
z

M_PI = piz
M_EG = EulerGammaz
M_Z3 = zeta(3)r#   r$   r&   r'   r(   z
# C[z
C[é   z/

Test if B[i] does have the assumed structure.z"
C[i] are derived from B[1] alone.z:
Test B[2] == C[1] + b*C[2] + b^2/2*C[3] + b^3/6*C[4] + ..z
test successful = z-
Test B[3] == C[2] + b*C[3] + b^2/2*C[4] + ..)r   r   r	   r   r   r*   r+   r   r   r   r)   r,   r-   r.   r/   r0   r   r1   ÚseriesÚremoveOr2   r   ÚPolyÚcoeffsÚreverser4   r3   r5   ÚevalfÚsum)r7   r8   r9   r:   ÚM_PIÚM_EGÚM_Z3Úc_subsr#   r$   r%   ÚCr;   r=   r>   Úpg_partrB   r?   r@   rA   Útestr<   r6   s                        @@r   Úseries_small_a_small_br_   F   s�  ù€ ð €EÜ˜Ó#�J€A€qˆ!ˆQÜÐ/Ó0Ñ€Dˆ$�Ü�$œ
 D¬$¨q«'°4Ð8€FØ
€AØ
€AØ
€AØ
€Aô
 �q“œ%Ÿ)™) A›,Ñ&ÜˆAˆq‰D”˜1“Ñœe A a¡C¨¡E›lÑ*¨Q°´1·:±:Ð,>Ó?ñ@€Jô �1�e˜A‘gÓó ˆØ�‰˜q !Ó$×)Ñ)¨!¨QÓ/×8Ñ8Ó:×?Ñ?ÓAˆà—)‘)œI a¨›O¨QÓ/ß‘7œ9¡oÓ6ð 	ð 	�2˜‘'Ñˆà�v‘+œe A›hÑ&ˆØ�Š6à—o‘o¤iÜ&MóOˆGà—~‘~ a¨¨e°A©g°a©i�~Ó8ß™›	ß™œY q¨!›_¨b´°a³©jÓ9ß ™›
ð ð 	
�‰��A‘”i “lÑ"Ô#Ø	�‰”˜“Ô Ø	�‰�Öð+ô0 	�
‰
�1�Q‘4—9‘9˜VÓ$ aÓ(×/Ñ/Ó1€AØ‡I�I„KÜ”3�q“6‹]ò 0ˆØ�!‘”y “|Ñ#×-Ñ-Ó/ˆˆ!Šð0ð 	O€AØÐ	FÑF€AØˆÑ€AØÐ	2Ñ2€AØˆÑ€AØÐ	Ñ€AØÐ	Ñ€AÜ˜˜S�z A q 6Ó*ò ‰ˆˆaÜ”s˜1“v“ò 	ˆAØ�2�d�V˜1˜Q˜C˜tÐ$Ñ$ˆAØ”�Q�q‘T“‰N‰Añ	ðô
 ”3�q“6‹]ò ˆØ	ˆv�a�S˜ÐÑˆØ	ŒS��1‘‹Y‰ˆØ	ˆt�A�3�dˆ^ÑˆØ	ŒS��1‘—‘˜D¤*¨d´B¸¼dÀ1»gÐFÓGß‘%˜“)óñ 	‰ð	ð Ð	<Ñ<€AØÐ	.Ñ.€AØÐ	FÑF€AÜ´E¸%À¹'³NÖC¨q��1‘”Y˜q“\Ñ! A a¨¡c¡FÓ*ÒCÓD€DØ�1�Q‘4—9‘9˜VÓ$Ñ$×.Ñ.Ó0€DØÐ ¤a¨£d¡
˜|Ð	,Ñ,€AØÐ	9Ñ9€AÜ´E¸%À¹'³NÖC¨q��1‘”Y˜q“\Ñ! A a¨¡c¡FÓ*ÒCÓD€DØ�1�Q‘4—9‘9˜VÓ$Ñ$×.Ñ.Ó0€DØÐ ¤a¨£d¡
˜|Ð	,Ñ,€AØ€Hùò Dùò Ds   Î!Q<Ð!Rc            	      ó  ‡— d}  G ˆfd„dt         j                  «      Š G ˆfd„dt         j                  «      }t        d«      \  }}} |d||«      }d}|d	z  }|d
z  }|dz  }|dz  }|dz  }|dz  }|dz  }t        d| dz   «      D ]ä  } ||||«      |d|z   |z  z  z  j	                  «       }t        j
                  |«      j                  «       D �	cg c]  }	|	j                  «       ‘Œ }
}	t        j                  |
«      }
||
z  j	                  «       j                  |t         j                  «      }|j                  |dz   |i«      }|d|› d|
› d|› d�z  }|d|› dt        |«      › d�z  }Œæ ddl}|j                  d«      }|j                  d|«      }|j                  d«      }|j                  d|«      }|j!                  dd«      }|j!                  dd«      }|j                  d «      }|j                  d!|«      }|S c c}	w )"a�  Asymptotic expansion for large x.

    Phi(a, b, x) ~ Z^(1/2-b) * exp((1+a)/a * Z) * sum_k (-1)^k * C_k / Z^k
    Z = (a*x)^(1/(1+a))

    Wright (1935) lists the coefficients C_0 and C_1 (he calls them a_0 and
    a_1). With slightly different notation, Paris (2017) lists coefficients
    c_k up to order k=3.
    Paris (2017) uses ZP = (1+a)/a * Z  (ZP = Z of Paris) and
    C_k = C_0 * (-a/(1+a))^k * c_k
    é   c                   ó*   •— e Zd ZdZdZeˆ fd„«       Zy)úasymptotic_series.<locals>.gzÈHelper function g according to Wright (1935)

        g(n, rho, v) = (1 + (rho+2)/3 * v + (rho+2)*(rho+3)/(2*3) * v^2 + ...)

        Note: Wright (1935) uses square root of above definition.
        rL   c                 óò   •— |dk\  st        d«      ‚|dk(  ry ‰|dz
  ||«      t        t        |dz   |z   «      t        |dz   «      z  «      t        t        d|z   «      t        d«      z  «      z  ||z  z  z   S )Nr   zmust have n >= 0r   rE   rL   )Ú
ValueErrorr   r   )Úclsr<   ÚrhoÚvÚgs       €r   Úevalz!asymptotic_series.<locals>.g.eval¶   s„   ø€ à˜’6Ü Ð!3Ó4Ð4Ø�a’Øá˜˜1™˜c 1“~Ü¤ c¨!¡e¨A¡g£¬u°S¸±U«|Ñ ;Ó<Ü¤ a¨¡c£
¬5°«8Ñ 3Ó4ñ5Ø56¸±Tñ:ñ:ð :r!   N©Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚnargsÚclassmethodrj   ©ri   s   €r   ri   rc   ­   s!   ø„ ñ	ð ˆà	ó	:ó 
ñ	:r!   ri   c                   ó*   •— e Zd ZdZdZeˆ fd„«       Zy)ú!asymptotic_series.<locals>.coef_CzßCalculate coefficients C_m for integer m.

        C_m is the coefficient of v^(2*m) in the Taylor expansion in v=0 of
        Gamma(m+1/2)/(2*pi) * (2/(rho+1))^(m+1/2) * (1-v)^(-b)
            * g(rho, v)^(-m-1/2)
        rL   c                 ór  •— |dk\  st        d«      ‚t        d«      }d|z
  | z   ‰d|z  ||«      | t        dd«      z
  z  z  }|j                  |d|z  «      j	                  |d«      t        d|z  «      z  }|t        |t        dd«      z   «      dt        z  z  d|dz   z  |t        dd«      z   z  z  z  }|S )Nr   zmust have m >= 0rh   r   rE   )re   r   r
   r-   r.   r   r   r   )rf   Úmrg   Úbetarh   r;   Úresri   s          €r   rj   z&asymptotic_series.<locals>.coef_C.evalÊ   sÉ   ø€ à˜’6Ü Ð!3Ó4Ð4ä˜“ˆAØ˜A™# $ ™©!¨A¨a©C°°a«.¸A¸2¼hÀqÈ!»nÑ;LÑ*MÑMˆJØ—/‘/ ! Q q¡SÓ)×.Ñ.¨q°!Ó4´yÀÀ1Á³~ÑEˆCØœ˜q¤8¨A¨q£>Ñ1Ó2°a¼±dÑ;Ø˜s 1™u™I¨¬X°a¸«^Ñ);Ñ<ñ=ñ >ˆCàˆJr!   Nrk   rr   s   €r   Úcoef_Crt   Á   s!   ø„ ñ	ð ˆà	ó		ó 
ñ		r!   ry   z	xa b xap1r   z!Asymptotic expansion for large x
z.Phi(a, b, x) = Z**(1/2-b) * exp((1+a)/a * Z) 
z3               * sum((-1)**k * C[k]/Z**k, k=0..6)

zZ      = pow(a * x, 1/(1+a))
zA[k]   = pow(a, k)
zB[k]   = pow(b, k)
zAp1[k] = pow(1+a, k)

z#C[0] = 1./sqrt(2. * M_PI * Ap1[1])
r   zC[z] = C[0] / (z * Ap1[z])
z] *= z

Nzxa\*\*(\d+)zA[\1]z
b\*\*(\d+)zB[\1]Úxap1zAp1[1]Úxar7   z	(\d{10,})z\1.)r*   ÚFunctionr   r,   r/   rS   rT   ÚdenominatorÚlcmÚcollectÚfactorÚxreplacer5   ÚreÚcompileÚsubr1   )r6   ry   r{   r8   rz   ÚC0r?   rB   Úexprr9   r€   r‚   Úre_aÚre_bÚ	re_digitsri   s                  @r   Úasymptotic_seriesrŠ   Ÿ   s  ø€ ð €Eö:ŒE�N‰Nô :ö(”—‘ô ô, ˜+Ó&�K€Bˆˆ4Ù	��2�qÓ	€Bà,€AØÐ	:Ñ:€AØÐ	@Ñ@€AØÐ	)Ñ)€AØÐ	Ñ€AØÐ	Ñ€AØÐ	#Ñ#€AØÐ	/Ñ/€AÜ�1�e˜A‘gÓò *ˆÙ�q˜"˜aÓ  B¨¨"©¨q¡y¡LÑ1×;Ñ;Ó=ˆÜ+0¯:©:°dÓ+;×+BÑ+BÓ+DÖE a�!—-‘-•/ÐEˆÐEÜ—‘˜6Ó"ˆØ�v‘×'Ñ'Ó)×1Ñ1°!´U·\±\ÓBˆØ�}‰}˜b ™d D˜\Ó*ˆØ	ˆr�!��L  ¨°¨s°$Ð7Ñ7ˆØ	ˆr�!��Eœ#˜d›)˜ DÐ)Ñ)‰ð*ó Ø�:‰:�nÓ%€DØ�‰�˜1Ó€AØ�:‰:�mÓ$€DØ�‰�˜1Ó€AØ	�	‰	�&˜(Ó#€AØ	�	‰	�$˜Ó€Að —
‘
˜<Ó(€IØ�‰�f˜aÓ €AØ€Hùò# Fs   ÃHc            
      óf  ‡‡‡‡	‡
‡— d„ Š
dˆ
fd„	Šg d¢Šg d¢Šg d¢Š	t        j                  ‰‰‰	«      \  ŠŠŠ	‰j                  «       ‰j                  «       ‰	j                  «       cŠŠŠ	g } t        ‰	j                  «      D ]3  Š| j                  t        ˆˆˆˆ	ˆfd„ddd	d
i¬«      j                  «       Œ5 t        j                  | «      } ‰‰‰	| dœ}d„ }t        t        |||d   d¬«      d   «      }d}|dz  }|dz  }|dz  }|dz  }|dj                  |D �cg c]  }|d›‘Œ c}«      z  }|S c c}w )aÝ  Fit optimal choice of epsilon for integral representation.

    The integrand of
        int_0^pi P(eps, a, b, x, phi) * dphi
    can exhibit oscillatory behaviour. It stems from the cosine of P and can be
    minimized by minimizing the arc length of the argument
        f(phi) = eps * sin(phi) - x * eps^(-a) * sin(a * phi) + (1 - b) * phi
    of cos(f(phi)).
    We minimize the arc length in eps for a grid of values (a, b, x) and fit a
    parametric function to it.
    c                 ó¶   — t        j                  d| z  | «      }| t        j                  |«      z  ||z  |z  t        j                  ||z  «      z  z
  dz   |z
  S )zDerivative of f w.r.t. phi.g      ð?r   )ÚnpÚpowerÚcos)Úepsr7   r8   r9   ÚphiÚeps_as         r   Úfpz$optimal_epsilon_integral.<locals>.fp  sS   € ä—‘˜˜c™ A 2Ó&ˆØ”R—V‘V˜C“[Ñ  1 q¡5¨5¡=´2·6±6¸!¸c¹'³?Ñ#BÑBÀQÑFÈÑJÐJr!   c                 ó\   •‡ ‡‡‡— t        ˆˆˆ ˆˆfd„dt        j                  |d¬«      d   S )z˜Compute Arc length of f.

        Note that the arc length of a function f from t0 to t1 is given by
            int_t0^t1 sqrt(1 + f'(t)^2) dt
        c           
      óN   •— t        j                  d ‰‰‰‰‰| «      dz  z   «      S )Nr   rE   )r�   Úsqrt)r‘   r7   r8   r�   r“   r9   s    €€€€€r   r   z=optimal_epsilon_integral.<locals>.arclength.<locals>.<lambda>  s'   ø€ ¤§¡¨©B¨s°A°q¸!¸SÓ,AÀ1Ñ,DÑ(DÓ E€ r!   r   éd   )ÚepsrelÚlimit)r   r�   r   )r�   r7   r8   r9   r˜   r™   r“   s   ````  €r   Ú	arclengthz+optimal_epsilon_integral.<locals>.arclength	  s+   ü€ ô ×EØ”r—u‘uØ!¨ô.à./ñ1ð 	1r!   )
çü©ñÒMbP?gš™™™™™¹?g      à?gÍÌÌÌÌÌì?r   rE   é   r   é   ra   )r   r   rœ   é   é
   )r   g      ø?rE   rœ   rŸ   é   é2   r—   éÈ   iô  g     @�@g     ˆ³@g     ˆÃ@c                 ó,   •—  ‰| ‰‰   ‰‰   ‰‰   «      S ©Nr   )r�   rš   Údata_aÚdata_bÚdata_xrB   s    €€€€€r   r   z*optimal_epsilon_integral.<locals>.<lambda>  s!   ø€ ©	°#°v¸a±yÀ&ÈÁ)Ø28¸±)ó)=€ r!   )r›   iè  ÚBoundedÚxatolr›   )ÚboundsÚmethodÚoptions)r7   r8   r9   r�   c           
      ó>  — | d   }| d   }| d   }	||z  t        j                  d|z  «      z  t        j                  |dd|z   z  t        j                  |	«      z  z   |t        j                  | |z  «      z  z
  |dt        j                  ||z  «      z   z  z   «      z   S )z#Compute parametric function to fit.r7   r8   r9   g      à¿r   )r�   r+   Úlog)
ÚdataÚA0ÚA1ÚA2ÚA3ÚA4ÚA5r7   r8   r9   s
             r   Úfuncz&optimal_epsilon_integral.<locals>.func*  sž   € à�‰IˆØ�‰IˆØ�‰IˆØ�Q‘œŸ™  q¡Ó)Ñ)Ü—&‘&˜˜a 1 q¡5™k¬B¯F©F°1«IÑ5Ñ5¸¼R¿V¹VÀRÀCÈ!ÁG»_Ñ8LÑLØ ¤R§V¡V¨B°©F£^Ñ!3Ñ4ñ5ó 6ñ6ð 	7r!   r�   Útrf)r«   r   z7Fit optimal eps for integrand P via minimal arc length
zwith parametric function:
zBoptimal_eps = (A0 * b * exp(-a/2) + exp(A1 + 1 / (1 + a) * log(x)
z=              - A2 * exp(-A3 * a) + A4 / (1 + exp(A5 * a)))

z Fitted parameters A0 to A5 are:
z, z.5g)g{®Gáz„?r—   )r�   ÚmeshgridÚflattenr,   Úsizer2   r   r9   ÚarrayÚlistr   Újoin)Úbest_epsÚdfr¶   Úfunc_paramsr?   r9   rš   r¥   r¦   r§   r“   rB   s         @@@@@@r   Úoptimal_epsilon_integralrÁ   ø   sS  ý€ òKõ
1ò 5€FÚ€FÚE€FÜŸ[™[¨°¸Ó@Ñ€FˆF�FØ$Ÿn™nÓ.°·±Ó0@Ø$Ÿn™nÓ.ð €FˆF�Fà€HÜ�6—;‘;Óò 
ˆØ�‰Ü÷ =à#/Ø#,°wÀ°oôG÷ HIÁqõ		
ð
ô �x‰x˜Ó!€HàØØØñ
€Bò7ô ”y  r¨2¨e©9¸UÔCÀAÑFÓG€KàB€AØÐ	&Ñ&€AØÐ	NÑN€AØÐ	JÑJ€AØÐ	,Ñ,€AØˆ�‰¨Ö4 1�q˜�g‘JÒ4Ó	5Ñ5€AØ€Hùò 5s   ÄD.
c                  ó.  — t        «       } t        t        t        ¬«      }|j	                  dt
        g d¢d¬«       |j                  «       }d„ d„ d„ d	„ dœ} |j                  |j                  d
„ «      «        t        dt        «       | z
  dz  d›d�«       y )N)ÚdescriptionÚformatter_classÚaction)r   rE   rL   rœ   zÒchose what expansion to precompute
1 : Series for small a
2 : Series for small a and small b
3 : Asymptotic series for large x
    This may take some time (>4h).
4 : Fit optimal eps for integral representation.)ÚtypeÚchoicesÚhelpc                  ó(   — t        t        «       «      S r¤   )ÚprintrC   r   r!   r   r   zmain.<locals>.<lambda>L  s   € œœ~Ó/Ó0€ r!   c                  ó(   — t        t        «       «      S r¤   )rÊ   r_   r   r!   r   r   zmain.<locals>.<lambda>M  s   € œÔ5Ó7Ó8€ r!   c                  ó(   — t        t        «       «      S r¤   )rÊ   rŠ   r   r!   r   r   zmain.<locals>.<lambda>N  s   € œÔ0Ó2Ó3€ r!   c                  ó(   — t        t        «       «      S r¤   )rÊ   rÁ   r   r!   r   r   zmain.<locals>.<lambda>O  s   € œÔ7Ó9Ó:€ r!   c                  ó   — t        d«      S )NzInvalid input.)rÊ   r   r!   r   r   zmain.<locals>.<lambda>Q  s   € ¤EÐ*:Ó$;€ r!   r&   é<   z.1fz minutes elapsed.
)
r   r   ro   r   Úadd_argumentÚintÚ
parse_argsÚgetrÅ   rÊ   )Út0Úparserr   Úswitchs       r   Úmainr×   >  s•   € Ü	‹€BÜ¬Ü,@ôB€Fà
×Ñ˜¤s²LðPð ô ð ×ÑÓ€Dá0Ù8Ù3Ù:ñ€Fð
 =€F‡J�Jˆt�{‰{Ñ;Ó<Ô>Ü	ˆB”“˜‘˜RÑ Ð$Ð$7Ð
8Õ9r!   Ú__main__)#ro   Úargparser   r   Únumpyr�   Úscipy.integrater   Úscipy.optimizer   r   r   r*   r	   r
   r   r   r   r   r   r   r   r   r   Úsympy.polys.polyfuncsr   ÚImportErrorrC   rH   rJ   r_   rŠ   rÁ   r×   rl   r   r!   r   ú<module>rß      s’   ðñ÷
 :Û Ý  ß 5Ý ð	Û÷B÷ B÷ Bñ Bå,ò
òDCò/ò
VòrVòrCòL:ð. ˆzÒÙ…Fð øðI
 ò 	Ùð	ús   ¤$A+ Á+A3Á2A3