B
    [+                 @   s   d dl mZmZ ed eZeZeZ	e
ZeZeZd dlmZmZmZ ed\ZZZeddd\ZZZZZZeddd	Zeddd
Z eddddd\Z!Z"edddddd\Z#Z$edddddZ%dd Z&dd Z'eddd\Z(Zee(d  de e( e   e)e(e  e)e( e)e Z*eddddZ+dde+d   ee+d   e,ed  d  e)e+d  Z-de d  e)ed  eed d   e,e d  Z.ee e ee ee   dee ee   ed   Z/eddd\Z0Z1e2e0e e0 e1e1  e0e e1 e0e1   e e)e0d  e)e1d  e)e0e1 d  Z3eddd\Z4Z5ee5d  e,ed e4d   d e5d   e6d ee4 e5d   Z7eddd	Z8e,e9ee8  e d e Z:edddZ;edddZ<dd  Z=d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddgZ>d dl?m?Z? d dl@mAZA d dlBZBg ZCeDdkrxeEe>D ]~\ZFZGeA  e? ZHeeG e? eH ZHeCeHeGfg7 ZCeBjIJd eBjIK  eFeLe>d  d kr@eBjIJddeF eLe>   q@W eM  eCjNdd d x"eCD ]\ZZGeMdeeGf  qW dS )    )print_functiondivisionzfrom sympy import *)txyznu beta rhoza b c d k pT)positivek)real)negativezmu1 mu2)r	   nonzerofinitezsigma1 sigma2)r	   r   r   r   lambda)r	   r   r   c             C   s6   dt dt |d   t| | d  d |d   S )N      )sqrtZpiexp)r   muZsigma r   ?lib/python3.7/site-packages/sympy/benchmarks/bench_meijerint.pynormal   s    r   c             C   s   |t | |   S )N)r   )r   rater   r   r   exponential   s    r   z
alpha betar   )Zintegerr   r   zd1 d2znu sigmar   u)Zpolarr   c             C   sl   t | ttt tttt tdtftt tfdd}t | ttt tttt tt tftdtfdd}d S )Nr   T)Zmeijerg)	Z	integrater   r   r   r   r   mu1sigma1Zoo)exprZres1Zres2r   r   r   E4   s    r   z MT(x**nu*Heaviside(x - 1), x, s)z MT(x**nu*Heaviside(1 - x), x, s)z*MT((1-x)**(beta - 1)*Heaviside(1-x), x, s)z*MT((x-1)**(beta - 1)*Heaviside(x-1), x, s)zMT((1+x)**(-rho), x, s)zMT(abs(1-x)**(-rho), x, s)zKMT((1-x)**(beta-1)*Heaviside(1-x) + a*(x-1)**(beta-1)*Heaviside(x-1), x, s)zMT((x**a-b**a)/(x-b), x, s)z!MT((x**a-bpos**a)/(x-bpos), x, s)zMT(exp(-x), x, s)zMT(exp(-1/x), x, s)z"MT(log(x)**4*Heaviside(1-x), x, s)z"MT(log(x)**3*Heaviside(x-1), x, s)zMT(log(x + 1), x, s)zMT(log(1/x + 1), x, s)zMT(log(abs(1 - x)), x, s)zMT(log(abs(1 - 1/x)), x, s)zMT(log(x)/(x+1), x, s)zMT(log(x)**2/(x+1), x, s)zMT(log(x)/(x+1)**2, x, s)zMT(erf(sqrt(x)), x, s)zMT(besselj(a, 2*sqrt(x)), x, s)z*MT(sin(sqrt(x))*besselj(a, sqrt(x)), x, s)z*MT(cos(sqrt(x))*besselj(a, sqrt(x)), x, s)z MT(besselj(a, sqrt(x))**2, x, s)z2MT(besselj(a, sqrt(x))*besselj(-a, sqrt(x)), x, s)z5MT(besselj(a - 1, sqrt(x))*besselj(a, sqrt(x)), x, s)z1MT(besselj(a, sqrt(x))*besselj(b, sqrt(x)), x, s)z:MT(besselj(a, sqrt(x))**2 + besselj(-a, sqrt(x))**2, x, s)zMT(bessely(a, 2*sqrt(x)), x, s)z*MT(sin(sqrt(x))*bessely(a, sqrt(x)), x, s)z*MT(cos(sqrt(x))*bessely(a, sqrt(x)), x, s)z1MT(besselj(a, sqrt(x))*bessely(a, sqrt(x)), x, s)z1MT(besselj(a, sqrt(x))*bessely(b, sqrt(x)), x, s)z MT(bessely(a, sqrt(x))**2, x, s)zMT(besselk(a, 2*sqrt(x)), x, s)zEMT(besselj(a, 2*sqrt(2*sqrt(x)))*besselk(a, 2*sqrt(2*sqrt(x))), x, s)z1MT(besseli(a, sqrt(x))*besselk(a, sqrt(x)), x, s)z1MT(besseli(b, sqrt(x))*besselk(a, sqrt(x)), x, s)z#MT(exp(-x/2)*besselk(a, x/2), x, s)z>LT((t-apos)**bpos*exp(-cpos*(t-apos))*Heaviside(t-apos), t, s)zLT(t**apos, t, s)zLT(Heaviside(t), t, s)zLT(Heaviside(t - apos), t, s)zLT(1 - exp(-apos*t), t, s)zBLT((exp(2*t)-1)*exp(-bpos - t)*Heaviside(t)/2, t, s, noconds=True)zLT(exp(t), t, s)zLT(exp(2*t), t, s)zLT(exp(apos*t), t, s)zLT(log(t/apos), t, s)zLT(erf(t), t, s)zLT(sin(apos*t), t, s)zLT(cos(apos*t), t, s)z"LT(exp(-apos*t)*sin(bpos*t), t, s)z"LT(exp(-apos*t)*cos(bpos*t), t, s)z%LT(besselj(0, t), t, s, noconds=True)z%LT(besselj(1, t), t, s, noconds=True)z&FT(Heaviside(1 - abs(2*apos*x)), x, k)z2FT(Heaviside(1-abs(apos*x))*(1-abs(apos*x)), x, k)z#FT(exp(-apos*x)*Heaviside(x), x, k)z0IFT(1/(apos + 2*pi*I*x), x, posk, noconds=False)z1IFT(1/(apos + 2*pi*I*x), x, -posk, noconds=False)z!IFT(1/(apos + 2*pi*I*x), x, negk)z%FT(x*exp(-apos*x)*Heaviside(x), x, k)z/FT(exp(-apos*x)*sin(bpos*x)*Heaviside(x), x, k)zFT(exp(-apos*x**2), x, k)z-IFT(sqrt(pi/apos)*exp(-(pi*k)**2/apos), k, x)zFT(exp(-apos*abs(x)), x, k)z=integrate(normal(x, mu1, sigma1), (x, -oo, oo), meijerg=True)z?integrate(x*normal(x, mu1, sigma1), (x, -oo, oo), meijerg=True)zBintegrate(x**2*normal(x, mu1, sigma1), (x, -oo, oo), meijerg=True)zBintegrate(x**3*normal(x, mu1, sigma1), (x, -oo, oo), meijerg=True)zkintegrate(normal(x, mu1, sigma1)*normal(y, mu2, sigma2),          (x, -oo, oo), (y, -oo, oo), meijerg=True)zmintegrate(x*normal(x, mu1, sigma1)*normal(y, mu2, sigma2),          (x, -oo, oo), (y, -oo, oo), meijerg=True)zmintegrate(y*normal(x, mu1, sigma1)*normal(y, mu2, sigma2),          (x, -oo, oo), (y, -oo, oo), meijerg=True)zointegrate(x*y*normal(x, mu1, sigma1)*normal(y, mu2, sigma2),          (x, -oo, oo), (y, -oo, oo), meijerg=True)zsintegrate((x+y+1)*normal(x, mu1, sigma1)*normal(y, mu2, sigma2),          (x, -oo, oo), (y, -oo, oo), meijerg=True)z|integrate((x+y-1)*normal(x, mu1, sigma1)*normal(y, mu2, sigma2),                   (x, -oo, oo), (y, -oo, oo), meijerg=True)zvintegrate(x**2*normal(x, mu1, sigma1)*normal(y, mu2, sigma2),                (x, -oo, oo), (y, -oo, oo), meijerg=True)zpintegrate(y**2*normal(x, mu1, sigma1)*normal(y, mu2, sigma2),          (x, -oo, oo), (y, -oo, oo), meijerg=True)z9integrate(exponential(x, rate), (x, 0, oo), meijerg=True)z;integrate(x*exponential(x, rate), (x, 0, oo), meijerg=True)z>integrate(x**2*exponential(x, rate), (x, 0, oo), meijerg=True)zE(1)zE(x*y)z	E(x*y**2)zE((x+y+1)**2)zE(x+y+1)zE((x+y-1)**2)z-integrate(betadist, (x, 0, oo), meijerg=True)z/integrate(x*betadist, (x, 0, oo), meijerg=True)z2integrate(x**2*betadist, (x, 0, oo), meijerg=True)z(integrate(chi, (x, 0, oo), meijerg=True)z*integrate(x*chi, (x, 0, oo), meijerg=True)z-integrate(x**2*chi, (x, 0, oo), meijerg=True)z/integrate(chisquared, (x, 0, oo), meijerg=True)z1integrate(x*chisquared, (x, 0, oo), meijerg=True)z4integrate(x**2*chisquared, (x, 0, oo), meijerg=True)zDintegrate(((x-k)/sqrt(2*k))**3*chisquared, (x, 0, oo), meijerg=True)z*integrate(dagum, (x, 0, oo), meijerg=True)z,integrate(x*dagum, (x, 0, oo), meijerg=True)z/integrate(x**2*dagum, (x, 0, oo), meijerg=True)z&integrate(f, (x, 0, oo), meijerg=True)z(integrate(x*f, (x, 0, oo), meijerg=True)z+integrate(x**2*f, (x, 0, oo), meijerg=True)z)integrate(rice, (x, 0, oo), meijerg=True)z.integrate(laplace, (x, -oo, oo), meijerg=True)z0integrate(x*laplace, (x, -oo, oo), meijerg=True)z3integrate(x**2*laplace, (x, -oo, oo), meijerg=True)z=integrate(log(x) * x**(k-1) * exp(-x) / gamma(k), (x, 0, oo))zEintegrate(sin(z*x)*(x**2-1)**(-(y+S(1)/2)), (x, 1, oo), meijerg=True)zIintegrate(besselj(0,x)*besselj(1,x)*exp(-x**2), (x, 0, oo), meijerg=True)zKintegrate(besselj(0,x)*besselj(1,x)*besselk(0,x), (x, 0, oo), meijerg=True)z>integrate(besselj(a,x)*besselj(b,x)/x, (x,0,oo), meijerg=True)zhyperexpand(meijerg((-s - a/2 + 1, -s + a/2 + 1), (-a/2 - S(1)/2, -s + a/2 + S(3)/2), (a/2, -a/2), (-a/2 - S(1)/2, -s + a/2 + S(3)/2), 1))a  gammasimp(S('2**(2*s)*(-pi*gamma(-a + 1)*gamma(a + 1)*gamma(-a - s + 1)*gamma(-a + s - 1/2)*gamma(a - s + 3/2)*gamma(a + s + 1)/(a*(a + s)) - gamma(-a - 1/2)*gamma(-a + 1)*gamma(a + 1)*gamma(a + 3/2)*gamma(-s + 3/2)*gamma(s - 1/2)*gamma(-a + s + 1)*gamma(a - s + 1)/(a*(-a + s)))*gamma(-2*s + 1)*gamma(s + 1)/(pi*s*gamma(-a - 1/2)*gamma(a + 3/2)*gamma(-s + 1)*gamma(-s + 3/2)*gamma(s - 1/2)*gamma(-a - s + 1)*gamma(-a + s - 1/2)*gamma(a - s + 1)*gamma(a - s + 3/2))'))zmellin_transform(E1(x), x, s)z3inverse_mellin_transform(gamma(s)/s, s, x, (0, oo))z$mellin_transform(expint(a, x), x, s)zmellin_transform(Si(x), x, s)z^inverse_mellin_transform(-2**s*sqrt(pi)*gamma((s + 1)/2)/(2*s*gamma(-s/2 + 1)), s, x, (-1, 0))z#mellin_transform(Ci(sqrt(x)), x, s)zWinverse_mellin_transform(-4**s*sqrt(pi)*gamma(s)/(2*s*gamma(-s + S(1)/2)),s, u, (0, 1))zlaplace_transform(Ci(x), x, s)z%laplace_transform(expint(a, x), x, s)z%laplace_transform(expint(1, x), x, s)z%laplace_transform(expint(2, x), x, s)z3inverse_laplace_transform(-log(1 + s**2)/2/s, s, u)z-inverse_laplace_transform(log(s + 1)/s, s, x)z6inverse_laplace_transform((s - log(s + 1))/s**2, s, x)zlaplace_transform(Chi(x), x, s)zlaplace_transform(Shi(x), x, s)z>integrate(exp(-z*x)/x, (x, 1, oo), meijerg=True, conds="none")zAintegrate(exp(-z*x)/x**2, (x, 1, oo), meijerg=True, conds="none")z@integrate(exp(-z*x)/x**3, (x, 1, oo), meijerg=True,conds="none")z1integrate(-cos(x)/x, (x, tpos, oo), meijerg=True)z1integrate(-sin(x)/x, (x, tpos, oo), meijerg=True)z,integrate(sin(x)/x, (x, 0, z), meijerg=True)z-integrate(sinh(x)/x, (x, 0, z), meijerg=True)z%integrate(exp(-x)/x, x, meijerg=True)z(integrate(exp(-x)/x**2, x, meijerg=True)z$integrate(cos(u)/u, u, meijerg=True)z%integrate(cosh(u)/u, u, meijerg=True)z(integrate(expint(1, x), x, meijerg=True)z(integrate(expint(2, x), x, meijerg=True)z!integrate(Si(x), x, meijerg=True)z!integrate(Ci(u), u, meijerg=True)z"integrate(Shi(x), x, meijerg=True)z%integrate(cosint(u), u, meijerg=True)z2integrate(Si(x)*exp(-x), (x, 0, oo), meijerg=True)z8integrate(expint(1, x)*sin(x), (x, 0, oo), meijerg=True))time)clear_cacheN__main__.
   z%sc             C   s
   | d  S )Nr   r   )r   r   r   r   <lambda>   s    r"   )keyz%.2fs %s)OZ
__future__r   r   execZlaplace_transformZLTZfourier_transformZFTZmellin_transformZMTZinverse_fourier_transformZIFTZinverse_laplace_transformZILTZinverse_mellin_transformZIMTZ	sympy.abcr   r   r   ZsymbolsZnuZbetaZrhoZaposZbposZcposZdposZposkpZSymbolr   Znegkr   Zmu2r   Zsigma2r   r   r   ZalphaZgammaZbetadistZkintr   ZchiZ
chisquaredZdagumZd1Zd2r   fZnuposZsigmaposZbesseliZricer   absZlaplacer   Ztposr   Zbenchr   Zsympy.core.cacher   sysZtimings__name__	enumeratenstringZ_tstdoutwriteflushlenprintsortr   r   r   r   <module>   s  ::88X0


"