|
1 | | -# IntegratorTestProgram |
2 | | -Mathematica program for testing Rubi and Mathematica's built-in integrator |
| 1 | + **D R A F T - Work in progress** |
| 2 | + |
| 3 | +# Integrator Test Program |
| 4 | +### A Mathematica program for testing Rubi and Mathematica's built-in integrator |
| 5 | + |
| 6 | +This Mathematica package consists of an integrator test program and a test suite of over 70000 integration problems. |
| 7 | +The program can test both Rubi and Mathematica's built-in integrator on all or some of the problems. |
| 8 | +It generates a notebook showing the problems on which the integrator being tested is deficient. |
| 9 | +These test results can optionally be saved as a notebook file. |
| 10 | +Mathematica 7 or later is required to run the test program. |
| 11 | + |
| 12 | +For Mathematica 11.2 or later, use the `PacletInstall` command |
| 13 | + |
| 14 | +```mathematica |
| 15 | +PacletInstall[ |
| 16 | + "https://github.com/RuleBasedIntegration/IntegratorTestProgram/releases/download/???/IntegratorTestProgram-???.paclet" |
| 17 | +] |
| 18 | +``` |
| 19 | +to download the current integrator test program paclet directly from the online repository on GitHub, and |
| 20 | +then install it on your computer as a Mathematica package named `IntegratorTestProgram`. |
| 21 | + |
| 22 | +After installing the package, use the `Get` command |
| 23 | +```mma |
| 24 | +<<IntegratorTestProgram` |
| 25 | +``` |
| 26 | +to load the test program into Mathematica. |
| 27 | +This defines the command functions `TestRubi` and `TestMathematica` that test Rubi and Mathematica's built-in integrator, respectively. |
| 28 | + |
| 29 | +If `filenames` is a test file name or list of file names, `TestRubi[filenames]` tests Rubi on the integration problems in the list of files. |
| 30 | +For example, the command |
| 31 | +```mma |
| 32 | +TestRubi[$IndependentTestFiles] |
| 33 | +``` |
| 34 | +tests Rubi on collections of integration problems developed independently by authors of calculus textbooks, implementors of computer algebra systems and others. |
| 35 | +Running the test generates a notebook that shows the problems on which Rubi is deficient. |
| 36 | +For each deficient result the following is shown: |
| 37 | +* The problem number and a brief explanation why the result is deficient |
| 38 | +* The problem integral |
| 39 | +* The optimal antiderivative, its expression type, leaf size, and the number of steps Rubi uses to integrate it |
| 40 | +* The result produced by the integrator being tested, its expression type, leaf size, and the number of steps used to integrate it (if Rubi is being tested) |
| 41 | + |
| 42 | +If `testname` is a string, `TestRubi[filenames,testname]` generates a notebook of deficient test results and saves it as a file with `testname` and Rubi's version number included in its name. |
| 43 | +For example, the command |
| 44 | +```mma |
| 45 | +TestRubi[$IndependentTestFiles, "Independent"] |
| 46 | +``` |
| 47 | +saves the test results as the notebook `Rubi 4.16.0.4 Independent Integration Test Results.nb`. |
| 48 | + |
| 49 | +The arguments and effect of `TestMathematica` commands is the same as for `TestRubi`. |
0 commit comments