You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
138 lines
9.2 KiB
138 lines
9.2 KiB
"""
|
|
This code is automatically generated. Never edit it manually.
|
|
For details of generating the code see `rubi_parsing_guide.md` in `parsetools`.
|
|
"""
|
|
|
|
from sympy.external import import_module
|
|
matchpy = import_module("matchpy")
|
|
|
|
if matchpy:
|
|
from matchpy import Pattern, ReplacementRule, CustomConstraint, is_match
|
|
from sympy.integrals.rubi.utility_function import (
|
|
Int, Sum, Set, With, Module, Scan, MapAnd, FalseQ,
|
|
ZeroQ, NegativeQ, NonzeroQ, FreeQ, NFreeQ, List, Log, PositiveQ,
|
|
PositiveIntegerQ, NegativeIntegerQ, IntegerQ, IntegersQ,
|
|
ComplexNumberQ, PureComplexNumberQ, RealNumericQ, PositiveOrZeroQ,
|
|
NegativeOrZeroQ, FractionOrNegativeQ, NegQ, Equal, Unequal, IntPart,
|
|
FracPart, RationalQ, ProductQ, SumQ, NonsumQ, Subst, First, Rest,
|
|
SqrtNumberQ, SqrtNumberSumQ, LinearQ, Sqrt, ArcCosh, Coefficient,
|
|
Denominator, Hypergeometric2F1, Not, Simplify, FractionalPart,
|
|
IntegerPart, AppellF1, EllipticPi, EllipticE, EllipticF, ArcTan,
|
|
ArcCot, ArcCoth, ArcTanh, ArcSin, ArcSinh, ArcCos, ArcCsc, ArcSec,
|
|
ArcCsch, ArcSech, Sinh, Tanh, Cosh, Sech, Csch, Coth, LessEqual, Less,
|
|
Greater, GreaterEqual, FractionQ, IntLinearcQ, Expand, IndependentQ,
|
|
PowerQ, IntegerPowerQ, PositiveIntegerPowerQ, FractionalPowerQ, AtomQ,
|
|
ExpQ, LogQ, Head, MemberQ, TrigQ, SinQ, CosQ, TanQ, CotQ, SecQ, CscQ,
|
|
Sin, Cos, Tan, Cot, Sec, Csc, HyperbolicQ, SinhQ, CoshQ, TanhQ, CothQ,
|
|
SechQ, CschQ, InverseTrigQ, SinCosQ, SinhCoshQ, LeafCount, Numerator,
|
|
NumberQ, NumericQ, Length, ListQ, Im, Re, InverseHyperbolicQ,
|
|
InverseFunctionQ, TrigHyperbolicFreeQ, InverseFunctionFreeQ, RealQ,
|
|
EqQ, FractionalPowerFreeQ, ComplexFreeQ, PolynomialQ, FactorSquareFree,
|
|
PowerOfLinearQ, Exponent, QuadraticQ, LinearPairQ, BinomialParts,
|
|
TrinomialParts, PolyQ, EvenQ, OddQ, PerfectSquareQ, NiceSqrtAuxQ,
|
|
NiceSqrtQ, Together, PosAux, PosQ, CoefficientList, ReplaceAll,
|
|
ExpandLinearProduct, GCD, ContentFactor, NumericFactor,
|
|
NonnumericFactors, MakeAssocList, GensymSubst, KernelSubst,
|
|
ExpandExpression, Apart, SmartApart, MatchQ,
|
|
PolynomialQuotientRemainder, FreeFactors, NonfreeFactors,
|
|
RemoveContentAux, RemoveContent, FreeTerms, NonfreeTerms,
|
|
ExpandAlgebraicFunction, CollectReciprocals, ExpandCleanup,
|
|
AlgebraicFunctionQ, Coeff, LeadTerm, RemainingTerms, LeadFactor,
|
|
RemainingFactors, LeadBase, LeadDegree, Numer, Denom, hypergeom, Expon,
|
|
MergeMonomials, PolynomialDivide, BinomialQ, TrinomialQ,
|
|
GeneralizedBinomialQ, GeneralizedTrinomialQ, FactorSquareFreeList,
|
|
PerfectPowerTest, SquareFreeFactorTest, RationalFunctionQ,
|
|
RationalFunctionFactors, NonrationalFunctionFactors, Reverse,
|
|
RationalFunctionExponents, RationalFunctionExpand, ExpandIntegrand,
|
|
SimplerQ, SimplerSqrtQ, SumSimplerQ, BinomialDegree, TrinomialDegree,
|
|
CancelCommonFactors, SimplerIntegrandQ, GeneralizedBinomialDegree,
|
|
GeneralizedBinomialParts, GeneralizedTrinomialDegree,
|
|
GeneralizedTrinomialParts, MonomialQ, MonomialSumQ,
|
|
MinimumMonomialExponent, MonomialExponent, LinearMatchQ,
|
|
PowerOfLinearMatchQ, QuadraticMatchQ, CubicMatchQ, BinomialMatchQ,
|
|
TrinomialMatchQ, GeneralizedBinomialMatchQ, GeneralizedTrinomialMatchQ,
|
|
QuotientOfLinearsMatchQ, PolynomialTermQ, PolynomialTerms,
|
|
NonpolynomialTerms, PseudoBinomialParts, NormalizePseudoBinomial,
|
|
PseudoBinomialPairQ, PseudoBinomialQ, PolynomialGCD, PolyGCD,
|
|
AlgebraicFunctionFactors, NonalgebraicFunctionFactors,
|
|
QuotientOfLinearsP, QuotientOfLinearsParts, QuotientOfLinearsQ,
|
|
Flatten, Sort, AbsurdNumberQ, AbsurdNumberFactors,
|
|
NonabsurdNumberFactors, SumSimplerAuxQ, Prepend, Drop,
|
|
CombineExponents, FactorInteger, FactorAbsurdNumber,
|
|
SubstForInverseFunction, SubstForFractionalPower,
|
|
SubstForFractionalPowerOfQuotientOfLinears,
|
|
FractionalPowerOfQuotientOfLinears, SubstForFractionalPowerQ,
|
|
SubstForFractionalPowerAuxQ, FractionalPowerOfSquareQ,
|
|
FractionalPowerSubexpressionQ, Apply, FactorNumericGcd,
|
|
MergeableFactorQ, MergeFactor, MergeFactors, TrigSimplifyQ,
|
|
TrigSimplify, TrigSimplifyRecur, Order, FactorOrder, Smallest,
|
|
OrderedQ, MinimumDegree, PositiveFactors, Sign, NonpositiveFactors,
|
|
PolynomialInAuxQ, PolynomialInQ, ExponentInAux, ExponentIn,
|
|
PolynomialInSubstAux, PolynomialInSubst, Distrib, DistributeDegree,
|
|
FunctionOfPower, DivideDegreesOfFactors, MonomialFactor, FullSimplify,
|
|
FunctionOfLinearSubst, FunctionOfLinear, NormalizeIntegrand,
|
|
NormalizeIntegrandAux, NormalizeIntegrandFactor,
|
|
NormalizeIntegrandFactorBase, NormalizeTogether,
|
|
NormalizeLeadTermSigns, AbsorbMinusSign, NormalizeSumFactors,
|
|
SignOfFactor, NormalizePowerOfLinear, SimplifyIntegrand, SimplifyTerm,
|
|
TogetherSimplify, SmartSimplify, SubstForExpn, ExpandToSum, UnifySum,
|
|
UnifyTerms, UnifyTerm, CalculusQ, FunctionOfInverseLinear,
|
|
PureFunctionOfSinhQ, PureFunctionOfTanhQ, PureFunctionOfCoshQ,
|
|
IntegerQuotientQ, OddQuotientQ, EvenQuotientQ, FindTrigFactor,
|
|
FunctionOfSinhQ, FunctionOfCoshQ, OddHyperbolicPowerQ, FunctionOfTanhQ,
|
|
FunctionOfTanhWeight, FunctionOfHyperbolicQ, SmartNumerator,
|
|
SmartDenominator, SubstForAux, ActivateTrig, ExpandTrig, TrigExpand,
|
|
SubstForTrig, SubstForHyperbolic, InertTrigFreeQ, LCM,
|
|
SubstForFractionalPowerOfLinear, FractionalPowerOfLinear,
|
|
InverseFunctionOfLinear, InertTrigQ, InertReciprocalQ, DeactivateTrig,
|
|
FixInertTrigFunction, DeactivateTrigAux, PowerOfInertTrigSumQ,
|
|
PiecewiseLinearQ, KnownTrigIntegrandQ, KnownSineIntegrandQ,
|
|
KnownTangentIntegrandQ, KnownCotangentIntegrandQ,
|
|
KnownSecantIntegrandQ, TryPureTanSubst, TryTanhSubst, TryPureTanhSubst,
|
|
AbsurdNumberGCD, AbsurdNumberGCDList, ExpandTrigExpand,
|
|
ExpandTrigReduce, ExpandTrigReduceAux, NormalizeTrig, TrigToExp,
|
|
ExpandTrigToExp, TrigReduce, FunctionOfTrig, AlgebraicTrigFunctionQ,
|
|
FunctionOfHyperbolic, FunctionOfQ, FunctionOfExpnQ, PureFunctionOfSinQ,
|
|
PureFunctionOfCosQ, PureFunctionOfTanQ, PureFunctionOfCotQ,
|
|
FunctionOfCosQ, FunctionOfSinQ, OddTrigPowerQ, FunctionOfTanQ,
|
|
FunctionOfTanWeight, FunctionOfTrigQ, FunctionOfDensePolynomialsQ,
|
|
FunctionOfLog, PowerVariableExpn, PowerVariableDegree,
|
|
PowerVariableSubst, EulerIntegrandQ, FunctionOfSquareRootOfQuadratic,
|
|
SquareRootOfQuadraticSubst, Divides, EasyDQ, ProductOfLinearPowersQ,
|
|
Rt, NthRoot, AtomBaseQ, SumBaseQ, NegSumBaseQ, AllNegTermQ,
|
|
SomeNegTermQ, TrigSquareQ, RtAux, TrigSquare, IntSum, IntTerm, Map2,
|
|
ConstantFactor, SameQ, ReplacePart, CommonFactors,
|
|
MostMainFactorPosition, FunctionOfExponentialQ, FunctionOfExponential,
|
|
FunctionOfExponentialFunction, FunctionOfExponentialFunctionAux,
|
|
FunctionOfExponentialTest, FunctionOfExponentialTestAux, stdev,
|
|
rubi_test, If, IntQuadraticQ, IntBinomialQ, RectifyTangent,
|
|
RectifyCotangent, Inequality, Condition, Simp, SimpHelp, SplitProduct,
|
|
SplitSum, SubstFor, SubstForAux, FresnelS, FresnelC, Erfc, Erfi, Gamma,
|
|
FunctionOfTrigOfLinearQ, ElementaryFunctionQ, Complex, UnsameQ,
|
|
_SimpFixFactor, SimpFixFactor, _FixSimplify, FixSimplify,
|
|
_SimplifyAntiderivativeSum, SimplifyAntiderivativeSum,
|
|
_SimplifyAntiderivative, SimplifyAntiderivative, _TrigSimplifyAux,
|
|
TrigSimplifyAux, Cancel, Part, PolyLog, D, Dist, Sum_doit, PolynomialQuotient, Floor,
|
|
PolynomialRemainder, Factor, PolyLog, CosIntegral, SinIntegral, LogIntegral, SinhIntegral,
|
|
CoshIntegral, Rule, Erf, PolyGamma, ExpIntegralEi, ExpIntegralE, LogGamma , UtilityOperator, Factorial,
|
|
Zeta, ProductLog, DerivativeDivides, HypergeometricPFQ, IntHide, OneQ, Null, rubi_exp as exp, rubi_log as log, Discriminant,
|
|
Negative, Quotient
|
|
)
|
|
from sympy import (Integral, S, sqrt, And, Or, Integer, Float, Mod, I, Abs, simplify, Mul,
|
|
Add, Pow, sign, EulerGamma)
|
|
from sympy.integrals.rubi.symbol import WC
|
|
from sympy.core.symbol import symbols, Symbol
|
|
from sympy.functions import (sin, cos, tan, cot, csc, sec, sqrt, erf)
|
|
from sympy.functions.elementary.hyperbolic import (acosh, asinh, atanh, acoth, acsch, asech, cosh, sinh, tanh, coth, sech, csch)
|
|
from sympy.functions.elementary.trigonometric import (atan, acsc, asin, acot, acos, asec, atan2)
|
|
from sympy import pi as Pi
|
|
|
|
A_, B_, C_, F_, G_, H_, a_, b_, c_, d_, e_, f_, g_, h_, i_, j_, k_, l_, m_, n_, p_, q_, r_, t_, u_, v_, s_, w_, x_, y_, z_ = [WC(i) for i in 'ABCFGHabcdefghijklmnpqrtuvswxyz']
|
|
a1_, a2_, b1_, b2_, c1_, c2_, d1_, d2_, n1_, n2_, e1_, e2_, f1_, f2_, g1_, g2_, n1_, n2_, n3_, Pq_, Pm_, Px_, Qm_, Qr_, Qx_, jn_, mn_, non2_, RFx_, RGx_ = [WC(i) for i in ['a1', 'a2', 'b1', 'b2', 'c1', 'c2', 'd1', 'd2', 'n1', 'n2', 'e1', 'e2', 'f1', 'f2', 'g1', 'g2', 'n1', 'n2', 'n3', 'Pq', 'Pm', 'Px', 'Qm', 'Qr', 'Qx', 'jn', 'mn', 'non2', 'RFx', 'RGx']]
|
|
i, ii, Pqq, Q, R, r, C, k, u = symbols('i ii Pqq Q R r C k u')
|
|
_UseGamma = False
|
|
ShowSteps = False
|
|
StepCounter = None
|
|
|
|
|
|
def {}():
|