+
    i1                         ^ RI Ht ^ RIHtHt ^ RIHtHt ^ RIH	t	H
t
 ^ RIHt ^ RIHt RR lt ! R R	]4      t ! R
 R]4      t ! R R]4      tR# )    )S)DefinedFunctionArgumentIndexError)Dummyuniquely_named_symbol)gammadigamma)catalan)	conjugatec                 B    ^ RI HpHp W#8X  d	   V! ^ 4      # V! WW#V4      # )r   )betaincmpf)mpmathr   r   )abx1x2regr   r   s   &&&&&  d/var/www/html/photoedit/myenv/lib/python3.14/site-packages/sympy/functions/special/beta_functions.pybetainc_mpmath_fixr   	   s"    #	x1vqRS))    c                   j   a  ] tR t^t o RtRtR t]RR l4       tR t	R t
R tR	 tRR
 ltR tRtV tR# )betaa  
The beta integral is called the Eulerian integral of the first kind by
Legendre:

.. math::
    \mathrm{B}(x,y)  \int^{1}_{0} t^{x-1} (1-t)^{y-1} \mathrm{d}t.

Explanation
===========

The Beta function or Euler's first integral is closely associated
with the gamma function. The Beta function is often used in probability
theory and mathematical statistics. It satisfies properties like:

.. math::
    \mathrm{B}(a,1) = \frac{1}{a} \\
    \mathrm{B}(a,b) = \mathrm{B}(b,a)  \\
    \mathrm{B}(a,b) = \frac{\Gamma(a) \Gamma(b)}{\Gamma(a+b)}

Therefore for integral values of $a$ and $b$:

.. math::
    \mathrm{B} = \frac{(a-1)! (b-1)!}{(a+b-1)!}

A special case of the Beta function when `x = y` is the
Central Beta function. It satisfies properties like:

.. math::
    \mathrm{B}(x) = 2^{1 - 2x}\mathrm{B}(x, \frac{1}{2})
    \mathrm{B}(x) = 2^{1 - 2x} cos(\pi x) \mathrm{B}(\frac{1}{2} - x, x)
    \mathrm{B}(x) = \int_{0}^{1} \frac{t^x}{(1 + t)^{2x}} dt
    \mathrm{B}(x) = \frac{2}{x} \prod_{n = 1}^{\infty} \frac{n(n + 2x)}{(n + x)^2}

Examples
========

>>> from sympy import I, pi
>>> from sympy.abc import x, y

The Beta function obeys the mirror symmetry:

>>> from sympy import beta, conjugate
>>> conjugate(beta(x, y))
beta(conjugate(x), conjugate(y))

Differentiation with respect to both $x$ and $y$ is supported:

>>> from sympy import beta, diff
>>> diff(beta(x, y), x)
(polygamma(0, x) - polygamma(0, x + y))*beta(x, y)

>>> diff(beta(x, y), y)
(polygamma(0, y) - polygamma(0, x + y))*beta(x, y)

>>> diff(beta(x), x)
2*(polygamma(0, x) - polygamma(0, 2*x))*beta(x, x)

We can numerically evaluate the Beta function to
arbitrary precision for any complex numbers x and y:

>>> from sympy import beta
>>> beta(pi).evalf(40)
0.02671848900111377452242355235388489324562

>>> beta(1 + I).evalf(20)
-0.2112723729365330143 - 0.7655283165378005676*I

See Also
========

gamma: Gamma function.
uppergamma: Upper incomplete gamma function.
lowergamma: Lower incomplete gamma function.
polygamma: Polygamma function.
loggamma: Log Gamma function.
digamma: Digamma function.
trigamma: Trigamma function.

References
==========

.. [1] https://en.wikipedia.org/wiki/Beta_function
.. [2] https://mathworld.wolfram.com/BetaFunction.html
.. [3] https://dlmf.nist.gov/5.12

Tc                   V P                   w  r#V^8X  d2   \        W#4      \        V4      \        W#,           4      ,
          ,          # V^8X  d2   \        W#4      \        V4      \        W#,           4      ,
          ,          # \        W4      h   )argsr   r	   r   )selfargindexxys   &&  r   fdiff
beta.fdiffm   sb    yyq=:wqzGAEN:;;]:wqzGAEN:;;$T44r   Nc                    Vf   \        W4      # VP                  '       d0   VP                  '       d   \        WRR7      P                  4       # R # R # )NF)evaluate)r   	is_Numberdoit)clsr    r!   s   &&&r   eval	beta.evalx   s?    9:;;;1;;;u-2244 ';r   c                ^   V P                   ^ ,          ;r#\        V P                   4      ^8H  pV'       d   V P                   ^ ,          MV P                   ^,          ;rVVP                  RR4      '       d%   VP                  ! R/ VB pVP                  ! R/ VB pVP                  '       g   VP                  '       d   \
        P                  # V\
        P                  J d
   ^V,          # V\
        P                  J d
   ^V,          # WR^,           8X  d    ^W%,          \        V4      ,          ,          # W%,           pVP                  '       dC   VP                  '       d1   VP                  RJ d!   VP                  RJ d   \
        P                  # W#8X  d   WV8X  d   V'       g   V # \        W%4      # )r   deepTF )r   lengetr'   is_zeror   ComplexInfinityOner
   
is_integeris_negativeZeror   )r   hintsr    xoldsingle_argumentr!   yoldss   &,      r   r'   	beta.doit   s$   99Q<dii.A-#2499Q<		!D99VT""AA999			$$$:Q3J:Q3JA:ac'!*n%%ELLLQ]]]q||u/DLLE!66M9?KAzr   c                    V P                   w  r#\        V4      \        V4      ,          \        W#,           4      ,          # N)r   r   )r   r6   r    r!   s   &,  r   _eval_expand_funcbeta._eval_expand_func   s+    yyQxa 5<//r   c                    V P                   ^ ,          P                  ;'       d    V P                   ^,          P                  # r   )r   is_realr   s   &r   _eval_is_realbeta._eval_is_real   s,    yy|##<<		!(<(<<r   c                    V P                  V P                  ^ ,          P                  4       V P                  ^,          P                  4       4      # rA   )funcr   r   rC   s   &r   _eval_conjugatebeta._eval_conjugate   s5    yy1//1499Q<3I3I3KLLr   c                &    V P                   ! R/ VB # )Nr-   )r>   )r   r    r!   	piecewisekwargss   &&&&,r   _eval_rewrite_as_gammabeta._eval_rewrite_as_gamma   s    %%///r   c                    ^ RI Hp \        \        RW.4      P                  4      pV! WQ^,
          ,          ^V,
          V^,
          ,          ,          V^ ^34      # r   )Integraltsympy.integrals.integralsrQ   r   r   name)r   r    r!   rL   rQ   rR   s   &&&,  r   _eval_rewrite_as_Integralbeta._eval_rewrite_as_Integral   sJ    6'aV499:E
AEQU#33aAY??r   r-   r=   )T)__name__
__module____qualname____firstlineno____doc__
unbranchedr"   classmethodr)   r'   r>   rD   rH   rM   rV   __static_attributes____classdictcell____classdict__s   @r   r   r      sR     Ul J	5 5 500=M0@ @r   r   c                   P   a  ] tR t^t o Rt^tRtR tR tR t	R t
R tR tR	tV tR
# )r   a  
The Generalized Incomplete Beta function is defined as

.. math::
    \mathrm{B}_{(x_1, x_2)}(a, b) = \int_{x_1}^{x_2} t^{a - 1} (1 - t)^{b - 1} dt

The Incomplete Beta function is a special case
of the Generalized Incomplete Beta function :

.. math:: \mathrm{B}_z (a, b) = \mathrm{B}_{(0, z)}(a, b)

The Incomplete Beta function satisfies :

.. math:: \mathrm{B}_z (a, b) = (-1)^a \mathrm{B}_{\frac{z}{z - 1}} (a, 1 - a - b)

The Beta function is a special case of the Incomplete Beta function :

.. math:: \mathrm{B}(a, b) = \mathrm{B}_{1}(a, b)

Examples
========

>>> from sympy import betainc, symbols, conjugate
>>> a, b, x, x1, x2 = symbols('a b x x1 x2')

The Generalized Incomplete Beta function is given by:

>>> betainc(a, b, x1, x2)
betainc(a, b, x1, x2)

The Incomplete Beta function can be obtained as follows:

>>> betainc(a, b, 0, x)
betainc(a, b, 0, x)

The Incomplete Beta function obeys the mirror symmetry:

>>> conjugate(betainc(a, b, x1, x2))
betainc(conjugate(a), conjugate(b), conjugate(x1), conjugate(x2))

We can numerically evaluate the Incomplete Beta function to
arbitrary precision for any complex numbers a, b, x1 and x2:

>>> from sympy import betainc, I
>>> betainc(2, 3, 4, 5).evalf(10)
56.08333333
>>> betainc(0.75, 1 - 4*I, 0, 2 + 3*I).evalf(25)
0.2241657956955709603655887 + 0.3619619242700451992411724*I

The Generalized Incomplete Beta function can be expressed
in terms of the Generalized Hypergeometric function.

>>> from sympy import hyper
>>> betainc(a, b, x1, x2).rewrite(hyper)
(-x1**a*hyper((a, 1 - b), (a + 1,), x1) + x2**a*hyper((a, 1 - b), (a + 1,), x2))/a

See Also
========

beta: Beta function
hyper: Generalized Hypergeometric function

References
==========

.. [1] https://en.wikipedia.org/wiki/Beta_function#Incomplete_beta_function
.. [2] https://dlmf.nist.gov/8.17
.. [3] https://functions.wolfram.com/GammaBetaErf/Beta4/
.. [4] https://functions.wolfram.com/GammaBetaErf/BetaRegularized4/02/

Tc                    V P                   w  r#rEV^8X  d-   ^V,
          V^,
          ,          ) WB^,
          ,          ,          # V^8X  d,   ^V,
          V^,
          ,          WR^,
          ,          ,          # \        W4      h   )r   r   r   r   r   r   r   r   s   &&    r   r"   betainc.fdiff   sg    yybq=Vq1u%%bq5k11]Fa!e$Ra%[00$T44r   c                &    \         V P                  3# r=   )r   r   rC   s   &r   _eval_mpmathbetainc._eval_mpmath  s    !499,,r   c                    \         ;QJ d&    R  V P                   4       F  '       d   K   RM	  RM! R  V P                   4       4      '       d   R# R# )c              3   8   "   T F  qP                   x  K  	  R # 5ir=   rB   .0args   & r   	<genexpr>(betainc._eval_is_real.<locals>.<genexpr>       0is{{i   FTNallr   rC   s   &r   rD   betainc._eval_is_real  3    30dii03330dii000 1r   c                R    V P                   ! \        \        V P                  4      !  # r=   rG   mapr   r   rC   s   &r   rH   betainc._eval_conjugate
      yy#i344r   c           	         ^ RI Hp \        \        RWW4.4      P                  4      pV! Wq^,
          ,          ^V,
          V^,
          ,          ,          WsV34      # rP   rS   )r   r   r   r   r   rL   rQ   rR   s   &&&&&,  r   rV   !betainc._eval_rewrite_as_Integral  sJ    6'aB^<AABE
AEQU#33aR[AAr   c                    ^ RI Hp WA,          V! V^V,
          3V^,           3V4      ,          W1,          V! V^V,
          3V^,           3V4      ,          ,
          V,          # r   )hyper)sympy.functions.special.hyperr   )r   r   r   r   r   rL   r   s   &&&&&, r   _eval_rewrite_as_hyperbetainc._eval_rewrite_as_hyper  sX    7q!a%j1q5(B77"%%APQE
UVYZUZT\^`Ba:aaefffr   r-   N)rX   rY   rZ   r[   r\   nargsr]   r"   rj   rD   rH   rV   r   r_   r`   ra   s   @r   r   r      s>     FN EJ	5-5B
g gr   r   c                   b   a a ] tR tRt oRt^tRtV 3R ltR tR t	R t
R tR	 tR
 tRtVtV ;t# )betainc_regularizedi  a  
The Generalized Regularized Incomplete Beta function is given by

.. math::
    \mathrm{I}_{(x_1, x_2)}(a, b) = \frac{\mathrm{B}_{(x_1, x_2)}(a, b)}{\mathrm{B}(a, b)}

The Regularized Incomplete Beta function is a special case
of the Generalized Regularized Incomplete Beta function :

.. math:: \mathrm{I}_z (a, b) = \mathrm{I}_{(0, z)}(a, b)

The Regularized Incomplete Beta function is the cumulative distribution
function of the beta distribution.

Examples
========

>>> from sympy import betainc_regularized, symbols, conjugate
>>> a, b, x, x1, x2 = symbols('a b x x1 x2')

The Generalized Regularized Incomplete Beta
function is given by:

>>> betainc_regularized(a, b, x1, x2)
betainc_regularized(a, b, x1, x2)

The Regularized Incomplete Beta function
can be obtained as follows:

>>> betainc_regularized(a, b, 0, x)
betainc_regularized(a, b, 0, x)

The Regularized Incomplete Beta function
obeys the mirror symmetry:

>>> conjugate(betainc_regularized(a, b, x1, x2))
betainc_regularized(conjugate(a), conjugate(b), conjugate(x1), conjugate(x2))

We can numerically evaluate the Regularized Incomplete Beta function
to arbitrary precision for any complex numbers a, b, x1 and x2:

>>> from sympy import betainc_regularized, pi, E
>>> betainc_regularized(1, 2, 0, 0.25).evalf(10)
0.4375000000
>>> betainc_regularized(pi, E, 0, 1).evalf(5)
1.00000

The Generalized Regularized Incomplete Beta function can be
expressed in terms of the Generalized Hypergeometric function.

>>> from sympy import hyper
>>> betainc_regularized(a, b, x1, x2).rewrite(hyper)
(-x1**a*hyper((a, 1 - b), (a + 1,), x1) + x2**a*hyper((a, 1 - b), (a + 1,), x2))/(a*beta(a, b))

See Also
========

beta: Beta function
hyper: Generalized Hypergeometric function

References
==========

.. [1] https://en.wikipedia.org/wiki/Beta_function#Incomplete_beta_function
.. [2] https://dlmf.nist.gov/8.17
.. [3] https://functions.wolfram.com/GammaBetaErf/Beta4/
.. [4] https://functions.wolfram.com/GammaBetaErf/BetaRegularized4/02/

Tc                &   < \         SV `  WW#V4      # r=   )super__new__)r(   r   r   r   r   	__class__s   &&&&&r   r   betainc_regularized.__new__c  s    wsqb11r   c                B    \         . V P                  O\        ^4      N53# r   )r   r   r   rC   s   &r   rj    betainc_regularized._eval_mpmathf  s     !#5TYY#5!#555r   c                @   V P                   w  r#rEV^8X  d=   ^V,
          V^,
          ,          ) WB^,
          ,          ,          \        W#4      ,          # V^8X  d<   ^V,
          V^,
          ,          WR^,
          ,          ,          \        W#4      ,          # \        W4      hre   )r   r   r   rg   s   &&    r   r"   betainc_regularized.fdiffi  sy    yybq=Vq1u%%bq5k1DJ>>]Fa!e$Ra%[04:==$T44r   c                    \         ;QJ d&    R  V P                   4       F  '       d   K   RM	  RM! R  V P                   4       4      '       d   R# R# )c              3   8   "   T F  qP                   x  K  	  R # 5ir=   rn   ro   s   & r   rr   4betainc_regularized._eval_is_real.<locals>.<genexpr>u  rt   ru   FTNrv   rC   s   &r   rD   !betainc_regularized._eval_is_realt  ry   r   c                R    V P                   ! \        \        V P                  4      !  # r=   r{   rC   s   &r   rH   #betainc_regularized._eval_conjugatex  r~   r   c           	         ^ RI Hp \        \        RWW4.4      P                  4      pWq^,
          ,          ^V,
          V^,
          ,          ,          pV! WW434      p	W! W^ ^34      ,          # rP   rS   )
r   r   r   r   r   rL   rQ   rR   	integrandexprs
   &&&&&,    r   rV   -betainc_regularized._eval_rewrite_as_Integral{  sb    6'aB^<AABAJAQ//		r;/hya)444r   c                    ^ RI Hp WA,          V! V^V,
          3V^,           3V4      ,          W1,          V! V^V,
          3V^,           3V4      ,          ,
          V,          pV\        W4      ,          # r   )r   r   r   )r   r   r   r   r   rL   r   r   s   &&&&&,  r   r   *betainc_regularized._eval_rewrite_as_hyper  sf    7q!a%j1q5(B77"%%APQE
UVYZUZT\^`Ba:aaeffd1j  r   r-   )rX   rY   rZ   r[   r\   r   r]   r   rj   r"   rD   rH   rV   r   r_   r`   __classcell__)r   rb   s   @@r   r   r     s@     DJ EJ26	555! !r   r   NrA   )
sympy.corer   sympy.core.functionr   r   sympy.core.symbolr   r   'sympy.functions.special.gamma_functionsr   r	   %sympy.functions.combinatorial.numbersr
   $sympy.functions.elementary.complexesr   r   r   r   r   r-   r   r   <module>r      sL     C : B 9 :*S@? S@rggo ggZk!/ k!r   