Rubi 4.

8
Rule-Based Integrator
Crafted by Albert D. Rich, Applied Logician
Store this Mathematica notebook file and the Rubi package files in a directory of your
choice. Then press Shift-Enter or use Mathematica's Evaluation>Evaluate Initialization
Cells command to evaluate the cells in this notebook. This loads Rubi’s 6100+ integration
rules, show-step routines and required utility functions. This process may require a few
minutes, depending on the speed of your computer.
If the control variable ShowSteps is True when the rules are being loaded, their definitions
are automatically modified to display the steps Rubi uses to integrate expressions. To
load the integrator without this considerable overhead, change the value of the following
assignment to False before loading the integrator.
In[1]:=

In[2]:=

ShowSteps=True;
Get[NotebookDirectory[]<>"ShowStep routines.m "];
Get[NotebookDirectory[]<>"Integration utility functions.m "];
Clear[Int];
Int::usage="Int [expn, var]";
LoadPackage["9.1 Integrand simplification rules"];
LoadPackage["1.1 Linear products"];
LoadPackage["1.2 Quadratic products"];
LoadPackage["1.3 Binomial products"];
LoadPackage["1.4 Trinomial products"];
LoadPackage["1.5 Miscellaneous algebraic functions"];
LoadPackage["9.3 Piecewise linear functions"];
LoadPackage["2 Exponentials"];
LoadPackage["3 Logarithms "];
LoadPackage["4.1 Sine"];
LoadPackage["4.2 Tangent"];
LoadPackage["4.3 Secant"];
LoadPackage["4.4 Miscellaneous trig functions"];
LoadPackage["5 Inverse trig functions"];
LoadPackage["6 Hyperbolic functions"];
LoadPackage["7 Inverse hyperbolic functions"];
LoadPackage["8 Special functions"];
LoadPackage["9.2 Derivative integration rules"];
LoadPackage["9.4 Miscellaneous integration rules"];
FixIntRules[];

b2 ] 2 2 p m  cos[e + f x] (a + b sin[e + f x]) ⅆ x ⟶ Dist In[29]:= 1 bp f . Sin[x]. Subst (a + x)m+ SubstInt 1 (1 -x) (1 +x)3/2 p-1 2 (a . x. b .a d) . x 1 1 1 . x +Dist .a d) .b2 ] && p ≥ -1 || ! IntegerQm +  && ZeroQ[a2 . x. In[28]:= Sec[x] Int . 1 +Sin[x]  a Rule 576: If NegQ . x. (c + d x)n  In[30]:= a+bx ⅆ x ⟶ -Simp (c + d x)n+1 (n + 1) (b c . StepFunction[Int]]. x . let p = Denominator[n]. x + Dist b (n + 1) (n + 1) (b c . Modifying 6199 integration rules to display steps. b Sin[e + f x]. (c + d x)n+1 a+bx ⅆ x. Sin[x] Rule 63: If NonzeroQ[b c . To change the display color of the rules and conditions.2 Rubi4. x. x.8. To suppress the display of the steps and just show the antiderivative.x) p-1 ⅆ x.a d] && RationalQ[n] && n < -1. Subst +SubstInt 1 +Sin[x] 1 2 -x2 xp (n+1)-1 a d . move the cursor to the line below and press Shift-Enter or the numeric keypads Enter key to evaluate the cell. SubstInt 2 (1 -x) 1 +x 1 +Sin[x] - Rule 62: If NonzeroQ[b c .a d] && RationalQ[n] && -1 < n < 0. x 1+Sin[x] Rule 2371: If IntegerQ p-1 1  && ZeroQ[a2 . x 2 .b c + b xp . then (c + d x)n  In[31]:= a+bx 1 - ⅆ x ⟶ Distp. set the control variable ShowSteps to False.. x. set the control variables $RuleColor and $ConditionColor to the desired colors. x . x. .. (c + d x)1/p . x. To see the steps required to integrate the following expression. Then repeat this process on the intermediate results until the expression is completely integrated.nb In[26]:= If[ShowSteps.ab ArcTanh 1  a + b x2 1+Sin[x]  2 In[32]:= - 2 2 Out[32]= 2 a 1 1 +Sin[x] 1+Sin[x] ArcTanh  -  a -b ⅆ x ⟶ Simp ArcTanh x 1 1 +Sin[x] ⅆ x.

Sign up to vote on this title
UsefulNot useful