+
    iB                         ^ RI HtHtHt ^ RIHt ^ RIHtHt ^ RI	H
t
 ^ RIHt ^ RIHtHtHtHt ^ RIHt R tR	 tR
 tR tR tR tR tR tR# )    )SDummypi)	factorial)sincos)sqrt)gamma)legendre_polylaguerre_polyhermite_polyjacobi_poly)RootOfc           	        \        R4      p\        WRR7      pVP                  V4      p. p. pVP                  4        F  p\	        V\
        4      '       d5   VP                  \        P                  ^
V^,           ,          ,          4      pVP                  VP                  V4      4       VP                  ^^V^,          ,
          VP                  W'4      ^,          ,          ,          P                  V4      4       K  	  WV3# )a'  
Computes the Gauss-Legendre quadrature [1]_ points and weights.

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

The Gauss-Legendre quadrature approximates the integral:

.. math::
    \int_{-1}^1 f(x)\,dx \approx \sum_{i=1}^n w_i f(x_i)

The nodes `x_i` of an order `n` quadrature rule are the roots of `P_n`
and the weights `w_i` are given by:

.. math::
    w_i = \frac{2}{\left(1-x_i^2\right) \left(P'_n(x_i)\right)^2}

Parameters
==========

n :
    The order of quadrature.
n_digits :
    Number of significant digits of the points and weights to return.

Returns
=======

(x, w) : the ``x`` and ``w`` are lists of points and weights as Floats.
         The points `x_i` and weights `w_i` are returned as ``(x, w)``
         tuple of lists.

Examples
========

>>> from sympy.integrals.quadrature import gauss_legendre
>>> x, w = gauss_legendre(3, 5)
>>> x
[-0.7746, 0, 0.7746]
>>> w
[0.55556, 0.88889, 0.55556]
>>> x, w = gauss_legendre(4, 5)
>>> x
[-0.86114, -0.33998, 0.33998, 0.86114]
>>> w
[0.34785, 0.65215, 0.65215, 0.34785]

See Also
========

gauss_laguerre, gauss_gen_laguerre, gauss_hermite, gauss_chebyshev_t, gauss_chebyshev_u, gauss_jacobi, gauss_lobatto

References
==========

.. [1] https://en.wikipedia.org/wiki/Gaussian_quadrature
.. [2] https://people.sc.fsu.edu/~jburkardt/cpp_src/legendre_rule/legendre_rule.html
xTpolys)r   r   diff
real_roots
isinstancer   eval_rationalr   Oneappendnsubsr   n_digitsr   ppdxiwrs   &&      z/Users/tonyclaw/.openclaw/workspace/skills/math-calculator/venv/lib/python3.14/site-packages/sympy/integrals/quadrature.pygauss_legendrer$      s    v 	c
Aa$'A	
B	B
A\\^a  b8A:&6 67A
		!##h- 	!a1fq 00144X>?	 
 5L    c           	        \        R4      p\        WRR7      p\        V ^,           VRR7      p. p. pVP                  4        F  p\        V\        4      '       d5   VP                  \        P                  ^
V^,           ,          ,          4      pVP                  VP                  V4      4       VP                  Wp^,           ^,          VP                  W'4      ^,          ,          ,          P                  V4      4       K  	  WV3# )a`  
Computes the Gauss-Laguerre quadrature [1]_ points and weights.

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

The Gauss-Laguerre quadrature approximates the integral:

.. math::
    \int_0^{\infty} e^{-x} f(x)\,dx \approx \sum_{i=1}^n w_i f(x_i)


The nodes `x_i` of an order `n` quadrature rule are the roots of `L_n`
and the weights `w_i` are given by:

.. math::
    w_i = \frac{x_i}{(n+1)^2 \left(L_{n+1}(x_i)\right)^2}

Parameters
==========

n :
    The order of quadrature.
n_digits :
    Number of significant digits of the points and weights to return.

Returns
=======

(x, w) : The ``x`` and ``w`` are lists of points and weights as Floats.
         The points `x_i` and weights `w_i` are returned as ``(x, w)``
         tuple of lists.

Examples
========

>>> from sympy.integrals.quadrature import gauss_laguerre
>>> x, w = gauss_laguerre(3, 5)
>>> x
[0.41577, 2.2943, 6.2899]
>>> w
[0.71109, 0.27852, 0.010389]
>>> x, w = gauss_laguerre(6, 5)
>>> x
[0.22285, 1.1889, 2.9927, 5.7751, 9.8375, 15.983]
>>> w
[0.45896, 0.417, 0.11337, 0.010399, 0.00026102, 8.9855e-7]

See Also
========

gauss_legendre, gauss_gen_laguerre, gauss_hermite, gauss_chebyshev_t, gauss_chebyshev_u, gauss_jacobi, gauss_lobatto

References
==========

.. [1] https://en.wikipedia.org/wiki/Gauss%E2%80%93Laguerre_quadrature
.. [2] https://people.sc.fsu.edu/~jburkardt/cpp_src/laguerre_rule/laguerre_rule.html
r   Tr   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   p1r    r!   r"   s   &&      r#   gauss_laguerrer)   S   s    x 	c
Aa$'A	qsAT	*B	B
A\\^a  b8A:&6 67A
		!##h- 	!cAXq 00144X>?	 
 5Lr%   c           	     f   \        R4      p\        WRR7      p\        V ^,
          VRR7      p. p. pVP                  4        F  p\        V\        4      '       d5   VP                  \        P                  ^
V^,           ,          ,          4      pVP                  VP                  V4      4       VP                  ^V ^,
          ,          \        V 4      ,          \        \        4      ,          V ^,          VP                  W'4      ^,          ,          ,          P                  V4      4       K  	  WV3# )a  
Computes the Gauss-Hermite quadrature [1]_ points and weights.

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

The Gauss-Hermite quadrature approximates the integral:

.. math::
    \int_{-\infty}^{\infty} e^{-x^2} f(x)\,dx \approx
        \sum_{i=1}^n w_i f(x_i)

The nodes `x_i` of an order `n` quadrature rule are the roots of `H_n`
and the weights `w_i` are given by:

.. math::
    w_i = \frac{2^{n-1} n! \sqrt{\pi}}{n^2 \left(H_{n-1}(x_i)\right)^2}

Parameters
==========

n :
    The order of quadrature.
n_digits :
    Number of significant digits of the points and weights to return.

Returns
=======

(x, w) : The ``x`` and ``w`` are lists of points and weights as Floats.
         The points `x_i` and weights `w_i` are returned as ``(x, w)``
         tuple of lists.

Examples
========

>>> from sympy.integrals.quadrature import gauss_hermite
>>> x, w = gauss_hermite(3, 5)
>>> x
[-1.2247, 0, 1.2247]
>>> w
[0.29541, 1.1816, 0.29541]

>>> x, w = gauss_hermite(6, 5)
>>> x
[-2.3506, -1.3358, -0.43608, 0.43608, 1.3358, 2.3506]
>>> w
[0.00453, 0.15707, 0.72463, 0.72463, 0.15707, 0.00453]

See Also
========

gauss_legendre, gauss_laguerre, gauss_gen_laguerre, gauss_chebyshev_t, gauss_chebyshev_u, gauss_jacobi, gauss_lobatto

References
==========

.. [1] https://en.wikipedia.org/wiki/Gauss-Hermite_Quadrature
.. [2] https://people.sc.fsu.edu/~jburkardt/cpp_src/hermite_rule/hermite_rule.html
.. [3] https://people.sc.fsu.edu/~jburkardt/cpp_src/gen_hermite_rule/gen_hermite_rule.html
r   Tr   )r   r   r   r   r   r   r   r   r   r   r   r	   r   r   r'   s   &&      r#   gauss_hermiter+      s    | 	c
AQ&A	ac1D	)B	B
A\\^a  b8A:&6 67A
		!##h- 	1qs8il*T"X5Q$))+,-AhK	9	  5Lr%   c           	        \        R4      p\        WVRR7      p\        V ^,
          W1RR7      p\        V ^,
          W1^,           RR7      p. p. pVP                  4        F  p	\        V	\        4      '       d5   V	P                  \        P                  ^
V^,           ,          ,          4      p	VP                  V	P                  V4      4       VP                  \        W,           4      V \        V 4      ,          VP                  W94      ,          VP                  W94      ,          ,          P                  V4      4       K  	  Wx3# )a  
Computes the generalized Gauss-Laguerre quadrature [1]_ points and weights.

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

The generalized Gauss-Laguerre quadrature approximates the integral:

.. math::
    \int_{0}^\infty x^{\alpha} e^{-x} f(x)\,dx \approx
        \sum_{i=1}^n w_i f(x_i)

The nodes `x_i` of an order `n` quadrature rule are the roots of
`L^{\alpha}_n` and the weights `w_i` are given by:

.. math::
    w_i = \frac{\Gamma(\alpha+n)}
            {n \Gamma(n) L^{\alpha}_{n-1}(x_i) L^{\alpha+1}_{n-1}(x_i)}

Parameters
==========

n :
    The order of quadrature.

alpha :
    The exponent of the singularity, `\alpha > -1`.

n_digits :
    Number of significant digits of the points and weights to return.

Returns
=======

(x, w) : the ``x`` and ``w`` are lists of points and weights as Floats.
         The points `x_i` and weights `w_i` are returned as ``(x, w)``
         tuple of lists.

Examples
========

>>> from sympy import S
>>> from sympy.integrals.quadrature import gauss_gen_laguerre
>>> x, w = gauss_gen_laguerre(3, -S.Half, 5)
>>> x
[0.19016, 1.7845, 5.5253]
>>> w
[1.4493, 0.31413, 0.00906]

>>> x, w = gauss_gen_laguerre(4, 3*S.Half, 5)
>>> x
[0.97851, 2.9904, 6.3193, 11.712]
>>> w
[0.53087, 0.67721, 0.11895, 0.0023152]

See Also
========

gauss_legendre, gauss_laguerre, gauss_hermite, gauss_chebyshev_t, gauss_chebyshev_u, gauss_jacobi, gauss_lobatto

References
==========

.. [1] https://en.wikipedia.org/wiki/Gauss%E2%80%93Laguerre_quadrature
.. [2] https://people.sc.fsu.edu/~jburkardt/cpp_src/gen_laguerre_rule/gen_laguerre_rule.html
r   T)alphar   )r   r   r   r   r   r   r   r   r   r   r
   r   )
r   r-   r   r   r   r(   p2r    r!   r"   s
   &&&       r#   gauss_gen_laguerrer/      s    F 	c
Aa%t4A	qsA$	7B	qsA1WD	9B	B
A\\^a  b8A:&6 67A
		!##h- 	%.E!H*RWWQ]*2771=8:;<1X;	H	  5Lr%   c                ~   . p. p\        ^V ^,           4       F  pVP                  \        ^V,          \        P                  ,
          ^V ,          ,          \        P
                  ,          4      P                  V4      4       VP                  \        P
                  V ,          P                  V4      4       K  	  W#3# )a}  
Computes the Gauss-Chebyshev quadrature [1]_ points and weights of
the first kind.

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

The Gauss-Chebyshev quadrature of the first kind approximates the integral:

.. math::
    \int_{-1}^{1} \frac{1}{\sqrt{1-x^2}} f(x)\,dx \approx
        \sum_{i=1}^n w_i f(x_i)

The nodes `x_i` of an order `n` quadrature rule are the roots of `T_n`
and the weights `w_i` are given by:

.. math::
    w_i = \frac{\pi}{n}

Parameters
==========

n :
    The order of quadrature.

n_digits :
    Number of significant digits of the points and weights to return.

Returns
=======

(x, w) : the ``x`` and ``w`` are lists of points and weights as Floats.
         The points `x_i` and weights `w_i` are returned as ``(x, w)``
         tuple of lists.

Examples
========

>>> from sympy.integrals.quadrature import gauss_chebyshev_t
>>> x, w = gauss_chebyshev_t(3, 5)
>>> x
[0.86602, 0, -0.86602]
>>> w
[1.0472, 1.0472, 1.0472]

>>> x, w = gauss_chebyshev_t(6, 5)
>>> x
[0.96593, 0.70711, 0.25882, -0.25882, -0.70711, -0.96593]
>>> w
[0.5236, 0.5236, 0.5236, 0.5236, 0.5236, 0.5236]

See Also
========

gauss_legendre, gauss_laguerre, gauss_hermite, gauss_gen_laguerre, gauss_chebyshev_u, gauss_jacobi, gauss_lobatto

References
==========

.. [1] https://en.wikipedia.org/wiki/Chebyshev%E2%80%93Gauss_quadrature
.. [2] https://people.sc.fsu.edu/~jburkardt/cpp_src/chebyshev1_rule/chebyshev1_rule.html
)ranger   r   r   r   Pir   r   r   r    r!   is   &&   r#   gauss_chebyshev_tr5   :  s    ~ 
B
A1ac]
		3!AEE	AaC(-.11(;<	!$$q&H%&  5Lr%   c           	        . p. p\        ^V ^,           4       F  pVP                  \        W@\        P                  ,           ,          \        P
                  ,          4      P                  V4      4       VP                  \        P
                  V \        P                  ,           ,          \        V\        P
                  ,          V \        P                  ,           ,          4      ^,          ,          P                  V4      4       K  	  W#3# )a  
Computes the Gauss-Chebyshev quadrature [1]_ points and weights of
the second kind.

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

The Gauss-Chebyshev quadrature of the second kind approximates the
integral:

.. math::
    \int_{-1}^{1} \sqrt{1-x^2} f(x)\,dx \approx \sum_{i=1}^n w_i f(x_i)

The nodes `x_i` of an order `n` quadrature rule are the roots of `U_n`
and the weights `w_i` are given by:

.. math::
    w_i = \frac{\pi}{n+1} \sin^2 \left(\frac{i}{n+1}\pi\right)

Parameters
==========

n : the order of quadrature

n_digits : number of significant digits of the points and weights to return

Returns
=======

(x, w) : the ``x`` and ``w`` are lists of points and weights as Floats.
         The points `x_i` and weights `w_i` are returned as ``(x, w)``
         tuple of lists.

Examples
========

>>> from sympy.integrals.quadrature import gauss_chebyshev_u
>>> x, w = gauss_chebyshev_u(3, 5)
>>> x
[0.70711, 0, -0.70711]
>>> w
[0.3927, 0.7854, 0.3927]

>>> x, w = gauss_chebyshev_u(6, 5)
>>> x
[0.90097, 0.62349, 0.22252, -0.22252, -0.62349, -0.90097]
>>> w
[0.084489, 0.27433, 0.42658, 0.42658, 0.27433, 0.084489]

See Also
========

gauss_legendre, gauss_laguerre, gauss_hermite, gauss_gen_laguerre, gauss_chebyshev_t, gauss_jacobi, gauss_lobatto

References
==========

.. [1] https://en.wikipedia.org/wiki/Chebyshev%E2%80%93Gauss_quadrature
.. [2] https://people.sc.fsu.edu/~jburkardt/cpp_src/chebyshev2_rule/chebyshev2_rule.html
)r1   r   r   r   r   r2   r   r   r3   s   &&   r#   gauss_chebyshev_ur7     s    z 
B
A1ac]
		3qAEE'{144'(++H56	!$$!%%.QqttVQquuW%5!6!99<<XFG  5Lr%   c           	        \        R4      p\        WW$RR7      pVP                  V4      p\        V ^,           WVRR7      p. p. p	VP                  4        EF  p
\	        V
\
        4      '       d5   V
P                  \        P                  ^
V^,           ,          ,          4      p
VP                  V
P                  V4      4       V	P                  ^V ,          V,           V,           ^,           ) W,           V,           \        P                  ,           ,          \        W,           ^,           4      \        W,           ^,           4      ,          ,          \        W,           V,           \        P                  ,           4      \        V ^,           4      ,          ,          ^W,           ,          ,          VP                  WJ4      VP                  WJ4      ,          ,          P                  V4      4       EK  	  W3# )aG  
Computes the Gauss-Jacobi quadrature [1]_ points and weights.

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

The Gauss-Jacobi quadrature of the first kind approximates the integral:

.. math::
    \int_{-1}^1 (1-x)^\alpha (1+x)^\beta f(x)\,dx \approx
        \sum_{i=1}^n w_i f(x_i)

The nodes `x_i` of an order `n` quadrature rule are the roots of
`P^{(\alpha,\beta)}_n` and the weights `w_i` are given by:

.. math::
    w_i = -\frac{2n+\alpha+\beta+2}{n+\alpha+\beta+1}
          \frac{\Gamma(n+\alpha+1)\Gamma(n+\beta+1)}
          {\Gamma(n+\alpha+\beta+1)(n+1)!}
          \frac{2^{\alpha+\beta}}{P'_n(x_i)
          P^{(\alpha,\beta)}_{n+1}(x_i)}

Parameters
==========

n : the order of quadrature

alpha : the first parameter of the Jacobi Polynomial, `\alpha > -1`

beta : the second parameter of the Jacobi Polynomial, `\beta > -1`

n_digits : number of significant digits of the points and weights to return

Returns
=======

(x, w) : the ``x`` and ``w`` are lists of points and weights as Floats.
         The points `x_i` and weights `w_i` are returned as ``(x, w)``
         tuple of lists.

Examples
========

>>> from sympy import S
>>> from sympy.integrals.quadrature import gauss_jacobi
>>> x, w = gauss_jacobi(3, S.Half, -S.Half, 5)
>>> x
[-0.90097, -0.22252, 0.62349]
>>> w
[1.7063, 1.0973, 0.33795]

>>> x, w = gauss_jacobi(6, 1, 1, 5)
>>> x
[-0.87174, -0.5917, -0.2093, 0.2093, 0.5917, 0.87174]
>>> w
[0.050584, 0.22169, 0.39439, 0.39439, 0.22169, 0.050584]

See Also
========

gauss_legendre, gauss_laguerre, gauss_hermite, gauss_gen_laguerre,
gauss_chebyshev_t, gauss_chebyshev_u, gauss_lobatto

References
==========

.. [1] https://en.wikipedia.org/wiki/Gauss%E2%80%93Jacobi_quadrature
.. [2] https://people.sc.fsu.edu/~jburkardt/cpp_src/jacobi_rule/jacobi_rule.html
.. [3] https://people.sc.fsu.edu/~jburkardt/cpp_src/gegenbauer_rule/gegenbauer_rule.html
r   Tr   )r   r   r   r   r   r   r   r   r   r   r   r
   r   )r   r-   betar   r   r   r   pnr    r!   r"   s   &&&&       r#   gauss_jacobir;     s`   N 	c
AAdT2A	
B	QqS%q	5B	B
A\\^a  b8A:&6 67A
		!##h- 	s5y~a AGDL$671719eAF1Ho-/174<%&uQqSz13 
O  "wwq}rwwq}<> @Aq{		L	  5Lr%   c           	     R   \        R4      p\        V ^,
          VRR7      pVP                  V4      p. p. pVP                  4        F  p\	        V\
        4      '       d5   VP                  \        P                  ^
V^,           ,          ,          4      pVP                  VP                  V4      4       VP                  ^W ^,
          ,          VP                  W'4      ^,          ,          ,          P                  V4      4       K  	  VP                  ^ R4       VP                  ^4       VP                  ^ \        ^4      W ^,
          ,          ,          P                  V4      4       VP                  \        ^4      W ^,
          ,          ,          P                  V4      4       WV3# )ae  
Computes the Gauss-Lobatto quadrature [1]_ points and weights.

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

The Gauss-Lobatto quadrature approximates the integral:

.. math::
    \int_{-1}^1 f(x)\,dx \approx \sum_{i=1}^n w_i f(x_i)

The nodes `x_i` of an order `n` quadrature rule are the roots of `P'_(n-1)`
and the weights `w_i` are given by:

.. math::
    &w_i = \frac{2}{n(n-1) \left[P_{n-1}(x_i)\right]^2},\quad x\neq\pm 1\\
    &w_i = \frac{2}{n(n-1)},\quad x=\pm 1

Parameters
==========

n : the order of quadrature

n_digits : number of significant digits of the points and weights to return

Returns
=======

(x, w) : the ``x`` and ``w`` are lists of points and weights as Floats.
         The points `x_i` and weights `w_i` are returned as ``(x, w)``
         tuple of lists.

Examples
========

>>> from sympy.integrals.quadrature import gauss_lobatto
>>> x, w = gauss_lobatto(3, 5)
>>> x
[-1, 0, 1]
>>> w
[0.33333, 1.3333, 0.33333]
>>> x, w = gauss_lobatto(4, 5)
>>> x
[-1, -0.44721, 0.44721, 1]
>>> w
[0.16667, 0.83333, 0.83333, 0.16667]

See Also
========

gauss_legendre,gauss_laguerre, gauss_gen_laguerre, gauss_hermite, gauss_chebyshev_t, gauss_chebyshev_u, gauss_jacobi

References
==========

.. [1] https://en.wikipedia.org/wiki/Gaussian_quadrature#Gauss.E2.80.93Lobatto_rules
.. [2] https://web.archive.org/web/20200118141346/http://people.math.sfu.ca/~cbm/aands/page_888.htm
r   Tr   )r   r   r   r   r   r   r   r   r   r   r   r   insertr   s   &&      r#   gauss_lobattor?     s)   v 	c
Aac1D)A	
B	B
A]]_a  b8A:&6 67A
		!##h- 	!Q!Wqvva|Q./228<=	  IIaIIaLHHQ1qA#w""8,-HHadAsGn)*5Lr%   N)
sympy.corer   r   r   (sympy.functions.combinatorial.factorialsr   (sympy.functions.elementary.trigonometricr   r   (sympy.functions.elementary.miscellaneousr	   'sympy.functions.special.gamma_functionsr
   sympy.polys.orthopolysr   r   r   r   sympy.polys.rootoftoolsr   r$   r)   r+   r/   r5   r7   r;   r?    r%   r#   <module>rH      s[    # # > = 9 9? ? *EPFRIXOdDNBJVrJr%   