| Server IP : 93.86.61.54 / Your IP : 216.73.216.206 Web Server : Apache/2.4.62 (Ubuntu) System : Linux rasin.ddns.net 6.8.0-124-generic #124~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Tue May 26 21:05:19 UTC x86_64 User : www-data ( 33) PHP Version : 8.4.22 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /usr/lib/python3/dist-packages/sympy/integrals/__pycache__/ |
Upload File : |
o
�8Va� � @ sd d Z ddlmZmZ ddlmZ ddlmZ ddlm Z m
Z
mZ ddlm
Z
ddlmZ ddlmZ dd lmZ dd
lmZmZ ddlmZ ddlmZ dd
lmZmZmZmZm Z m!Z!m"Z"m#Z#m$Z$m%Z%m&Z& ddlm'Z'm(Z(m)Z)m*Z* ddl+m,Z,m-Z- ddl.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5 ddl6m7Z7 ddl8m9Z9 ddl:m;Z; dd� Z<G dd� d�Z=dd� Z>G dd� d�Z?G dd� de@�ZAdd� ZBd d!�d"d#�ZCd$d%� ZDdTd&d'�ZEd(d)� ZFdUd+d,�ZGdVd-d.�ZHd/d0� ZId1d2� ZJd3d4� ZKd5d6� ZLdWd7d8�ZMdWd9d:�ZNdXd<d=�ZOd>d?� ZPd@dA� ZQdBdC� ZRdWdDdE�ZSdFdG� ZTdYdIdJ�ZUdKdL� ZVdWdMdN�ZWG dOdP� dPe,�ZX Q * HdZdRdS�ZYd*S )[a
The Risch Algorithm for transcendental function integration.
The core algorithms for the Risch algorithm are here. The subproblem
algorithms are in the rde.py and prde.py files for the Risch
Differential Equation solver and the parametric problems solvers,
respectively. All important information concerning the differential extension
for an integrand is stored in a DifferentialExtension object, which in the code
is usually called DE. Throughout the code and Inside the DifferentialExtension
object, the conventions/attribute names are that the base domain is QQ and each
differential extension is x, t0, t1, ..., tn-1 = DE.t. DE.x is the variable of
integration (Dx == 1), DE.D is a list of the derivatives of
x, t1, t2, ..., tn-1 = t, DE.T is the list [x, t1, t2, ..., tn-1], DE.t is the
outer-most variable of the differential extension at the given level (the level
can be adjusted using DE.increment_level() and DE.decrement_level()),
k is the field C(x, t0, ..., tn-2), where C is the constant field. The
numerator of a fraction is denoted by a and the denominator by
d. If the fraction is named f, fa == numer(f) and fd == denom(f).
Fractions are returned as tuples (fa, fd). DE.d and DE.t are used to
represent the topmost derivation and extension variable, respectively.
The docstring of a function signifies whether an argument is in k[t], in
which case it will just return a Poly in t, or in k(t), in which case it
will return the fraction (fa, fd). Other variable names probably come
from the names used in Bronstein's book.
� )�
real_roots�default_sort_key��z)�Lambda)�ilcm�oo�I)�Mul)�Pow)�Ne)�S)�Symbol�Dummy)�ordered)�_symbols)�acos�acot�asin�atan�cos�cot�exp�log� Piecewise�sin�tan)�sinh�cosh�tanh�coth)�Integral� integrate)�gcd�cancel�PolynomialError�Poly�reduced�RootSum�DomainError)�numbered_symbols)�
GeneratorType)�reducec s� i }| D ]#}|D ]}t || �}|jr|| �||f� n q|tjfg||<