Skip to content

Commit c139280

Browse files
committed
Fix building of packaged rules
1 parent f4508f6 commit c139280

File tree

171 files changed

+7093
-7283
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

171 files changed

+7093
-7283
lines changed
Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11

2-
(* ::Section:: *)
3-
(* 1.1.1.1 (a+b x)^m *)
4-
52
(* ::Subsection::Closed:: *)
63
(* 1.1.1.1 (a+b x)^m *)
7-
Int[1/(x_), x_Symbol] := Log[x]
8-
Int[(x_)^(m_.), x_Symbol] := x^(m + 1)/(m + 1) /; FreeQ[m, x] && NeQ[m, -1]
9-
Int[1/((a_) + (b_.)*(x_)), x_Symbol] := Log[RemoveContent[a + b*x, x]]/b /; FreeQ[{a, b}, x]
10-
Int[((a_.) + (b_.)*(x_))^(m_), x_Symbol] := (a + b*x)^(m + 1)/(b*(m + 1)) /; FreeQ[{a, b, m}, x] && NeQ[m, -1]
11-
Int[((a_.) + (b_.)*(u_))^(m_), x_Symbol] := (1/Coefficient[u, x, 1])*Subst[Int[(a + b*x)^m, x], x, u] /; FreeQ[{a, b, m}, x] && LinearQ[u, x] && NeQ[u, x]
4+
Int[1/x_, x_Symbol] := Log[x]
5+
Int[x_^m_., x_Symbol] := x^(m + 1)/(m + 1) /; FreeQ[m, x] && NeQ[m, -1]
6+
Int[1/(a_ + b_.*x_), x_Symbol] := Log[RemoveContent[a + b*x, x]]/b /; FreeQ[{a, b}, x]
7+
Int[(a_. + b_.*x_)^m_, x_Symbol] := (a + b*x)^(m + 1)/(b*(m + 1)) /; FreeQ[{a, b, m}, x] && NeQ[m, -1]
8+
Int[(a_. + b_.*u_)^m_, x_Symbol] := 1/Coefficient[u, x, 1]*Subst[Int[(a + b*x)^m, x], x, u] /; FreeQ[{a, b, m}, x] && LinearQ[u, x] && NeQ[u, x]

Rubi/IntegrationRules/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.2 (a+b x)^m (c+d x)^n.m

Lines changed: 39 additions & 42 deletions
Large diffs are not rendered by default.

Rubi/IntegrationRules/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.3 (a+b x)^m (c+d x)^n (e+f x)^p.m

Lines changed: 74 additions & 73 deletions
Large diffs are not rendered by default.

Rubi/IntegrationRules/1 Algebraic functions/1.1 Binomial products/1.1.1 Linear/1.1.1.4 (a+b x)^m (c+d x)^n (e+f x)^p (g+h x)^q.m

Lines changed: 49 additions & 50 deletions
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,11 @@
11

2-
(* ::Section:: *)
3-
(* 1.1.1.5 P(x) (a+b x)^m (c+d x)^n *)
4-
52
(* ::Subsection::Closed:: *)
63
(* 1.1.1.5 P(x) (a+b x)^m (c+d x)^n *)
7-
Int[(Px_)*((a_.) + (b_.)*(x_))^(m_.)*((c_.) + (d_.)*(x_))^(n_.), x_Symbol] := Int[Px*(a*c + b*d*x^2)^m, x] /; FreeQ[{a, b, c, d, m, n}, x] && PolyQ[Px, x] && EqQ[b*c + a*d, 0] && EqQ[m, n] && (IntegerQ[m] || (GtQ[a, 0] && GtQ[c, 0]))
8-
Int[(Px_)*((a_.) + (b_.)*(x_))^(m_)*((c_.) + (d_.)*(x_))^(n_), x_Symbol] := (a + b*x)^FracPart[m]*((c + d*x)^FracPart[m]/(a*c + b*d*x^2)^FracPart[m])*Int[Px*(a*c + b*d*x^2)^m, x] /; FreeQ[{a, b, c, d, m, n}, x] && PolyQ[Px, x] && EqQ[b*c + a*d, 0] && EqQ[m, n] && !IntegerQ[m]
9-
Int[(Px_)*((a_.) + (b_.)*(x_))^(m_.)*((c_.) + (d_.)*(x_))^(n_.), x_Symbol] := Int[PolynomialQuotient[Px, a + b*x, x]*(a + b*x)^(m + 1)*(c + d*x)^n, x] /; FreeQ[{a, b, c, d, m, n}, x] && PolyQ[Px, x] && EqQ[PolynomialRemainder[Px, a + b*x, x], 0]
10-
Int[(Px_)*(((c_.) + (d_.)*(x_))^(n_.)/((a_.) + (b_.)*(x_))), x_Symbol] := Int[ExpandIntegrand[1/Sqrt[c + d*x], Px*((c + d*x)^(n + 1/2)/(a + b*x)), x], x] /; FreeQ[{a, b, c, d, n}, x] && PolyQ[Px, x] && ILtQ[n + 1/2, 0] && GtQ[Expon[Px, x], 2]
11-
Int[(Px_)*((a_.) + (b_.)*(x_))^(m_.)*((c_.) + (d_.)*(x_))^(n_.), x_Symbol] := Int[ExpandIntegrand[Px*(a + b*x)^m*(c + d*x)^n, x], x] /; FreeQ[{a, b, c, d, m, n}, x] && PolyQ[Px, x] && (IntegersQ[m, n] || IGtQ[m, -2]) && GtQ[Expon[Px, x], 2]
12-
Int[(Px_)*((a_.) + (b_.)*(x_))^(m_)*((c_.) + (d_.)*(x_))^(n_.), x_Symbol] := With[{Qx = PolynomialQuotient[Px, a + b*x, x], R = PolynomialRemainder[Px, a + b*x, x]}, R*(a + b*x)^(m + 1)*((c + d*x)^(n + 1)/((m + 1)*(b*c - a*d))) + (1/((m + 1)*(b*c - a*d)))*Int[(a + b*x)^(m + 1)*(c + d*x)^n*ExpandToSum[(m + 1)*(b*c - a*d)*Qx - d*R*(m + n + 2), x], x]] /; FreeQ[{a, b, c, d, n}, x] && PolyQ[Px, x] && ILtQ[m, -1] && GtQ[Expon[Px, x], 2]
13-
Int[(Px_)*((a_.) + (b_.)*(x_))^(m_)*((c_.) + (d_.)*(x_))^(n_.), x_Symbol] := With[{Qx = PolynomialQuotient[Px, a + b*x, x], R = PolynomialRemainder[Px, a + b*x, x]}, R*(a + b*x)^(m + 1)*((c + d*x)^(n + 1)/((m + 1)*(b*c - a*d))) + (1/((m + 1)*(b*c - a*d)))*Int[(a + b*x)^(m + 1)*(c + d*x)^n*ExpandToSum[(m + 1)*(b*c - a*d)*Qx - d*R*(m + n + 2), x], x]] /; FreeQ[{a, b, c, d, n}, x] && PolyQ[Px, x] && LtQ[m, -1] && GtQ[Expon[Px, x], 2]
14-
Int[(Px_)*((a_.) + (b_.)*(x_))^(m_.)*((c_.) + (d_.)*(x_))^(n_.), x_Symbol] := With[{q = Expon[Px, x], k = Coeff[Px, x, Expon[Px, x]]}, k*(a + b*x)^(m + q)*((c + d*x)^(n + 1)/(d*b^q*(m + n + q + 1))) + (1/(d*b^q*(m + n + q + 1)))*Int[(a + b*x)^m*(c + d*x)^n*ExpandToSum[d*b^q*(m + n + q + 1)*Px - d*k*(m + n + q + 1)*(a + b*x)^q - k*(b*c - a*d)*(m + q)*(a + b*x)^(q - 1), x], x] /; NeQ[m + n + q + 1, 0]] /; FreeQ[{a, b, c, d, m, n}, x] && PolyQ[Px, x] && GtQ[Expon[Px, x], 2]
4+
Int[Px_*(a_. + b_.*x_)^m_.*(c_. + d_.*x_)^n_., x_Symbol] := Int[Px*(a*c + b*d*x^2)^m, x] /; FreeQ[{a, b, c, d, m, n}, x] && PolyQ[Px, x] && EqQ[b*c + a*d, 0] && EqQ[m, n] && (IntegerQ[m] || GtQ[a, 0] && GtQ[c, 0])
5+
Int[Px_*(a_. + b_.*x_)^m_*(c_. + d_.*x_)^n_, x_Symbol] := (a + b*x)^ FracPart[m]*(c + d*x)^FracPart[m]/(a*c + b*d*x^2)^FracPart[m]* Int[Px*(a*c + b*d*x^2)^m, x] /; FreeQ[{a, b, c, d, m, n}, x] && PolyQ[Px, x] && EqQ[b*c + a*d, 0] && EqQ[m, n] && Not[IntegerQ[m]]
6+
Int[Px_*(a_. + b_.*x_)^m_.*(c_. + d_.*x_)^n_., x_Symbol] := Int[PolynomialQuotient[Px, a + b*x, x]*(a + b*x)^(m + 1)*(c + d*x)^n, x] /; FreeQ[{a, b, c, d, m, n}, x] && PolyQ[Px, x] && EqQ[PolynomialRemainder[Px, a + b*x, x], 0]
7+
Int[Px_*(c_. + d_.*x_)^n_./(a_. + b_.*x_), x_Symbol] := Int[ExpandIntegrand[1/Sqrt[c + d*x], Px*(c + d*x)^(n + 1/2)/(a + b*x), x], x] /; FreeQ[{a, b, c, d, n}, x] && PolyQ[Px, x] && ILtQ[n + 1/2, 0] && GtQ[Expon[Px, x], 2]
8+
Int[Px_*(a_. + b_.*x_)^m_.*(c_. + d_.*x_)^n_., x_Symbol] := Int[ExpandIntegrand[Px*(a + b*x)^m*(c + d*x)^n, x], x] /; FreeQ[{a, b, c, d, m, n}, x] && PolyQ[Px, x] && (IntegersQ[m, n] || IGtQ[m, -2]) && GtQ[Expon[Px, x], 2]
9+
Int[Px_*(a_. + b_.*x_)^m_*(c_. + d_.*x_)^n_., x_Symbol] := With[{Qx = PolynomialQuotient[Px, a + b*x, x], R = PolynomialRemainder[Px, a + b*x, x]}, R*(a + b*x)^(m + 1)*(c + d*x)^(n + 1)/((m + 1)*(b*c - a*d)) + 1/((m + 1)*(b*c - a*d))* Int[(a + b*x)^(m + 1)*(c + d*x)^n* ExpandToSum[(m + 1)*(b*c - a*d)*Qx - d*R*(m + n + 2), x], x]] /; FreeQ[{a, b, c, d, n}, x] && PolyQ[Px, x] && ILtQ[m, -1] && GtQ[Expon[Px, x], 2]
10+
Int[Px_*(a_. + b_.*x_)^m_*(c_. + d_.*x_)^n_., x_Symbol] := With[{Qx = PolynomialQuotient[Px, a + b*x, x], R = PolynomialRemainder[Px, a + b*x, x]}, R*(a + b*x)^(m + 1)*(c + d*x)^(n + 1)/((m + 1)*(b*c - a*d)) + 1/((m + 1)*(b*c - a*d))* Int[(a + b*x)^(m + 1)*(c + d*x)^n* ExpandToSum[(m + 1)*(b*c - a*d)*Qx - d*R*(m + n + 2), x], x]] /; FreeQ[{a, b, c, d, n}, x] && PolyQ[Px, x] && LtQ[m, -1] && GtQ[Expon[Px, x], 2]
11+
Int[Px_*(a_. + b_.*x_)^m_.*(c_. + d_.*x_)^n_., x_Symbol] := With[{q = Expon[Px, x], k = Coeff[Px, x, Expon[Px, x]]}, k*(a + b*x)^(m + q)*(c + d*x)^(n + 1)/(d*b^q*(m + n + q + 1)) + 1/(d*b^q*(m + n + q + 1))*Int[(a + b*x)^m*(c + d*x)^n* ExpandToSum[ d*b^q*(m + n + q + 1)*Px - d*k*(m + n + q + 1)*(a + b*x)^q - k*(b*c - a*d)*(m + q)*(a + b*x)^(q - 1), x], x] /; NeQ[m + n + q + 1, 0]] /; FreeQ[{a, b, c, d, m, n}, x] && PolyQ[Px, x] && GtQ[Expon[Px, x], 2]
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,10 @@
11

2-
(* ::Section:: *)
3-
(* 1.1.1.6 P(x) (a+b x)^m (c+d x)^n (e+f x)^p *)
4-
52
(* ::Subsection::Closed:: *)
63
(* 1.1.1.6 P(x) (a+b x)^m (c+d x)^n (e+f x)^p *)
7-
Int[(Px_)*((a_.) + (b_.)*(x_))^(m_.)*((c_.) + (d_.)*(x_))^(n_.)*((e_.) + (f_.)*(x_))^(p_.), x_Symbol] := Int[Px*(a*c + b*d*x^2)^m*(e + f*x)^p, x] /; FreeQ[{a, b, c, d, e, f, m, n, p}, x] && PolyQ[Px, x] && EqQ[b*c + a*d, 0] && EqQ[m, n] && (IntegerQ[m] || (GtQ[a, 0] && GtQ[c, 0]))
8-
Int[(Px_)*((a_.) + (b_.)*(x_))^(m_)*((c_.) + (d_.)*(x_))^(n_)*((e_.) + (f_.)*(x_))^(p_.), x_Symbol] := (a + b*x)^FracPart[m]*((c + d*x)^FracPart[m]/(a*c + b*d*x^2)^FracPart[m])*Int[Px*(a*c + b*d*x^2)^m*(e + f*x)^p, x] /; FreeQ[{a, b, c, d, e, f, m, n, p}, x] && PolyQ[Px, x] && EqQ[b*c + a*d, 0] && EqQ[m, n] && !IntegerQ[m]
9-
Int[(Px_)*((a_.) + (b_.)*(x_))^(m_.)*((c_.) + (d_.)*(x_))^(n_.)*((e_.) + (f_.)*(x_))^(p_.), x_Symbol] := Int[PolynomialQuotient[Px, a + b*x, x]*(a + b*x)^(m + 1)*(c + d*x)^n*(e + f*x)^p, x] /; FreeQ[{a, b, c, d, e, f, m, n, p}, x] && PolyQ[Px, x] && EqQ[PolynomialRemainder[Px, a + b*x, x], 0]
10-
Int[(Px_)*((a_.) + (b_.)*(x_))^(m_.)*((c_.) + (d_.)*(x_))^(n_.)*((e_.) + (f_.)*(x_))^(p_.), x_Symbol] := Int[ExpandIntegrand[Px*(a + b*x)^m*(c + d*x)^n*(e + f*x)^p, x], x] /; FreeQ[{a, b, c, d, e, f, m, n, p}, x] && PolyQ[Px, x] && IntegersQ[m, n]
11-
Int[(Px_)*((a_.) + (b_.)*(x_))^(m_)*((c_.) + (d_.)*(x_))^(n_.)*((e_.) + (f_.)*(x_))^(p_.), x_Symbol] := With[{Qx = PolynomialQuotient[Px, a + b*x, x], R = PolynomialRemainder[Px, a + b*x, x]}, b*R*(a + b*x)^(m + 1)*(c + d*x)^(n + 1)*((e + f*x)^(p + 1)/((m + 1)*(b*c - a*d)*(b*e - a*f))) + (1/((m + 1)*(b*c - a*d)*(b*e - a*f)))*Int[(a + b*x)^(m + 1)*(c + d*x)^n*(e + f*x)^p*ExpandToSum[(m + 1)*(b*c - a*d)*(b*e - a*f)*Qx + a*d*f*R*(m + 1) - b*R*(d*e*(m + n + 2) + c*f*(m + p + 2)) - b*d*f*R*(m + n + p + 3)*x, x], x]] /; FreeQ[{a, b, c, d, e, f, n, p}, x] && PolyQ[Px, x] && ILtQ[m, -1] && IntegersQ[2*m, 2*n, 2*p]
12-
Int[(Px_)*((a_.) + (b_.)*(x_))^(m_)*((c_.) + (d_.)*(x_))^(n_.)*((e_.) + (f_.)*(x_))^(p_.), x_Symbol] := With[{Qx = PolynomialQuotient[Px, a + b*x, x], R = PolynomialRemainder[Px, a + b*x, x]}, b*R*(a + b*x)^(m + 1)*(c + d*x)^(n + 1)*((e + f*x)^(p + 1)/((m + 1)*(b*c - a*d)*(b*e - a*f))) + (1/((m + 1)*(b*c - a*d)*(b*e - a*f)))*Int[(a + b*x)^(m + 1)*(c + d*x)^n*(e + f*x)^p*ExpandToSum[(m + 1)*(b*c - a*d)*(b*e - a*f)*Qx + a*d*f*R*(m + 1) - b*R*(d*e*(m + n + 2) + c*f*(m + p + 2)) - b*d*f*R*(m + n + p + 3)*x, x], x]] /; FreeQ[{a, b, c, d, e, f, n, p}, x] && PolyQ[Px, x] && LtQ[m, -1] && IntegersQ[2*m, 2*n, 2*p]
13-
Int[(Px_)*((a_.) + (b_.)*(x_))^(m_.)*((c_.) + (d_.)*(x_))^(n_.)*((e_.) + (f_.)*(x_))^(p_.), x_Symbol] := With[{q = Expon[Px, x], k = Coeff[Px, x, Expon[Px, x]]}, k*(a + b*x)^(m + q - 1)*(c + d*x)^(n + 1)*((e + f*x)^(p + 1)/(d*f*b^(q - 1)*(m + n + p + q + 1))) + (1/(d*f*b^q*(m + n + p + q + 1)))*Int[(a + b*x)^m*(c + d*x)^n*(e + f*x)^p*ExpandToSum[d*f*b^q*(m + n + p + q + 1)*Px - d*f*k*(m + n + p + q + 1)*(a + b*x)^q + k*(a + b*x)^(q - 2)*(a^2*d*f*(m + n + p + q + 1) - b*(b*c*e*(m + q - 1) + a*(d*e*(n + 1) + c*f*(p + 1))) + b*(a*d*f*(2*(m + q) + n + p) - b*(d*e*(m + q + n) + c*f*(m + q + p)))*x), x], x] /; NeQ[m + n + p + q + 1, 0]] /; FreeQ[{a, b, c, d, e, f, m, n, p}, x] && PolyQ[Px, x] && IntegersQ[2*m, 2*n, 2*p]
4+
Int[Px_*(a_. + b_.*x_)^m_.*(c_. + d_.*x_)^n_.*(e_. + f_.*x_)^p_., x_Symbol] := Int[Px*(a*c + b*d*x^2)^m*(e + f*x)^p, x] /; FreeQ[{a, b, c, d, e, f, m, n, p}, x] && PolyQ[Px, x] && EqQ[b*c + a*d, 0] && EqQ[m, n] && (IntegerQ[m] || GtQ[a, 0] && GtQ[c, 0])
5+
Int[Px_*(a_. + b_.*x_)^m_*(c_. + d_.*x_)^n_*(e_. + f_.*x_)^p_., x_Symbol] := (a + b*x)^ FracPart[m]*(c + d*x)^FracPart[m]/(a*c + b*d*x^2)^FracPart[m]* Int[Px*(a*c + b*d*x^2)^m*(e + f*x)^p, x] /; FreeQ[{a, b, c, d, e, f, m, n, p}, x] && PolyQ[Px, x] && EqQ[b*c + a*d, 0] && EqQ[m, n] && Not[IntegerQ[m]]
6+
Int[Px_*(a_. + b_.*x_)^m_.*(c_. + d_.*x_)^n_.*(e_. + f_.*x_)^p_., x_Symbol] := Int[PolynomialQuotient[Px, a + b*x, x]*(a + b*x)^(m + 1)*(c + d*x)^ n*(e + f*x)^p, x] /; FreeQ[{a, b, c, d, e, f, m, n, p}, x] && PolyQ[Px, x] && EqQ[PolynomialRemainder[Px, a + b*x, x], 0]
7+
Int[Px_*(a_. + b_.*x_)^m_.*(c_. + d_.*x_)^n_.*(e_. + f_.*x_)^p_., x_Symbol] := Int[ExpandIntegrand[Px*(a + b*x)^m*(c + d*x)^n*(e + f*x)^p, x], x] /; FreeQ[{a, b, c, d, e, f, m, n, p}, x] && PolyQ[Px, x] && IntegersQ[m, n]
8+
Int[Px_*(a_. + b_.*x_)^m_*(c_. + d_.*x_)^n_.*(e_. + f_.*x_)^p_., x_Symbol] := With[{Qx = PolynomialQuotient[Px, a + b*x, x], R = PolynomialRemainder[Px, a + b*x, x]}, b*R*(a + b*x)^(m + 1)*(c + d*x)^(n + 1)*(e + f*x)^(p + 1)/((m + 1)*(b*c - a*d)*(b*e - a*f)) + 1/((m + 1)*(b*c - a*d)*(b*e - a*f))* Int[(a + b*x)^(m + 1)*(c + d*x)^n*(e + f*x)^p* ExpandToSum[(m + 1)*(b*c - a*d)*(b*e - a*f)*Qx + a*d*f*R*(m + 1) - b*R*(d*e*(m + n + 2) + c*f*(m + p + 2)) - b*d*f*R*(m + n + p + 3)*x, x], x]] /; FreeQ[{a, b, c, d, e, f, n, p}, x] && PolyQ[Px, x] && ILtQ[m, -1] && IntegersQ[2*m, 2*n, 2*p]
9+
Int[Px_*(a_. + b_.*x_)^m_*(c_. + d_.*x_)^n_.*(e_. + f_.*x_)^p_., x_Symbol] := With[{Qx = PolynomialQuotient[Px, a + b*x, x], R = PolynomialRemainder[Px, a + b*x, x]}, b*R*(a + b*x)^(m + 1)*(c + d*x)^(n + 1)*(e + f*x)^(p + 1)/((m + 1)*(b*c - a*d)*(b*e - a*f)) + 1/((m + 1)*(b*c - a*d)*(b*e - a*f))* Int[(a + b*x)^(m + 1)*(c + d*x)^n*(e + f*x)^p* ExpandToSum[(m + 1)*(b*c - a*d)*(b*e - a*f)*Qx + a*d*f*R*(m + 1) - b*R*(d*e*(m + n + 2) + c*f*(m + p + 2)) - b*d*f*R*(m + n + p + 3)*x, x], x]] /; FreeQ[{a, b, c, d, e, f, n, p}, x] && PolyQ[Px, x] && LtQ[m, -1] && IntegersQ[2*m, 2*n, 2*p]
10+
Int[Px_*(a_. + b_.*x_)^m_.*(c_. + d_.*x_)^n_.*(e_. + f_.*x_)^p_., x_Symbol] := With[{q = Expon[Px, x], k = Coeff[Px, x, Expon[Px, x]]}, k*(a + b*x)^(m + q - 1)*(c + d*x)^(n + 1)*(e + f*x)^(p + 1)/(d*f* b^(q - 1)*(m + n + p + q + 1)) + 1/(d*f*b^q*(m + n + p + q + 1))* Int[(a + b*x)^m*(c + d*x)^n*(e + f*x)^p* ExpandToSum[ d*f*b^q*(m + n + p + q + 1)*Px - d*f*k*(m + n + p + q + 1)*(a + b*x)^q + k*(a + b*x)^(q - 2)*(a^2*d*f*(m + n + p + q + 1) - b*(b*c*e*(m + q - 1) + a*(d*e*(n + 1) + c*f*(p + 1))) + b*(a*d*f*(2*(m + q) + n + p) - b*(d*e*(m + q + n) + c*f*(m + q + p)))*x), x], x] /; NeQ[m + n + p + q + 1, 0]] /; FreeQ[{a, b, c, d, e, f, m, n, p}, x] && PolyQ[Px, x] && IntegersQ[2*m, 2*n, 2*p]

0 commit comments

Comments
 (0)