Derivation: Algebraic Simplification Rule: If P Q, Let GCD Polygcd (P (X), Q (X), X), If GCD 1, Then
Derivation: Algebraic Simplification Rule: If P Q, Let GCD Polygcd (P (X), Q (X), X), If GCD 1, Then
Derivation: Algebraic Simplification Rule: If P Q, Let GCD Polygcd (P (X), Q (X), X), If GCD 1, Then
◼
Program code:
Int[u_.*P_^p_*Q_^q_,x_Symbol] :=
Module{gcd=PolyGCD[P,Q,x]},
Intu*gcd^(p+q)*PolynomialQuotient[P,gcd,x]^p*PolynomialQuotient[Q,gcd,x]^q,x /;
NeQ[gcd,1] /;
IGtQ[p,0] && ILtQ[q,0] && PolyQ[P,x] && PolyQ[Q,x]
Int[u_.*P_*Q_^q_,x_Symbol] :=
Module{gcd=PolyGCD[P,Q,x]},
Intu*gcd^(q+1)*PolynomialQuotient[P,gcd,x]*PolynomialQuotient[Q,gcd,x]^q,x /;
NeQ[gcd,1] /;
ILtQ[q,0] && PolyQ[P,x] && PolyQ[Q,x]
Rules for integrands of the form u (a+b x+c x^2+d x^3)^p 2
p
P[x]FracPart[p] mp
u P[x] ⅆ x ⟶ ux Q[x]p ⅆ x
xm FracPart[p] Q[x]FracPart[p]
◼
Program code:
Int[u_.*P_^p_.,x_Symbol] :=
Withm=MinimumMonomialExponent[P,x],
P^FracPart[p]x^(m*FracPart[p])*Distrib[1/x^m,P]^FracPart[p]*Intu*x^(m*p)*Distrib[1/x^m,P]^p,x /;
FreeQ[p,x] && Not[IntegerQ[p]] && SumQ[P] && EveryQFunctionBinomialQ[#,x],P && Not[PolyQ[P,x,2]]
Rules for integrands of the form u (a+b x+c x^2+d x^3)^p 3
p
1: Px2 ⅆ x when p ∈ ℤ- ∧ P[x] ⩵ P1[x] P2[x] ⋯
2p 2 p 2 p
Px ⅆ x ⟶ ExpandIntegrandP1x P2x ⋯, x ⅆ x
◼
Program code:
Int[P_^p_,x_Symbol] :=
With{u=Factor[ReplaceAll[P,x→Sqrt[x]]]},
Int[ExpandIntegrand[ReplaceAll[u,x→x^2]^p,x],x] /;
NotSumQNonfreeFactors[u,x] /;
PolyQ[P,x^2] && ILtQ[p,0]
Rules for integrands of the form u (a+b x+c x^2+d x^3)^p 4
p p p
P[x] ⅆ x ⟶ P1[x] P2[x] ⋯ ⅆ x
Program code:
Int[P_^p_,x_Symbol] :=
With{u=Factor[P]},
Int[ExpandIntegrand[u^p,x],x] /;
NotSumQNonfreeFactors[u,x] /;
PolyQ[P,x] && ILtQ[p,0]
Rules for integrands of the form u (a+b x+c x^2+d x^3)^p 5
p p p
P[x] ⅆ x ⟶ P1[x] P2[x] ⋯ ⅆ x
Program code:
Int[P_^p_,x_Symbol] :=
With{u=Factor[P]},
Int[u^p,x] /;
NotSumQNonfreeFactors[u,x] /;
PolyQ[P,x] && IntegerQ[p]
Rules for integrands of the form u (a+b x+c x^2+d x^3)^p 6
p
Pn [x]p pq
Pn [x] ⅆ x ⟶ Qn1 [x] Rn2 [x]p r ⋯ ⅆ x
Qn1 [x]p q Rn2 [x]p r ⋯
◼
Program code:
(* Int[Pn_^p_,x_Symbol] :=
With{u=Factor[Pn]},
Pn^pDistributeDegree[u,p]*IntDistributeDegree[u,p],x /;
Not[SumQ[u]] /;
PolyQ[Pn,x] && Not[IntegerQ[p]] *)
Rules for integrands of the form u (a+b x+c x^2+d x^3)^p 7
2. P[x]p ⅆ x when p ∈ ℤ+
p
1: a + b x + c x2 + d x3 ⅆ x when p ∈ ℤ+ ∧ c2 - 3 b d ⩵ 0
Rule: If p ∈ ℤ+ ∧ c2 - 3 b d ⩵ 0, then
2 3 p 1 3 a c - b2 c2 x3 p
c
a + b x + c x + d x ⅆ x ⟶ p
Subst + ⅆ x, x, + x
3 c b 3d
◼
Program code:
Int[(a_.+b_.*x_+c_.*x_^2+d_.*x_^3)^p_,x_Symbol] :=
1/3^p*SubstIntSimp[(3*a*c-b^2)/c+c^2*x^3/b,x]^p,x,x,c/(3*d)+x /;
FreeQ[{a,b,c,d},x] && IGtQ[p,0] && EqQ[c^2-3*b*d,0]
2: P[x]p ⅆ x when p ∈ ℤ+
p p
P[x] ⅆ x ⟶ ExpandToSumP[x] , x ⅆ x
◼
Program code:
Int[P_^p_,x_Symbol] :=
Int[ExpandToSum[P^p,x],x] /;
PolyQ[P,x] && IGtQ[p,0]
Rules for integrands of the form u (a+b x+c x^2+d x^3)^p 8
p p
P[x] ⅆ x ⟶ ExpandIntegrandP[x] , x ⅆ x
◼
Program code:
Int[P_^p_,x_Symbol] :=
Int[ExpandIntegrand[P^p,x],x] /;
PolyQ[P,x] && IntegerQ[p] && QuadraticProductQ[Factor[P],x]
Rules for integrands of the form u (a+b x+c x^2+d x^3)^p 9
p
4. a + b x + c x2 + d x3 ⅆ x
p
1. a + b x + d x3 ⅆ x
p
1. a + b x + d x3 ⅆ x when 4 b3 + 27 a2 d ⩵ 0
p
1: a + b x + d x3 ⅆ x when 4 b3 + 27 a2 d ⩵ 0 ∧ p ∈ ℤ
3 p 1 p 2p
a + b x + d x ⅆ x ⟶ 3p (3 a - b x) (3 a + 2 b x) ⅆ x
3 a2 p
◼
Program code:
Int[(a_.+b_.*x_+d_.*x_^3)^p_,x_Symbol] :=
1/(3^(3*p)*a^(2*p))*Int[(3*a-b*x)^p*(3*a+2*b*x)^(2*p),x] /;
FreeQ[{a,b,d},x] && EqQ[4*b^3+27*a^2*d,0] && IntegerQ[p]
p
2: a + b x + d x3 ⅆ x when 4 b3 + 27 a2 d ⩵ 0 ∧ p ∉ ℤ
p
p
a + b x + d x3
3 p 2p
a + b x + d x ⅆ x ⟶ (3 a - b x) (3 a + 2 b x) ⅆ x
(3 a - b x)p (3 a + 2 b x)2 p
Program code:
Int[(a_.+b_.*x_+d_.*x_^3)^p_,x_Symbol] :=
(a+b*x+d*x^3)^p/((3*a-b*x)^p*(3*a+2*b*x)^(2*p))*Int[(3*a-b*x)^p*(3*a+2*b*x)^(2*p),x] /;
FreeQ[{a,b,d,p},x] && EqQ[4*b^3+27*a^2*d,0] && Not[IntegerQ[p]]
p
2. a + b x + d x3 ⅆ x when 4 b3 + 27 a2 d ≠ 0
p
1: a + b x + d x3 ⅆ x when 4 b3 + 27 a2 d ≠ 0 ∧ p ∈ ℤ
Rule: If 4 b3 + 27 a2 d ≠ 0 ∧ p ∈ ℤ, let r → - 9 a d2 + 3 d 4 b3 d + 27 a2 d2
1/3
, then
3 p
a + b x + d x ⅆ x ⟶
p p
1 181/3 b d r bd 121/3 b2 d2 r2 21/3 b d r
- +dx + + -d - x + d 2 x2 ⅆx
d2 p 3r 181/3 3 3 r2 3 × 121/3 31/3 r 181/3
◼
Program code:
Int[(a_.+b_.*x_+d_.*x_^3)^p_,x_Symbol] :=
With{r=Rt[-9*a*d^2+Sqrt[3]*d*Sqrt[4*b^3*d+27*a^2*d^2],3]},
1/d^(2*p)*IntSimp[18^(1/3)*b*d/(3*r)-r/18^(1/3)+d*x,x]^p*
Simp[b*d/3+12^(1/3)*b^2*d^2/(3*r^2)+r^2/(3*12^(1/3))-d*(2^(1/3)*b*d/(3^(1/3)*r)-r/18^(1/3))*x+d^2*x^2,x]^p,x /;
FreeQ[{a,b,d},x] && NeQ[4*b^3+27*a^2*d,0] && IntegerQ[p]
Rules for integrands of the form u (a+b x+c x^2+d x^3)^p 11
p
2: a + b x + d x3 ⅆ x when 4 b3 + 27 a2 d ≠ 0 ∧ p ∉ ℤ
◼
Program code:
Int[(a_.+b_.*x_+d_.*x_^3)^p_,x_Symbol] :=
With{r=Rt[-9*a*d^2+Sqrt[3]*d*Sqrt[4*b^3*d+27*a^2*d^2],3]},
(a+b*x+d*x^3)^p
Simp[18^(1/3)*b*d/(3*r)-r/18^(1/3)+d*x,x]^p*
Simp[b*d/3+12^(1/3)*b^2*d^2/(3*r^2)+r^2/(3*12^(1/3))-d*(2^(1/3)*b*d/(3^(1/3)*r)-r/18^(1/3))*x+d^2*x^2,x]^p*
IntSimp[18^(1/3)*b*d/(3*r)-r/18^(1/3)+d*x,x]^p*
Simp[b*d/3+12^(1/3)*b^2*d^2/(3*r^2)+r^2/(3*12^(1/3))-d*(2^(1/3)*b*d/(3^(1/3)*r)-r/18^(1/3))*x+d^2*x^2,x]^p,x /;
FreeQ[{a,b,d,p},x] && NeQ[4*b^3+27*a^2*d,0] && Not[IntegerQ[p]]
p
2: a + b x + c x2 + d x3 ⅆ x
p
p 2 c3 - 9 b c d + 27 a d2 c2 - 3 b d x c
2 3
a + b x + c x + d x ⅆ x ⟶ Subst - + d x3 ⅆ x, x, x +
2 3d 3d
27 d
◼
Program code:
Int[P3_^p_,x_Symbol] :=
Witha=Coeff[P3,x,0],b=Coeff[P3,x,1],c=Coeff[P3,x,2],d=Coeff[P3,x,3],
SubstIntSimp[(2*c^3-9*b*c*d+27*a*d^2)/(27*d^2)-(c^2-3*b*d)*x/(3*d)+d*x^3,x]^p,x,x,x+c/(3*d) /;
NeQ[c,0] /;
FreeQ[p,x] && PolyQ[P3,x,3]
p
5. a + b x + c x2 + d x3 + e x4 ⅆ x
p b2 b3 b4
1: a + b x + c x2 + d x3 + e x4 ⅆ x when p ∈ ℤ- ∧ a ≠ 0 ∧ c ⩵ ∧ d⩵ ∧ e⩵
a a2 a3
◼
Program code:
Int[P4_^p_,x_Symbol] :=
Witha=Coeff[P4,x,0],b=Coeff[P4,x,1],c=Coeff[P4,x,2],d=Coeff[P4,x,3],e=Coeff[P4,x,4],
1/a^(3*p)*Int[ExpandIntegrand[(a-b*x)^(-p)/(a^5-b^5*x^5)^(-p),x],x] /;
NeQ[a,0] && EqQ[c,b^2/a] && EqQ[d,b^3/a^2] && EqQ[e,b^4/a^3] /;
FreeQ[p,x] && PolyQ[P4,x,4] && ILtQ[p,0]
Rules for integrands of the form u (a+b x+c x^2+d x^3)^p 13
p
2: a + b x + c x2 + d x3 + e x4 ⅆ x when b3 - 4 a b c + 8 a2 d ⩵ 0 ∧ 2 p ∈ ℤ
Note: The substitution transforms a dense quartic polynomial into a symmetric quartic trinomial over the 4th power of a
linear.
Rule: If b3 - 4 a b c + 8 a2 d ⩵ 0 ∧ 2 p ∈ ℤ, then
2 3 4 p
a + b x + c x + d x + e x ⅆ x ⟶
p
1 a -3 b4 + 16 a b2 c - 64 a2 b d + 256 a3 e - 32 a2 3 b2 - 8 a c x2 + 256 a4 x4 b 1
-16 a2 Subst ⅆ x, x, +
2 4 4a x
(b - 4 a x) (b - 4 a x)
◼
Program code:
Int[P4_^p_,x_Symbol] :=
Witha=Coeff[P4,x,0],b=Coeff[P4,x,1],c=Coeff[P4,x,2],d=Coeff[P4,x,3],e=Coeff[P4,x,4],
-16*a^2*Subst[
Int[1/(b-4*a*x)^2*(a*(-3*b^4+16*a*b^2*c-64*a^2*b*d+256*a^3*e-32*a^2*(3*b^2-8*a*c)*x^2+256*a^4*x^4)/(b-4*a*x)^4)^p,x],
x,b/(4*a)+1/x] /;
NeQ[a,0] && NeQ[b,0] && EqQ[b^3-4*a*b*c+8*a^2*d,0] /;
FreeQ[p,x] && PolyQ[P4,x,4] && IntegerQ[2*p] && Not[IGtQ[p,0]]
Rules for integrands of the form u (a+b x+c x^2+d x^3)^p 14
p
6: a + b x2 + c x3 + d x4 + e x6 ⅆ x when p ∈ ℤ- ∧ b2 - 3 a d ⩵ 0 ∧ b3 - 27 a2 e ⩵ 0
Algebraic expansion
Basis: If b2 - 3 a d ⩵ 0 ∧ b3 - 27 a2 e ⩵ 0, then
1
a + b x 2 + c x3 + d x4 + e x6 ⩵ 3 a + 3 a2/3 c1/3 x + b x2 3 a - 3 (-1)1/3 a2/3 c1/3 x + b x2 3 a + 3 (-1)2/3 a2/3 c1/3 x + b x2
27 a2
Note: If m+1
∈ ℤ+, then c xm + a + b x2m ⩵ ∏mk=1 a + (-1)k 1-
1 1
m c m x + b x2
2
◼
Rule: If p ∈ ℤ- ∧ b2 - 3 a d ⩵ 0 ∧ b3 - 27 a2 e ⩵ 0, then
2 3 4 6 p
a + b x + c x + d x + e x ⅆ x ⟶
1 2/3 p p p
ExpandIntegrand3 a + 3 a c1/3 x + b x2 3 a - 3 (-1)1/3 a2/3 c1/3 x + b x2 3 a + 3 (-1)2/3 a2/3 c1/3 x + b x2 , x ⅆ x
33 p a2 p
◼
Program code:
Int[Q6_^p_,x_Symbol] :=
Witha=Coeff[Q6,x,0],b=Coeff[Q6,x,2],c=Coeff[Q6,x,3],d=Coeff[Q6,x,4],e=Coeff[Q6,x,6],
1/(3^(3*p)*a^(2*p))*Int[ExpandIntegrand[
(3*a+3*Rt[a,3]^2*Rt[c,3]*x+b*x^2)^p*
(3*a-3*(-1)^(1/3)*Rt[a,3]^2*Rt[c,3]*x+b*x^2)^p*
(3*a+3*(-1)^(2/3)*Rt[a,3]^2*Rt[c,3]*x+b*x^2)^p,x],x] /;
EqQ[b^2-3*a*d,0] && EqQ[b^3-27*a^2*e,0] /;
ILtQ[p,0] && PolyQ[Q6,x,6] && EqQCoeff[Q6,x,1],0 && EqQCoeff[Q6,x,5],0 && RationalFunctionQ[u,x]