These are the release notes for the independent CAS integration tests
summer 2023 edition
This release is dedicated to the memory of Albert D Rich,
author of the Rubi integration software.
Copy of this release notes in plain text is here
<https://12000.org/my_notes/CAS_integration_tests/reports/summer_2023/email_release_notes_summer_2023.txt>
Main web page is
<https://12000.org/my_notes/CAS_integration_tests/reports/summer_2023/index.htm>
Time to complete all tests was 7 months due to having to restart
some tests.
CAS systems used:
------------------
Mathematica 13.3.1 (August 16, 2023) on windows 10.
Rubi 4.16.1 (Dec 19, 2018) on Mathematica 13.3 on windows 10
Maple 2023.1 (July, 12, 2023) on windows 10.
Maxima 5.47 (June 1, 2023) using Lisp SBCL 2.3.0/sagemath 10.1
FriCAS 1.3.9 (July 8, 2023) based on sbcl 2.3.0/sagemath 10.1
Giac/Xcas 1.9.0-57 (June 26, 2023) on Linux/sagemath 10.1
Sympy 1.12 (May 10, 2023) Using Python 3.11.3 on Linux.
Mupad using Matlab 2021a/Symbolic Math Toolbox Version 8.7
Number of integrals
-------------------
sqlite> select COUNT(*) from main;
85963
Number of test input files: [212]
Full database (SQL) is updated which contains all integrals and all
results used to generate all the reports.(1.3 GB). This link has
instructions how to use and install the database.
<https://12000.org/my_notes/CAS_integration_tests/reports/summer_2023/DATA_BASE/index.htm>
Solved percentage
-------------------
1. Mathematica % 98.233
2. Rubi % 94.217
3. Maple % 86.609
4. Fricas % 80.892
5. Giac % 59.034
6. Maxima(*) % 57.28 --> 57.28+5.516 = % 62.796 (see below on exceptions)
7. Mupad % 57.09
8. Sympy % 43.562
A grade percentage
--------------------
1. Rubi % 87.36
2. Mathematica % 75.34
3. Maple % 60.52
4. Fricas % 49.95
5. Maxima % 39.7
6. Giac % 38.63
7. Sympy % 25.87
8. Mupad N/A (not graded)
Average CPU time per integral. Applied only for passed integrals
(timed out and exception/failed integrals do not count) ---------------------------------------------------------
1. Rubi 0.28 sec.
2. Maxima 0.44 sec.
3. Fricas 1.18 sec.
4. Giac 2.03 sec.
5. Mathematica 2.31 sec.
6. Sympy 5.36 sec.
7. Maple(*) 5.73 sec. (slower than normal as it tries all algorithms).
8. Mupad 6.82 sec.
Average Leaf size
-----------------
No simplification is made to the result. This is the leaf size
of the antiderivative as is.
1. Rubi 154.14
2. Mathematica 311.05
3. Sympy 373.47
4. Maxima 587.33
5. Giac 632.64
6. Mupad 664.7
7. Fricas 1161.58
8. Maple(*) 64603.4 (Maple typically have larger leaf size as it does
not simplify result by default)
Main highlights and changes
----------------------------
1. Added verification to result of Maple.
2. Added number of new statistics diagrams per file and
also for the overall results. Statistics now show
- percentage solved.
- grades.
- CPU time and leaf size.
- Performance based on number of rules Rubi used.
- Performance based on number of steps Rubi used.
- Solved integrals histogram based on leaf size of result.
- Solved integrals histogram based on CPU time used.
- Leaf size vs. CPU time used.
- Performance per integrand type.
- Maximum leaf size ratio for each CAS against the optimal result.
- Pass/Fail per test file for each CAS system.
3. New chapter that lists Integrals which generated an exception
failure F(-2) for each CAS.
[...]
4. Listing of integrals solved by CAS which has no known antiderivatives.
Note about CPU timing
----------------------
For Mathematica, Rubi and Mupad 3 CPU minutes were used to complete each integration problem. All on windows 10. For Maple it was given 5 minutes because 'method'=':-_RETURNVERBOSE' was used which makes it
try all available methods.
For Fricas, Giac and Maxima, 5 minutes were also given to compensate
for calling them via sagemath which adds extra time to start
new proccess each time for each problem. Note that the time recorded
for Fricas, Giac and Maxima is inflated by some amount due the time
it takes to start new process each time. About 20-30% of the time used
can be attributed to the overhead of using sagemath to interface to these systems.
Fricas, Giac, Maxima and sympy were all run on Linux inside Virtual
box hosted on windows 10 but with over 50 GB of RAM and on very fast PC.
Maximum anti derivatives generated per CAS ------------------------------------------
[...]
Changes to the test suites appear to be negligible this season: 85963 integrands versus a final 85865 last year (85479 as of 22nd August).
Here are the percentages solved compared to those of the preceding two seasons:
system 2023 2022 2021 ========================================
Mathematica 98.23 % 97.99 % 98.39 %
Rubi 94.22 % 94.21 % 99.52 %
Maple 86.61 % 84.53 % 83.58 %
Fricas 80.89 % 79.33 % 68.70 %
Giac 59.03 % 58.37 % 52.43 %
Maxima 57.28 % 56.86 % 52.72 %
Mupad 57.09 % 56.10 % 52.55 %
Sympy 43.56 % 41.89 % 34.47 % ========================================
(The 2022 data were valid on 22nd August and differ slightly from the
final data on <12000.org>.)
All systems have improved, by amounts ranging from 0.01% for Rubi to
1,56% for FriCAS, to 1.67% for SymPy, to 2,08% for Maple, with Mma,
Maxima, Giac and Mupad in the middle between 0.24% and 0.99%. Remember
that in 2022, FriCAS was boosted by the addition of 10000 derivatives
of random elementary functions, while Rubi took a corresponding hit.
It's no surprise that Rubi has remained essentially unchanged in 2023.
And here's how the A-grade percentages relate to last year's:
system 2023 2022
===============================
Rubi 87.36 % 91.49 %
Mathematica 75.34 % 78.62 %
Maple 60.52 % 56.45 %
Fricas 49.95 % 53.91 %
Maxima 39.70 % 43.72 %
Giac 38.63 % 42.55 %
Sympy 25.87 % 28.64 %
Mupad ------- 4.13 %
===============================
(The 2022 data are final ones from <12000.org>.)
Strangely, a systematic decrease points to some modification of the
grading function. This mystery needs to be explained.
pwd/mnt/g/public_html/my_notes/CAS_integration_tests/reports/summer_2023/code
diff GradeAntiderivative.m /mnt/g/public_html/my_notes/CAS_integration_tests/reports/summer_2022/code/GradeAntiderivative.m
-
When derivativess of randomly generated functions are excluded, Rubi is comparable to Mathematica, as measured on independent test suites, like Timofeev's for instance. Rubi's main strength, however, lies in a fine-grained optimization of its antiderivatives, as reflected in the
best A-grade percentage. This aspect is where most of the work on Rubi
went into, and it gave rise to a truly massive test suite that covers
the different cases of every rule in order to guard against future regression.
Martin.
PS: An NNTP server convenient for reading <sci.math.symbolic> without registering for a password is <news://news.neodome.net>, but this
cannot be used for posting; for posting to <sci.math.symbolic> one may register at the Eternal-September website to receive a password and use
it with <news://news.eternal-september.org>.
These are the release notes for the independent CAS integration tests
summer 2023 edition
This release is dedicated to the memory of Albert D Rich,
author of the Rubi integration software.
Copy of this release notes in plain text is here
<https://12000.org/my_notes/CAS_integration_tests/reports/summer_2023/email_release_notes_summer_2023.txt>
Main web page is
<https://12000.org/my_notes/CAS_integration_tests/reports/summer_2023/index.htm>
Time to complete all tests was 7 months due to having to restart
some tests.
CAS systems used:
------------------
Mathematica 13.3.1 (August 16, 2023) on windows 10.
Rubi 4.16.1 (Dec 19, 2018) on Mathematica 13.3 on windows 10
Maple 2023.1 (July, 12, 2023) on windows 10.
Maxima 5.47 (June 1, 2023) using Lisp SBCL 2.3.0/sagemath 10.1
FriCAS 1.3.9 (July 8, 2023) based on sbcl 2.3.0/sagemath 10.1
Giac/Xcas 1.9.0-57 (June 26, 2023) on Linux/sagemath 10.1
Sympy 1.12 (May 10, 2023) Using Python 3.11.3 on Linux.
Mupad using Matlab 2021a/Symbolic Math Toolbox Version 8.7
Number of integrals
-------------------
sqlite> select COUNT(*) from main;
85963
Number of test input files: [212]
Full database (SQL) is updated which contains all integrals and all
results used to generate all the reports.(1.3 GB). This link has instructions how to use and install the database.
<https://12000.org/my_notes/CAS_integration_tests/reports/summer_2023/DATA_BASE/index.htm>
Solved percentage
-------------------
1. Mathematica % 98.233
2. Rubi % 94.217
3. Maple % 86.609
4. Fricas % 80.892
5. Giac % 59.034
6. Maxima(*) % 57.28 --> 57.28+5.516 = % 62.796 (see below on exceptions)
7. Mupad % 57.09
8. Sympy % 43.562
A grade percentage
--------------------
1. Rubi % 87.36
2. Mathematica % 75.34
3. Maple % 60.52
4. Fricas % 49.95
5. Maxima % 39.7
6. Giac % 38.63
7. Sympy % 25.87
8. Mupad N/A (not graded)
Average CPU time per integral. Applied only for passed integrals
(timed out and exception/failed integrals do not count) ---------------------------------------------------------
1. Rubi 0.28 sec.
2. Maxima 0.44 sec.
3. Fricas 1.18 sec.
4. Giac 2.03 sec.
5. Mathematica 2.31 sec.
6. Sympy 5.36 sec.
7. Maple(*) 5.73 sec. (slower than normal as it tries all algorithms).
8. Mupad 6.82 sec.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 300 |
Nodes: | 16 (2 / 14) |
Uptime: | 64:49:09 |
Calls: | 6,712 |
Files: | 12,244 |
Messages: | 5,356,126 |