fyi;
release notes for CAS integration test using Reduce CAS
--------------------------------------------------------
Link to this post in plain text is at
<
https://12000.org/my_notes/CAS_integration_tests/reports/january_2024_reduce/release_notes_reduce_test_jan_8_2024.txt>
This test was done to compare Reduce CAS integrator with the
other CAS systems used by the independent CAS integration test program.
The link to this test can be found under the special CAS integration tests page
<
https://12000.org/my_notes/CAS_integration_tests/indexsection2.htm>
This test used only the first 3,809 integrals from Rubi's test files
and not the full integration test suite which is over 125,000 integrals.
Reduce integrator was run with algint package loaded. Reduce was
build from source using CSL lisp. There is also SQL database of all
the results.
Systems used
-------------
Mathematica 13.3.1
Rubi 4.17.3
Maple 2023.1
Maxima 5.47 using Lisp SBCL 2.3.0 on Linux via sagemath 10.1
FriCAS 1.3.9 based on sbcl 2.3.0 on Linux via sagemath 10.1
Giac/Xcas 1.9.0-57 on Linux via sagemath 10.1
Sympy 1.12 Using Python 3.11.3 on Linux.
Mupad using Matlab 2021a with Symbolic Math Toolbox Version 8.7
Reduce CSL rev. 6657. December 10, 2023. On Linux
The following is the percentage solved
--------------------------------------
If an integral is solved, it is assumed correct. Verification is
currently only done for Mathematica, Rubi and Maple.
1. Mathematica %99.606
2. Rubi %99.396
3. Fricas %89.525
4. Maple %87.897
5. Giac %79.312
6. Maxima %75.663
7. Mupad %73.326
8. Reduce %72.828
9. Sympy %69.782
In terms of speed, Reduce integrator was very fast. Actually
it was the fastest.
The following table gives mean time used to solve one integration problem,
in seconds. Note that time used by Fricas, GIAC and Maxima is
inflated as they are called via sagemath which adds extra time due
to interface overhead and the use of a new subprocess to make
the call each time.
Maple time is inflated because it is run using all integration
methods and not just the default one. Otherwise its time used will be
much less than shown.
1. Reduce 0.09 sec
2. Rubi 0.21 sec
3. Maxima 0.23 sec
4. Mupad 0.27 sec
5. Mathematica 0.29 sec
6. Fricas 0.36 sec
7. Maple 0.5 sec
8. Giac 1.9 sec
9. Sympy 3.2 sec
In terms of leaf size, the following table gives average leaf size per CAS.
For reduce, Maple was used to find the leaf size.
Maple was also used to convert the output of reduce to Latex.
1. Mathematica 66.49
2. Rubi 71.88
3. Mupad 76.27
4. Maxima 76.7
5. GIAC 102.39
6. Reduce 112.42
7. Maple 114.53
8. Fricas 156.66
9. Sympy 209.21
Note that all these statistics are applied only to integrals which
were solved by CAS. Failed integrals are not included in any of the above
performances result.
There is a link to each reduce script used to run the tests under
each separate web page for each test file with listing of all
integrals in it.
Since Reduce currently does not have timelimit command build in,
it will not be practical to add it to the FULL cas integration tests
of over 125,000 integrals.
When and if in the future Reduce has a timelimit() command that
can be used to set timelimit on each call to integration, it will then
be possible to add it to the full CAS integration test suite.
I hope these result will be useful for some.
Any problems found please let me know.
--Nasser