Rules for integrands involving logarithms

1.  ∫u ((Log[1-F[x]]F'[x])/(F[x]))dx

1:  ∫((Log[1-F[x]]F'[x])/(F[x]))dx

Basis:  (∂_x)PolyLog[2,x]==((PolyLog[1,x])/x)==-((Log[1-x])/x)

Rule:

∫((Log[1-F[x]]F'[x])/(F[x]))dx  ⟶  -PolyLog[2,F[x]]

Program code:

Int[u_*Log[v_],x_Symbol] :=
  With[{w=DerivativeDivides[v,u*(1-v),x]},
  w*PolyLog[2,1-v] /;
 Not[FalseQ[w]]]

2:  ∫(a+b Log[u])((Log[1-F[x]]F'[x])/(F[x]))dx  when  u is free of inverse functions

Derivation: Integration by parts

Basis:  ((Log[1-x])/x)==-(∂_x)PolyLog[2,x]

Rule: If  u is free of inverse functions, then

∫(a+b Log[u])((Log[1-F[x]]F'[x])/(F[x]))dx  ⟶  -(a+b Log[u])PolyLog[2,F[x]]+b∫((PolyLog[2,F[x]](∂_x)u)/u)dx

Program code:

Int[(a_.+b_.*Log[u_])*Log[v_]*w_,x_Symbol] :=
  With[{z=DerivativeDivides[v,w*(1-v),x]},
  z*(a+b*Log[u])*PolyLog[2,1-v] - 
  b*Int[SimplifyIntegrand[z*PolyLog[2,1-v]*D[u,x]/u,x],x] /;
 Not[FalseQ[z]]] /;
FreeQ[{a,b},x] && InverseFunctionFreeQ[u,x]

2.  ∫u (a+b Log[c ((Log[d (x^n)])^p)])dx

1:  ∫Log[c ((Log[d (x^n)])^p)]dx

Derivation: Integration by parts

Basis: (∂_x)Log[c ((Log[d (x^n)])^p)]==((n p)/(x Log[d (x^n)]))

Rule:

∫Log[c ((Log[d (x^n)])^p)]dx  ⟶  x Log[c ((Log[d (x^n)])^p)]-n p∫(1/(Log[d (x^n)]))dx

Program code:

Int[Log[c_.*Log[d_.*x_^n_.]^p_.],x_Symbol] :=
  x*Log[c*Log[d*x^n]^p] - n*p*Int[1/Log[d*x^n],x] /;
FreeQ[{c,d,n,p},x]

2.  ∫(((e x))^m) (a+b Log[c ((Log[d (x^n)])^p)])dx

1:  ∫((a+b Log[c ((Log[d (x^n)])^p)])/x)dx

Derivation: Integration by parts

Basis: (1/x)==(∂_x)((Log[d (x^n)])/n)

Basis: (∂_x)(a+b Log[c ((Log[d (x^n)])^p)])==((b n p)/(x Log[d (x^n)]))

Rule:

∫((a+b Log[c ((Log[d (x^n)])^p)])/x)dx  ⟶  ((Log[d (x^n)] (a+b Log[c ((Log[d (x^n)])^p)]))/n)-b p ∫(1/x)dx  ⟶  ((Log[d (x^n)] (a+b Log[c ((Log[d (x^n)])^p)]))/n)-b p Log[x]

Program code:

Int[(a_.+b_.*Log[c_.*Log[d_.*x_^n_.]^p_.])/x_,x_Symbol] :=
  Log[d*x^n]*(a+b*Log[c*Log[d*x^n]^p])/n - b*p*Log[x] /;
FreeQ[{a,b,c,d,n,p},x]

2:  ∫(((e x))^m) (a+b Log[c ((Log[d (x^n)])^p)])dx  when  m≠-1

Derivation: Integration by parts

Basis: (∂_x)(a+b Log[c ((Log[d (x^n)])^p)])==((b n p)/(x Log[d (x^n)]))

Rule: If  m≠-1, then

∫(((e x))^m) (a+b Log[c ((Log[d (x^n)])^p)])dx  ⟶  (((((e x))^(m+1)) (a+b Log[c ((Log[d (x^n)])^p)]))/(e (m+1)))-((b n p)/(m+1))∫((((e x))^m)/(Log[d (x^n)]))dx

Program code:

Int[(e_.*x_)^m_.*(a_.+b_.*Log[c_.*Log[d_.*x_^n_.]^p_.]),x_Symbol] :=
  (e*x)^(m+1)*(a+b*Log[c*Log[d*x^n]^p])/(e*(m+1)) - b*n*p/(m+1)*Int[(e*x)^m/Log[d*x^n],x] /;
FreeQ[{a,b,c,d,e,m,n,p},x] && NeQ[m,-1]

3.  ∫u (((a+b Log[c ((Subscript[RF, x])^p)]))^n)dx  when  n∈(SuperPlus[ℤ])

1:  ∫(((a+b Log[c ((Subscript[RF, x])^p)]))^n)dx  when  n∈(SuperPlus[ℤ])

Derivation: Integration by parts

Basis: (∂_x)(((a+b Log[c ((Subscript[RF, x])^p)]))^n)==((b n p (((a+b Log[c ((Subscript[RF, x])^p)]))^(n-1))(∂_x)(Subscript[RF, x]))/(Subscript[RF, x]))

Rule: If  n∈(SuperPlus[ℤ]), then

∫(((a+b Log[c ((Subscript[RF, x])^p)]))^n)dx  ⟶  x(((a+b Log[c ((Subscript[RF, x])^p)]))^n)-b n p∫((x(((a+b Log[c ((Subscript[RF, x])^p)]))^(n-1))(∂_x)(Subscript[RF, x]))/(Subscript[RF, x]))dx

Program code:

Int[(a_.+b_.*Log[c_.*RFx_^p_.])^n_.,x_Symbol] :=
  x*(a+b*Log[c*RFx^p])^n - 
  b*n*p*Int[SimplifyIntegrand[x*(a+b*Log[c*RFx^p])^(n-1)*D[RFx,x]/RFx,x],x] /;
FreeQ[{a,b,c,p},x] && RationalFunctionQ[RFx,x] && IGtQ[n,0]

2.  ∫(((d+e x))^m)(((a+b Log[c ((Subscript[RF, x])^p)]))^n)dx  when  n∈(SuperPlus[ℤ])∧ (n==1 ∨ m∈ℤ)

1:  ∫((((a+b Log[c ((Subscript[RF, x])^p)]))^n)/(d+e x))dx  when  n∈(SuperPlus[ℤ])             ???? n>1?

Derivation: Integration by parts

Basis: (1/(d+e x))==(∂_x)((Log[d+e x])/e)

Basis: (∂_x)(((a+b Log[c ((Subscript[RF, x])^p)]))^n)==((b n p (((a+b Log[c ((Subscript[RF, x])^p)]))^(n-1))(∂_x)(Subscript[RF, x]))/(Subscript[RF, x]))

Rule: If  n∈(SuperPlus[ℤ]), then

∫((((a+b Log[c ((Subscript[RF, x])^p)]))^n)/(d+e x))dx  ⟶  ((Log[d+e x] (((a+b Log[c ((Subscript[RF, x])^p)]))^n))/e)-((b n p)/e)∫((Log[d+e x] (((a+b Log[c ((Subscript[RF, x])^p)]))^(n-1))(∂_x)(Subscript[RF, x]))/(Subscript[RF, x]))dx

Program code:

Int[(a_.+b_.*Log[c_.*RFx_^p_.])^n_./(d_.+e_.*x_),x_Symbol] :=
  Log[d+e*x]*(a+b*Log[c*RFx^p])^n/e - 
  b*n*p/e*Int[Log[d+e*x]*(a+b*Log[c*RFx^p])^(n-1)*D[RFx,x]/RFx,x] /;
FreeQ[{a,b,c,d,e,p},x] && RationalFunctionQ[RFx,x] && IGtQ[n,0]

2:  ∫(((d+e x))^m)(((a+b Log[c ((Subscript[RF, x])^p)]))^n)dx  when  n∈(SuperPlus[ℤ])∧ (n==1 ∨ m∈ℤ) ∧ m≠-1

Derivation: Integration by parts

Basis: (((d+e x))^m)==(∂_x)((((d+e x))^(m+1))/(e (m+1)))

Basis: (∂_x)(((a+b Log[c ((Subscript[RF, x])^p)]))^n)==((b n p (((a+b Log[c ((Subscript[RF, x])^p)]))^(n-1))(∂_x)(Subscript[RF, x]))/(Subscript[RF, x]))

Rule: If  n∈(SuperPlus[ℤ])∧ (n==1 ∨ m∈ℤ) ∧ m≠-1, then

∫(((d+e x))^m)(((a+b Log[c ((Subscript[RF, x])^p)]))^n)dx  ⟶  (((((d+e x))^(m+1))(((a+b Log[c ((Subscript[RF, x])^p)]))^n))/(e(m+1)))-((b n p)/(e(m+1)))∫(((((d+e x))^(m+1))(((a+b Log[c ((Subscript[RF, x])^p)]))^(n-1))(∂_x)(Subscript[RF, x]))/(Subscript[RF, x]))dx

Program code:

Int[(d_.+e_.*x_)^m_.*(a_.+b_.*Log[c_.*RFx_^p_.])^n_.,x_Symbol] :=
  (d+e*x)^(m+1)*(a+b*Log[c*RFx^p])^n/(e*(m+1)) - 
  b*n*p/(e*(m+1))*Int[SimplifyIntegrand[(d+e*x)^(m+1)*(a+b*Log[c*RFx^p])^(n-1)*D[RFx,x]/RFx,x],x] /;
FreeQ[{a,b,c,d,e,m,p},x] && RationalFunctionQ[RFx,x] && IGtQ[n,0] && (EqQ[n,1] || IntegerQ[m]) && NeQ[m,-1]

3:  ∫((Log[c ((Subscript[RF, x])^n)])/(d+e (x^2)))dx

Derivation: Integration by parts

Rule: Let u=∫(1/(d+e (x^2)))dx, then

∫((Log[c ((Subscript[RF, x])^n)])/(d+e (x^2)))dx  ⟶  u Log[c ((Subscript[RF, x])^n)]-n∫((u(∂_x)(Subscript[RF, x]))/(Subscript[RF, x]))dx

Program code:

Int[Log[c_.*RFx_^n_.]/(d_+e_.*x_^2),x_Symbol] :=
  With[{u=IntHide[1/(d+e*x^2),x]},  
  u*Log[c*RFx^n] - n*Int[SimplifyIntegrand[u*D[RFx,x]/RFx,x],x]] /;
FreeQ[{c,d,e,n},x] && RationalFunctionQ[RFx,x] && Not[PolynomialQ[RFx,x]]

4:  ∫((Log[c ((Subscript[P, x])^n)])/(Subscript[Q, x]))dx  when  QuadraticQ[(Subscript[Q, x])] ∧ (∂_x)((Subscript[P, x])/(Subscript[Q, x]))==0

Derivation: Integration by parts

Rule: If  QuadraticQ[(Subscript[Q, x])] ∧ (∂_x)((Subscript[P, x])/(Subscript[Q, x]))==0, let u=∫(1/(Subscript[Q, x]))dx, then

∫((Log[c ((Subscript[P, x])^n)])/(Subscript[Q, x]))dx  ⟶  u Log[c ((Subscript[P, x])^n)]-n∫((u(∂_x)(Subscript[P, x]))/(Subscript[P, x]))dx

Program code:

Int[Log[c_.*Px_^n_.]/Qx_,x_Symbol] :=
  With[{u=IntHide[1/Qx,x]},  
  u*Log[c*Px^n] - n*Int[SimplifyIntegrand[u*D[Px,x]/Px,x],x]] /;
FreeQ[{c,n},x] && QuadraticQ[{Qx,Px},x] && EqQ[D[Px/Qx,x],0]

5:  ∫(Subscript[RG, x]) (((a+b Log[c ((Subscript[RF, x])^p)]))^n)dx  when  n∈(SuperPlus[ℤ])

Derivation: Algebraic expansion

Rule: If  n∈(SuperPlus[ℤ]), then

∫(Subscript[RG, x]) (((a+b Log[c ((Subscript[RF, x])^p)]))^n)dx  ⟶  ∫(((a+b Log[c ((Subscript[RF, x])^p)]))^n)ExpandIntegrand[(Subscript[RG, x]),x]dx

Program code:

Int[RGx_*(a_.+b_.*Log[c_.*RFx_^p_.])^n_.,x_Symbol] :=
  With[{u=ExpandIntegrand[(a+b*Log[c*RFx^p])^n,RGx,x]},
  Int[u,x] /;
 SumQ[u]] /;
FreeQ[{a,b,c,p},x] && RationalFunctionQ[RFx,x] && RationalFunctionQ[RGx,x] && IGtQ[n,0]

Int[RGx_*(a_.+b_.*Log[c_.*RFx_^p_.])^n_.,x_Symbol] :=
  With[{u=ExpandIntegrand[RGx*(a+b*Log[c*RFx^p])^n,x]},
  Int[u,x] /;
 SumQ[u]] /;
FreeQ[{a,b,c,p},x] && RationalFunctionQ[RFx,x] && RationalFunctionQ[RGx,x] && IGtQ[n,0]

4:  ∫(Subscript[RF, x])(a+b Log[F[(((c+d x))^(1/n)),x]])dx  when  n∈ℤ

Derivation: Integration by substitution

Basis: If  n∈ℤ, then F[(((c+d x))^(1/n)),x]==(n/d)Subst[(x^(n-1)) F[x,-(c/d)+((x^n)/d)],x,(((c+d x))^(1/n))](∂_x)(((c+d x))^(1/n))

Rule: If  n∈ℤ, then

∫(Subscript[RF, x])(a+b Log[F[(((c+d x))^(1/n)),x]])dx  ⟶  (n/d)Subst[∫(x^(n-1))Subst[(Subscript[RF, x]),x,-(c/d)+((x^n)/d)] (a+b F[x,-(c/d)+((x^n)/d)])dx,x,(((c+d x))^(1/n))]

Program code:

Int[RFx_*(a_.+b_.*Log[u_]),x_Symbol] :=
  With[{lst=SubstForFractionalPowerOfLinear[RFx*(a+b*Log[u]),x]},
  lst[[2]]*lst[[4]]*Subst[Int[lst[[1]],x],x,lst[[3]]^(1/lst[[2]])] /;
 Not[FalseQ[lst]]] /;
FreeQ[{a,b},x] && RationalFunctionQ[RFx,x]

5.  ∫(((f+g x))^m)Log[d+e ((((F^(c(a+b x)))))^n)]dx

1:  ∫(((f+g x))^m) Log[1+e ((((F^(c(a+b x)))))^n)]dx  when  m>0

Derivation: Integration by parts

Basis: Log[1+e ((((F^(c (a+b x)))))^n)]==-(∂_x)((PolyLog[2,-e ((((F^(c(a+b x)))))^n)])/(b c n  Log[F]))

Rule: If  m>0, then

∫(((f+g x))^m) Log[1+e ((((F^(c(a+b x)))))^n)]dx  ⟶  -(((((f+g x))^m) PolyLog[2,-e ((((F^(c(a+b x)))))^n)])/(b c n  Log[F]))+((g m)/(b c n Log[F]))∫(((f+g x))^(m-1)) PolyLog[2,-e ((((F^(c(a+b x)))))^n)]dx

Program code:

Int[(f_.+g_.*x_)^m_.*Log[1+e_.*(F_^(c_.*(a_.+b_.*x_)))^n_.],x_Symbol] :=
  -(f+g*x)^m*PolyLog[2,-e*(F^(c*(a+b*x)))^n]/(b*c*n*Log[F]) + 
  g*m/(b*c*n*Log[F])*Int[(f+g*x)^(m-1)*PolyLog[2,-e*(F^(c*(a+b*x)))^n],x] /;
FreeQ[{F,a,b,c,e,f,g,n},x] && GtQ[m,0]

2:  ∫(((f+g x))^m) Log[d+e ((((F^(c(a+b x)))))^n)]dx  when  m>0 ∧ d≠1

Derivation: Integration by parts

Basis: (∂_x)Log[d+e g[x]]==(∂_x)Log[1+(e/d)g[x]]

Rule: If  m>0 ∧ d≠1, then

∫(((f+g x))^m) Log[d+e ((((F^(c(a+b x)))))^n)]dx  ⟶  (((((f+g x))^(m+1)) Log[d+e ((((F^(c(a+b x)))))^n)])/(g(m+1)))-(((((f+g x))^(m+1)) Log[1+(e/d)((((F^(c(a+b x)))))^n)])/(g(m+1)))+∫(((f+g x))^m) Log[1+(e/d)((((F^(c(a+b x)))))^n)]dx

Program code:

Int[(f_.+g_.*x_)^m_.*Log[d_+e_.*(F_^(c_.*(a_.+b_.*x_)))^n_.],x_Symbol] :=
  (f+g*x)^(m+1)*Log[d+e*(F^(c*(a+b*x)))^n]/(g*(m+1)) - 
  (f+g*x)^(m+1)*Log[1+e/d*(F^(c*(a+b*x)))^n]/(g*(m+1)) + 
  Int[(f+g*x)^m*Log[1+e/d*(F^(c*(a+b*x)))^n],x] /;
FreeQ[{F,a,b,c,d,e,f,g,n},x] && GtQ[m,0] && NeQ[d,1]

6.  ∫u Log[d+e x+f (Sqrt[a+b x+c (x^2)])]dx  when  (e^2)-c (f^2)==0

1:  ∫Log[d+e x+f (Sqrt[a+b x+c (x^2)])]dx  when  (e^2)-c (f^2)==0

Derivation: Integration by parts and algebraic simplification

Rule: If  (e^2)-c (f^2)==0 , then ((b f+2 c f x+2 e (Sqrt[a+b x+c (x^2)]))/(f (a+b x+c (x^2))+(d+e x) (Sqrt[a+b x+c (x^2)])))==-(((f^2) ((b^2)-4 a c))/((2 d e-b (f^2)) (a+b x+c (x^2))-f (b d-2 a e+(2 c d-b e) x) (Sqrt[a+b x+c (x^2)]))).

Rule: If  (e^2)-c (f^2)==0 , then

∫Log[d+e x+f (Sqrt[a+b x+c (x^2)])]dx  ⟶  x Log[d+e x+f (Sqrt[a+b x+c (x^2)])]-(1/2) ∫((x (b f+2 c f x+2 e (Sqrt[a+b x+c (x^2)])))/(f (a+b x+c (x^2))+(d+e x) (Sqrt[a+b x+c (x^2)])))dx  
⟶  x Log[d+e x+f (Sqrt[a+b x+c (x^2)])]+(((f^2) ((b^2)-4 a c))/2) ∫(x/((2 d e-b (f^2)) (a+b x+c (x^2))-f (b d-2 a e+(2 c d-b e) x) (Sqrt[a+b x+c (x^2)])))dx

Program code:

Int[Log[d_.+e_.*x_+f_.*Sqrt[a_.+b_.*x_+c_.*x_^2]],x_Symbol] :=
  x*Log[d+e*x+f*Sqrt[a+b*x+c*x^2]] + 
  f^2*(b^2-4*a*c)/2*Int[x/((2*d*e-b*f^2)*(a+b*x+c*x^2)-f*(b*d-2*a*e+(2*c*d-b*e)*x)*Sqrt[a+b*x+c*x^2]),x] /;
FreeQ[{a,b,c,d,e,f},x] && EqQ[e^2-c*f^2,0]

Int[Log[d_.+e_.*x_+f_.*Sqrt[a_.+c_.*x_^2]],x_Symbol] :=
  x*Log[d+e*x+f*Sqrt[a+c*x^2]] - 
  a*c*f^2*Int[x/(d*e*(a+c*x^2)+f*(a*e-c*d*x)*Sqrt[a+c*x^2]),x] /;
FreeQ[{a,c,d,e,f},x] && EqQ[e^2-c*f^2,0]

2:  ∫(((g x))^m) Log[d+e x+f (Sqrt[a+b x+c (x^2)])]dx  when  (e^2)-c (f^2)==0 ∧ m≠-1

Derivation: Integration by parts and algebraic simplification

Rule: If  (e^2)-c (f^2)==0 , then ((b f+2 c f x+2 e (Sqrt[a+b x+c (x^2)]))/(f (a+b x+c (x^2))+(d+e x) (Sqrt[a+b x+c (x^2)])))==-(((f^2) ((b^2)-4 a c))/((2 d e-b (f^2)) (a+b x+c (x^2))-f (b d-2 a e+(2 c d-b e) x) (Sqrt[a+b x+c (x^2)]))).

Rule: If  (e^2)-c (f^2)==0 ∧ m≠-1, then

∫(((g x))^m) Log[d+e x+f (Sqrt[a+b x+c (x^2)])]dx  ⟶  (((((g x))^(m+1)) Log[d+e x+f (Sqrt[a+b x+c (x^2)])])/(g (m+1)))-(1/(2 g (m+1))) ∫(((((g x))^(m+1)) (b f+2 c f x+2 e (Sqrt[a+b x+c (x^2)])))/(f (a+b x+c (x^2))+(d+e x) (Sqrt[a+b x+c (x^2)])))dx  
⟶  (((((g x))^(m+1)) Log[d+e x+f (Sqrt[a+b x+c (x^2)])])/(g (m+1)))+(((f^2) ((b^2)-4 a c))/(2 g (m+1))) ∫((((g x))^(m+1))/((2 d e-b (f^2)) (a+b x+c (x^2))-f (b d-2 a e+(2 c d-b e) x) (Sqrt[a+b x+c (x^2)])))dx

Program code:

Int[(g_.*x_)^m_.*Log[d_.+e_.*x_+f_.*Sqrt[a_.+b_.*x_+c_.*x_^2]],x_Symbol] :=
  (g*x)^(m+1)*Log[d+e*x+f*Sqrt[a+b*x+c*x^2]]/(g*(m+1)) + 
  f^2*(b^2-4*a*c)/(2*g*(m+1))*Int[(g*x)^(m+1)/((2*d*e-b*f^2)*(a+b*x+c*x^2)-f*(b*d-2*a*e+(2*c*d-b*e)*x)*Sqrt[a+b*x+c*x^2]),x] /;
FreeQ[{a,b,c,d,e,f,g,m},x] && EqQ[e^2-c*f^2,0] && NeQ[m,-1] && IntegerQ[2*m]

Int[(g_.*x_)^m_.*Log[d_.+e_.*x_+f_.*Sqrt[a_.+c_.*x_^2]],x_Symbol] :=
  (g*x)^(m+1)*Log[d+e*x+f*Sqrt[a+c*x^2]]/(g*(m+1)) - 
  a*c*f^2/(g*(m+1))*Int[(g*x)^(m+1)/(d*e*(a+c*x^2)+f*(a*e-c*d*x)*Sqrt[a+c*x^2]),x] /;
FreeQ[{a,c,d,e,f,g,m},x] && EqQ[e^2-c*f^2,0] && NeQ[m,-1] && IntegerQ[2*m]

Int[v_.*Log[d_.+e_.*x_+f_.*Sqrt[u_]],x_Symbol] :=
  Int[v*Log[d+e*x+f*Sqrt[ExpandToSum[u,x]]],x] /;
FreeQ[{d,e,f},x] && QuadraticQ[u,x] && Not[QuadraticMatchQ[u,x]] && (EqQ[v,1] || MatchQ[v,(g_.*x)^m_. /; FreeQ[{g,m},x]])

7.  ∫((((Log[c (x^n)])^r) (((a (x^m)+b ((Log[c (x^n)])^q)))^p))/x)dx  when  r==q-1

1:  ∫(((Log[c (x^n)])^r)/(x (a (x^m)+b ((Log[c (x^n)])^q))))dx  when  r==q-1

Derivation: Algebraic expansion and reciprocal rule for integration

Basis:  ∫((F'[x]+G'[x])/(F[x]+G[x]))dx==Log[F[x]+G[x]]

Rule: If  r==q-1, then

∫(((Log[c (x^n)])^r)/(x (a (x^m)+b ((Log[c (x^n)])^q))))dx  ⟶  (1/(b n q)) ∫((a m (x^m)+b n q ((Log[c (x^n)])^r))/(x (a (x^m)+b ((Log[c (x^n)])^q))))dx-((a m)/(b n q))∫((x^(m-1))/(a (x^m)+b ((Log[c (x^n)])^q)))dx
  ⟶  ((Log[a (x^m)+b ((Log[c (x^n)])^q)])/(b n q))-((a m)/(b n q))∫((x^(m-1))/(a (x^m)+b ((Log[c (x^n)])^q)))dx

Program code:

Int[Log[c_.*x_^n_.]^r_./(x_*(a_.*x_^m_.+b_.*Log[c_.*x_^n_.]^q_)),x_Symbol] :=
  Log[a*x^m+b*Log[c*x^n]^q]/(b*n*q) - a*m/(b*n*q)*Int[x^(m-1)/(a*x^m+b*Log[c*x^n]^q),x] /;
FreeQ[{a,b,c,m,n,q,r},x] && EqQ[r,q-1]

2:  ∫((((Log[c (x^n)])^r) (((a (x^m)+b ((Log[c (x^n)])^q)))^p))/x)dx  when  r==q-1 ∧ p∈(SuperPlus[ℤ])

Derivation: Algebraic expansion

Rule: If  r==q-1 ∧ p∈(SuperPlus[ℤ]), then

∫((((Log[c (x^n)])^r) (((a (x^m)+b ((Log[c (x^n)])^q)))^p))/x)dx  ⟶  ∫(((Log[c (x^n)])^r)/x) ExpandIntegrand[(((a (x^m)+b ((Log[c (x^n)])^q)))^p),x]dx

Program code:

Int[Log[c_.*x_^n_.]^r_.*(a_.*x_^m_.+b_.*Log[c_.*x_^n_.]^q_)^p_./x_,x_Symbol] :=
  Int[ExpandIntegrand[Log[c*x^n]^r/x,(a*x^m+b*Log[c*x^n]^q)^p,x],x] /;
FreeQ[{a,b,c,m,n,p,q,r},x] && EqQ[r,q-1] && IGtQ[p,0]

3:  ∫((((Log[c (x^n)])^r) (((a (x^m)+b ((Log[c (x^n)])^q)))^p))/x)dx  when  r==q-1 ∧ p≠-1

Derivation: Algebraic expansion and reciprocal rule for integration

Basis:  ∫(((F[x]+G[x]))^p) (F'[x]+G'[x])dx==((((F[x]+G[x]))^(p+1))/(p+1))

Rule: If  r==q-1 ∧ p≠-1, then

∫((((Log[c (x^n)])^r) (((a (x^m)+b ((Log[c (x^n)])^q)))^p))/x)dx  ⟶  
(1/(b n q)) ∫(((a m (x^m)+b n q ((Log[c (x^n)])^r)) (((a (x^m)+b ((Log[c (x^n)])^q)))^p))/x)dx-((a m)/(b n q))∫(x^(m-1)) (((a (x^m)+b ((Log[c (x^n)])^q)))^p)dx
  ⟶  ((((a (x^m)+b ((Log[c (x^n)])^q)))^(p+1))/(b n q (p+1)))-((a m)/(b n q))∫(x^(m-1)) (((a (x^m)+b ((Log[c (x^n)])^q)))^p)dx

Program code:

Int[Log[c_.*x_^n_.]^r_.*(a_.*x_^m_.+b_.*Log[c_.*x_^n_.]^q_)^p_./x_,x_Symbol] :=
  (a*x^m+b*Log[c*x^n]^q)^(p+1)/(b*n*q*(p+1)) - 
  a*m/(b*n*q)*Int[x^(m-1)*(a*x^m+b*Log[c*x^n]^q)^p,x] /;
FreeQ[{a,b,c,m,n,p,q,r},x] && EqQ[r,q-1] && NeQ[p,-1]

8.  ∫(((d (x^m)+e ((Log[c (x^n)])^r)) (((a (x^m)+b ((Log[c (x^n)])^q)))^p))/x)dx  when  r==q-1

1.  ∫((d (x^m)+e ((Log[c (x^n)])^r))/(x (a (x^m)+b ((Log[c (x^n)])^q))))dx  when  r==q-1

1:  ∫((d (x^m)+e ((Log[c (x^n)])^r))/(x (a (x^m)+b ((Log[c (x^n)])^q))))dx  when  r==q-1 ∧ a e m-b d n q==0

Derivation: Reciprocal rule for integration

Basis:  ∫((F'[x]+G'[x])/(F[x]+G[x]))dx==Log[F[x]+G[x]]

Rule: If  r==q-1 ∧ a e m-b d n q==0, then

∫((d (x^m)+e ((Log[c (x^n)])^r))/(x (a (x^m)+b ((Log[c (x^n)])^q))))dx  ⟶  ((e Log[a (x^m)+b ((Log[c (x^n)])^q)])/(b n q))

Program code:

Int[(d_.*x_^m_.+e_.*Log[c_.*x_^n_.]^r_.)/(x_*(a_.*x_^m_.+b_.*Log[c_.*x_^n_.]^q_)),x_Symbol] :=
  e*Log[a*x^m+b*Log[c*x^n]^q]/(b*n*q) /;
FreeQ[{a,b,c,d,e,m,n,q,r},x] && EqQ[r,q-1] && EqQ[a*e*m-b*d*n*q,0]

Int[(u_+d_.*x_^m_.+e_.*Log[c_.*x_^n_.]^r_.)/(x_*(a_.*x_^m_.+b_.*Log[c_.*x_^n_.]^q_)),x_Symbol] :=
  e*Log[a*x^m+b*Log[c*x^n]^q]/(b*n*q) + Int[u/(x*(a*x^m+b*Log[c*x^n]^q)),x] /;
FreeQ[{a,b,c,d,e,m,n,q,r},x] && EqQ[r,q-1] && EqQ[a*e*m-b*d*n*q,0]

2:  ∫((d (x^m)+e ((Log[c (x^n)])^r))/(x (a (x^m)+b ((Log[c (x^n)])^q))))dx  when  r==q-1 ∧ a e m-b d n q≠0

Derivation: Algebraic expansion and reciprocal rule for integration

Basis:  ∫((F'[x]+G'[x])/(F[x]+G[x]))dx==Log[F[x]+G[x]]

Rule: If  r==q-1 ∧ a e m-b d n q≠0, then

∫((d (x^m)+e ((Log[c (x^n)])^r))/(x (a (x^m)+b ((Log[c (x^n)])^q))))dx  ⟶  (e/(b n q)) ∫((a m (x^m)+b n q ((Log[c (x^n)])^r))/(x (a (x^m)+b ((Log[c (x^n)])^q))))dx-(((a e m-b d n q))/(b n q))∫((x^(m-1))/(a (x^m)+b ((Log[c (x^n)])^q)))dx
  ⟶  ((e Log[a (x^m)+b ((Log[c (x^n)])^q)])/(b n q))-(((a e m-b d n q))/(b n q))∫((x^(m-1))/(a (x^m)+b ((Log[c (x^n)])^q)))dx

Program code:

Int[(d_.*x_^m_.+e_.*Log[c_.*x_^n_.]^r_.)/(x_*(a_.*x_^m_.+b_.*Log[c_.*x_^n_.]^q_)),x_Symbol] :=
  e*Log[a*x^m+b*Log[c*x^n]^q]/(b*n*q) - 
  (a*e*m-b*d*n*q)/(b*n*q)*Int[x^(m-1)/(a*x^m+b*Log[c*x^n]^q),x] /;
FreeQ[{a,b,c,d,e,m,n,q,r},x] && EqQ[r,q-1] && NeQ[a*e*m-b*d*n*q,0]

2.  ∫(((d (x^m)+e ((Log[c (x^n)])^r)) (((a (x^m)+b ((Log[c (x^n)])^q)))^p))/x)dx  when  r==q-1 ∧ p≠-1

1:  ∫(((d (x^m)+e ((Log[c (x^n)])^r)) (((a (x^m)+b ((Log[c (x^n)])^q)))^p))/x)dx  when  r==q-1 ∧ p≠-1 ∧ a e m-b d n q==0

Derivation: Algebraic expansion and reciprocal rule for integration

Basis:  ∫(((F[x]+G[x]))^p) (F'[x]+G'[x])dx==((((F[x]+G[x]))^(p+1))/(p+1))

Rule: If  r==q-1 ∧ p≠-1 ∧ a e m-b d n q==0, then

∫(((d (x^m)+e ((Log[c (x^n)])^r)) (((a (x^m)+b ((Log[c (x^n)])^q)))^p))/x)dx  ⟶  ((e (((a (x^m)+b ((Log[c (x^n)])^q)))^(p+1)))/(b n q (p+1)))

Program code:

Int[(d_.*x_^m_.+e_.*Log[c_.*x_^n_.]^r_.)*(a_.*x_^m_.+b_.*Log[c_.*x_^n_.]^q_)^p_./x_,x_Symbol] :=
  e*(a*x^m+b*Log[c*x^n]^q)^(p+1)/(b*n*q*(p+1)) /;
FreeQ[{a,b,c,d,e,m,n,p,q,r},x] && EqQ[r,q-1] && NeQ[p,-1] && EqQ[a*e*m-b*d*n*q,0]

2:  ∫(((d (x^m)+e ((Log[c (x^n)])^r)) (((a (x^m)+b ((Log[c (x^n)])^q)))^p))/x)dx  when  r==q-1 ∧ p≠-1 ∧ a e m-b d n q≠0

Derivation: Algebraic expansion and reciprocal rule for integration

Basis:  ∫(((F[x]+G[x]))^p) (F'[x]+G'[x])dx==((((F[x]+G[x]))^(p+1))/(p+1))

Rule: If  r==q-1 ∧ p≠-1 ∧ a e m-b d n q≠0, then

∫(((d (x^m)+e ((Log[c (x^n)])^r)) (((a (x^m)+b ((Log[c (x^n)])^q)))^p))/x)dx  ⟶  
(e/(b n q)) ∫(((a m (x^m)+b n q ((Log[c (x^n)])^r)) (((a (x^m)+b ((Log[c (x^n)])^q)))^p))/x)dx-(((a e m-b d n q))/(b n q))∫(x^(m-1)) (((a (x^m)+b ((Log[c (x^n)])^q)))^p)dx
  ⟶  ((e (((a (x^m)+b ((Log[c (x^n)])^q)))^(p+1)))/(b n q (p+1)))-(((a e m-b d n q))/(b n q))∫(x^(m-1)) (((a (x^m)+b ((Log[c (x^n)])^q)))^p)dx

Program code:

Int[(d_.*x_^m_.+e_.*Log[c_.*x_^n_.]^r_.)*(a_.*x_^m_.+b_.*Log[c_.*x_^n_.]^q_)^p_./x_,x_Symbol] :=
  e*(a*x^m+b*Log[c*x^n]^q)^(p+1)/(b*n*q*(p+1)) - 
  (a*e*m-b*d*n*q)/(b*n*q)*Int[x^(m-1)*(a*x^m+b*Log[c*x^n]^q)^p,x] /;
FreeQ[{a,b,c,d,e,m,n,p,q,r},x] && EqQ[r,q-1] && NeQ[p,-1] && NeQ[a*e*m-b*d*n*q,0]

9:  ∫((d (x^m)+e (x^m) Log[c (x^n)]+f ((Log[c (x^n)])^q))/(x (((a (x^m)+b ((Log[c (x^n)])^q)))^2)))dx  when  e n+d m==0 ∧ a f+b d (q-1)==0

Rule: If  e n+d m==0 ∧ a f+b d (q-1)==0, then

∫((d (x^m)+e (x^m) Log[c (x^n)]+f ((Log[c (x^n)])^q))/(x (((a (x^m)+b ((Log[c (x^n)])^q)))^2)))dx  ⟶  ((d Log[c (x^n)])/(a n (a (x^m)+b ((Log[c (x^n)])^q))))

Program code:

Int[(d_.*x_^m_.+e_.*x_^m_.*Log[c_.*x_^n_.]+f_.*Log[c_.*x_^n_.]^q_.)/(x_*(a_.*x_^m_.+b_.*Log[c_.*x_^n_.]^q_)^2),x_Symbol] :=
  d*Log[c*x^n]/(a*n*(a*x^m+b*Log[c*x^n]^q)) /;
FreeQ[{a,b,c,d,e,f,m,n,q},x] && EqQ[e*n+d*m,0] && EqQ[a*f+b*d*(q-1),0]

10:  ∫((d+e Log[c (x^n)])/(((a x+b ((Log[c (x^n)])^q)))^2))dx  when  d+e n q==0

Derivation: Algebraic expansion

Rule: If  d+e n q==0, then

∫((d+e Log[c (x^n)])/(((a x+b ((Log[c (x^n)])^q)))^2))dx  ⟶  -(1/a)∫((a e n x-a e x Log[c (x^n)]+b (d+e n) ((Log[c (x^n)])^q))/(x (((a x+b ((Log[c (x^n)])^q)))^2))) dx+((d+e n)/a)∫(1/(x (a x+b ((Log[c (x^n)])^q))))dx
  ⟶  -((e Log[c (x^n)])/(a (a x+b ((Log[c (x^n)])^q))))+((d+e n)/a)∫(1/(x (a x+b ((Log[c (x^n)])^q))))dx

Program code:

Int[(d_+e_.*Log[c_.*x_^n_.])/(a_.*x_+b_.*Log[c_.*x_^n_.]^q_)^2,x_Symbol] :=
  -e*Log[c*x^n]/(a*(a*x+b*Log[c*x^n]^q)) + (d+e*n)/a*Int[1/(x*(a*x+b*Log[c*x^n]^q)),x] /;
FreeQ[{a,b,c,d,e,n,q},x] && EqQ[d+e*n*q,0]

11.  ∫v Log[u]dx  when  u is free of inverse functions

1:  ∫Log[u]dx  when  u is free of inverse functions

Reference: A&S 4.1.53

Derivation: Integration by parts

Rule: If  InverseFunctionFreeQ[u,x], then

∫Log[u]dx  ⟶  x Log[u]-∫((x(∂_x)u)/u)dx

Program code:

Int[Log[u_],x_Symbol] :=
  x*Log[u] - Int[SimplifyIntegrand[x*D[u,x]/u,x],x] /;
InverseFunctionFreeQ[u,x]

Int[Log[u_],x_Symbol] :=
  x*Log[u] - Int[SimplifyIntegrand[x*Simplify[D[u,x]/u],x],x] /;
ProductQ[u]

2.  ∫(((a+b x))^m)Log[u]dx  when  u is free of inverse functions

1:  ∫((Log[u])/(a+b x))dx  when  RationalFunctionQ[(((∂_x)u)/u),x]

Reference: G&R 2.727.2

Derivation: Integration by parts

Basis: (1/(a+b x))==(∂_x)((Log[a+b x])/b)

Rule: If  RationalFunctionQ[(((∂_x)u)/u),x], then

∫((Log[u])/(a+b x))dx  ⟶  ((Log[a+b x] Log[u])/b)-(1/b)∫((Log[a+b x](∂_x)u)/u)dx

Program code:

Int[Log[u_]/(a_.+b_.*x_),x_Symbol] :=
  Log[a+b*x]*Log[u]/b -
  1/b*Int[SimplifyIntegrand[Log[a+b*x]*D[u,x]/u,x],x] /;
FreeQ[{a,b},x] && RationalFunctionQ[D[u,x]/u,x] && (NeQ[a,0] || Not[BinomialQ[u,x] && EqQ[BinomialDegree[u,x]^2,1]])

2:  ∫(((a+b x))^m)Log[u]dx  when  InverseFunctionFreeQ[u,x] ∧ m≠-1

Reference: G&R 2.725.1, A&S 4.1.54

Derivation: Integration by parts

Basis: (((a+b x))^m)==(∂_x)((((a+b x))^(m+1))/(b (m+1)))

Rule: If  InverseFunctionFreeQ[u,x] ∧ m≠-1, then

∫(((a+b x))^m)Log[u]dx  ⟶  (((((a+b x))^(m+1)) Log[u])/(b(m+1)))-(1/(b(m+1)))∫(((((a+b x))^(m+1))(∂_x)u)/u)dx

Program code:

Int[(a_.+b_.*x_)^m_.*Log[u_],x_Symbol] :=
  (a+b*x)^(m+1)*Log[u]/(b*(m+1)) - 
  1/(b*(m+1))*Int[SimplifyIntegrand[(a+b*x)^(m+1)*D[u,x]/u,x],x] /;
FreeQ[{a,b,m},x] && InverseFunctionFreeQ[u,x] && NeQ[m,-1] (* && Not[FunctionOfQ[x^(m+1),u,x]] && FalseQ[PowerVariableExpn[u,m+1,x]] *)

3:  ∫((Log[u])/(Subscript[Q, x]))dx  when  QuadraticQ[(Subscript[Q, x])] ∧ InverseFunctionFreeQ[u,x]

Derivation: Integration by parts

Rule: If  QuadraticQ[(Subscript[Q, x])] ∧ InverseFunctionFreeQ[u,x], let v=∫(1/(Subscript[Q, x]))dx, then

∫((Log[u])/(Subscript[Q, x]))dx  ⟶  v Log[u]-∫((v(∂_x)u)/u)dx

Program code:

Int[Log[u_]/Qx_,x_Symbol] :=
  With[{v=IntHide[1/Qx,x]},  
  v*Log[u] - Int[SimplifyIntegrand[v*D[u,x]/u,x],x]] /;
QuadraticQ[Qx,x] && InverseFunctionFreeQ[u,x]

4:  ∫(u^(a x))Log[u]dx  when  u is free of inverse functions

Basis: (u^(a x)) Log[u]==(((∂_x)(u^(a x)))/a)-x (u^(a x-1)) (∂_x)u

Rule: If  InverseFunctionFreeQ[u,x], then

∫(u^(a x))Log[u]dx  ⟶  ((u^(a x))/a)-∫x (u^(a x-1))(∂_x)udx

Program code:

Int[u_^(a_.*x_)*Log[u_],x_Symbol] :=
  u^(a*x)/a - Int[SimplifyIntegrand[x*u^(a*x-1)*D[u,x],x],x] /;
FreeQ[a,x] && InverseFunctionFreeQ[u,x]

5:  ∫v Log[u]dx  when  u and ∫vdx  are free of inverse functions

Derivation: Integration by parts

Rule: If  InverseFunctionFreeQ[u,x], let w=∫vdx, if  InverseFunctionFreeQ[w,x], then

∫v Log[u]dx  ⟶  w Log[u]-(1/b)∫((w(∂_x)u)/u)dx

Program code:

Int[v_*Log[u_],x_Symbol] :=
  With[{w=IntHide[v,x]},  
  Dist[Log[u],w,x] - Int[SimplifyIntegrand[w*D[u,x]/u,x],x] /;
 InverseFunctionFreeQ[w,x]] /;
InverseFunctionFreeQ[u,x]

Int[v_*Log[u_],x_Symbol] :=
  With[{w=IntHide[v,x]},  
  Dist[Log[u],w,x] - Int[SimplifyIntegrand[w*Simplify[D[u,x]/u],x],x] /;
 InverseFunctionFreeQ[w,x]] /;
ProductQ[u]

12.  ∫u Log[v]Log[w]dx  when  v,w and ∫udx  are free of inverse functions

1:  ∫Log[v]Log[w]dx  when  v and w  are free of inverse functions

Derivation: Integration by parts

Rule: If v and w are free of inverse functions, then

∫Log[v]Log[w]dx  ⟶  x Log[v]Log[w]-∫((x Log[w](∂_x)v)/v)dx-∫((x Log[v](∂_x)w)/w)dx

Program code:

Int[Log[v_]*Log[w_],x_Symbol] :=
  x*Log[v]*Log[w] - 
  Int[SimplifyIntegrand[x*Log[w]*D[v,x]/v,x],x] - 
  Int[SimplifyIntegrand[x*Log[v]*D[w,x]/w,x],x] /;
InverseFunctionFreeQ[v,x] && InverseFunctionFreeQ[w,x]

2:  ∫u Log[v]Log[w]dx  when  v,w and ∫udx  are free of inverse functions

Derivation: Integration by parts

Rule: If v and w are free of inverse functions, let  z==∫udx, if z is free of inverse functions, then

∫u Log[v]Log[w]dx  ⟶  z Log[v]Log[w]-∫((z Log[w](∂_x)v)/v)dx-∫((z Log[v](∂_x)w)/w)dx

Program code:

Int[u_*Log[v_]*Log[w_],x_Symbol] :=
  With[{z=IntHide[u,x]},  
  Dist[Log[v]*Log[w],z,x] - 
  Int[SimplifyIntegrand[z*Log[w]*D[v,x]/v,x],x] - 
  Int[SimplifyIntegrand[z*Log[v]*D[w,x]/w,x],x] /;
 InverseFunctionFreeQ[z,x]] /;
InverseFunctionFreeQ[v,x] && InverseFunctionFreeQ[w,x]

13:  ∫(f^(a Log[u]))dx

Derivation: Algebraic simplification

Basis: (f^(a Log[g]))=(g^(a Log[f]))

Rule:

∫(f^(a Log[u]))dx  ⟶  ∫(u^(a Log[f]))dx

Program code:

Int[f_^(a_.*Log[u_]),x_Symbol] :=
  Int[u^(a*Log[f]),x] /;
FreeQ[{a,f},x]

14:  ∫((F[Log[a (x^n)]])/x)dx

Derivation: Integration by substitution

Basis: ((F[Log[a (x^n)]])/x)=(1/n) F[Log[a (x^n)]] (∂_x)Log[a (x^n)]

Rule:

∫((F[Log[a (x^n)]])/x)dx  ⟶  (1/n) Subst[∫F[x]dx,x,Log[a (x^n)]]

Program code:

(* If[TrueQ[$LoadShowSteps],

Int[u_/x_,x_Symbol] :=
  With[{lst=FunctionOfLog[u,x]},
  ShowStep["","Int[F[Log[a*x^n]]/x,x]","Subst[Int[F[x],x],x,Log[a*x^n]]/n",Hold[
  1/lst[[3]]*Subst[Int[lst[[1]],x],x,Log[lst[[2]]]]]] /;
 Not[FalseQ[lst]]] /;
SimplifyFlag && NonsumQ[u],

Int[u_/x_,x_Symbol] :=
  With[{lst=FunctionOfLog[u,x]},
  1/lst[[3]]*Subst[Int[lst[[1]],x],x,Log[lst[[2]]]] /;
 Not[FalseQ[lst]]] /;
NonsumQ[u]] *)

If[TrueQ[$LoadShowSteps],

Int[u_,x_Symbol] :=
  With[{lst=FunctionOfLog[Cancel[x*u],x]},
  ShowStep["","Int[F[Log[a*x^n]]/x,x]","Subst[Int[F[x],x],x,Log[a*x^n]]/n",Hold[
  1/lst[[3]]*Subst[Int[lst[[1]],x],x,Log[lst[[2]]]]]] /;
 Not[FalseQ[lst]]] /;
SimplifyFlag && NonsumQ[u],

Int[u_,x_Symbol] :=
  With[{lst=FunctionOfLog[Cancel[x*u],x]},
  1/lst[[3]]*Subst[Int[lst[[1]],x],x,Log[lst[[2]]]] /;
 Not[FalseQ[lst]]] /;
NonsumQ[u]]

15:  ∫u Log[Gamma[v]]dx

Derivation: Piecewise constant extraction

Basis: (∂_x)(Log[Gamma[F[x]]]-LogGamma[F[x]])==0

Rule:

∫u Log[Gamma[v]]dx  ⟶  (Log[Gamma[v]]-LogGamma[v])∫udx+∫u LogGamma[v]dx

Program code:

Int[u_.*Log[Gamma[v_]],x_Symbol] :=
  (Log[Gamma[v]]-LogGamma[v])*Int[u,x] + Int[u*LogGamma[v],x]

N:  ∫u (((a (x^m)+b (x^r) ((Log[c (x^n)])^q)))^p)dx  when  p∈ℤ

Derivation: Algebraic normalization

Rule: If  p∈ℤ, then

∫u (((a (x^m)+b (x^r) ((Log[c (x^n)])^q)))^p)dx  ⟶  ∫u (x^(p r)) (((a (x^(m-r))+b ((Log[c (x^n)])^q)))^p)dx

Program code:

Int[u_.*(a_.*x_^m_.+b_.*x_^r_.*Log[c_.*x_^n_.]^q_.)^p_.,x_Symbol] :=
  Int[u*x^(p*r)*(a*x^(m-r)+b*Log[c*x^n]^q)^p,x] /;
FreeQ[{a,b,c,m,n,p,q,r},x] && IntegerQ[p]