From: Francis W. <f.j...@li...> - 2024-01-09 12:47:57
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><div dir="auto"><div>I have a REDUCE version of leaf count that is almost ready to check in, once I have checked a free more details. I want to make sure it behaves sensibly on things like matrices. Nasser is using the Mathematica definition so I decided to also follow that.<div dir="auto"><br></div><div dir="auto">Francis</div><br><div class="gmail_extra"><br><div class="gmail_quote">On 9 Jan 2024 9:28 am, Arthur Norman <ac...@ca...> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><p dir="ltr">That is interesting. Is the Reduce data based on tests where you still put <br> in "ln" rather than "Log" for logarithms? <br> <br> The rubi set of examples is an astonishing resource. You will see from the <br> Reduce sources interest in it, but I think I commented earlier on the <br> challenge that working out just how mathematica-style pattern matching is <br> expected to behave is a big task. Well at one stage I tried getting a <br> final year student project to take a first stab at that to see how far <br> that got. It remains on my to-do list but that list is deep. <br> <br> At the end of your message you make remarks about resource limiting. We do <br> have that in Reduce and you may have spotted that most recently I stuck <br> use of it into the scripts/test1.sh and testall.sh files we used for <br> running the set of Reduce tests we most often use. I did that in part <br> to remind myself how it worked - because it is a bit delicate. Also the <br> CSL (but not other versions) have a related scheme that has finer grain <br> contol over limits. Given what you are doing if your test scripts are not <br> TOO hideously long and you pass them over to me I will see about uprating <br> them to put in timeouts. And POSSIBLY in the process consider making <br> those nicer to use from Reduce algebraic mode. <br> You also duck out on what you call leaf-count. I am glad you were able to <br> pass that across to Maple but do you have a precise specification of what <br> you mean by that in case implementing that within Reduce was easy enough <br> for us to just do that. Eg is it the number of tokens in the displayed <br> form of an expression not counting operators like +-*/ and not counting <br> parens? And in sin(1+x) does the word "sin" contrinute to the count? <br> <br> Some of what I always hope is that Open Source projects can have an <br> agility and a responsiveness that differs from commercial juggernauts! <br> <br> Arthur <br> <br> On Tue, 9 Jan 2024, Nasser M. Abbasi wrote: <br> <br> > fyi, <br> > <br> > release notes for CAS integration test using Reduce CAS <br> > -------------------------------------------------------- <br> > <br> > Link to this post in plain text is at <br> > <br> > <https://12000.org/my_notes/CAS_integration_tests/reports/january_2024_reduce/release_notes_reduce_test_jan_8_2024.txt> <br> > <br> > This test was done to compare Reduce CAS integrator with the <br> > other CAS systems used by the independent CAS integration test program. <br> > <br> > The link to this test can be found under the special CAS integration tests <br> > page <br> > <br> > <https://12000.org/my_notes/CAS_integration_tests/indexsection2.htm> <br> > <br> > This test used only the first 3,809 integrals from Rubi's test files <br> > and not the full integration test suite which is over 125,000 integrals. <br> > <br> > Reduce integrator was run with algint package loaded. Reduce was <br> > build from source using CSL lisp. There is also SQL database of all <br> > the results. <br> > <br> > Systems used <br> > ------------- <br> > Mathematica 13.3.1 <br> > Rubi 4.17.3 <br> > Maple 2023.1 <br> > Maxima 5.47 using Lisp SBCL 2.3.0 on Linux via sagemath 10.1 <br> > FriCAS 1.3.9 based on sbcl 2.3.0 on Linux via sagemath 10.1 <br> > Giac/Xcas 1.9.0-57 on Linux via sagemath 10.1 <br> > Sympy 1.12 Using Python 3.11.3 on Linux. <br> > Mupad using Matlab 2021a with Symbolic Math Toolbox Version 8.7 <br> > Reduce CSL rev. 6657. December 10, 2023. On Linux <br> > <br> > The following is the percentage solved <br> > -------------------------------------- <br> > <br> > If an integral is solved, it is assumed correct. Verification is <br> > currently only done for Mathematica, Rubi and Maple. <br> > <br> > 1. Mathematica %99.606 <br> > 2. Rubi %99.396 <br> > 3. Fricas %89.525 <br> > 4. Maple %87.897 <br> > 5. Giac %79.312 <br> > 6. Maxima %75.663 <br> > 7. Mupad %73.326 <br> > 8. Reduce %72.828 <br> > 9. Sympy %69.782 <br> > <br> > In terms of speed, Reduce integrator was very fast. Actually <br> > it was the fastest. <br> > <br> > The following table gives mean time used to solve one integration problem, <br> > in seconds. Note that time used by Fricas, GIAC and Maxima is <br> > inflated as they are called via sagemath which adds extra time due <br> > to interface overhead and the use of a new subprocess to make <br> > the call each time. <br> > <br> > Maple time is inflated because it is run using all integration <br> > methods and not just the default one. Otherwise its time used will be <br> > much less than shown. <br> > <br> > 1. Reduce 0.09 sec <br> > 2. Rubi 0.21 sec <br> > 3. Maxima 0.23 sec <br> > 4. Mupad 0.27 sec <br> > 5. Mathematica 0.29 sec <br> > 6. Fricas 0.36 sec <br> > 7. Maple 0.5 sec <br> > 8. Giac 1.9 sec <br> > 9. Sympy 3.2 sec <br> > <br> > In terms of leaf size, the following table gives average leaf size per CAS. <br> > <br> > For reduce, Maple was used to find the leaf size. <br> > Maple was also used to convert the output of reduce to Latex. <br> > <br> > 1. Mathematica 66.49 <br> > 2. Rubi 71.88 <br> > 3. Mupad 76.27 <br> > 4. Maxima 76.7 <br> > 5. GIAC 102.39 <br> > 6. Reduce 112.42 <br> > 7. Maple 114.53 <br> > 8. Fricas 156.66 <br> > 9. Sympy 209.21 <br> > <br> > Note that all these statistics are applied only to integrals which <br> > were solved by CAS. Failed integrals are not included in any of the above <br> > performances result. <br> > <br> > There is a link to each reduce script used to run the tests under <br> > each separate web page for each test file with listing of all <br> > integrals in it. <br> > <br> > Since Reduce currently does not have timelimit command build in, <br> > it will not be practical to add it to the FULL cas integration tests <br> > of over 125,000 integrals. <br> > <br> > When and if in the future Reduce has a timelimit() command that <br> > can be used to set timelimit on each call to integration, it will then <br> > be possible to add it to the full CAS integration test suite. <br> > <br> > I hope these result will be useful for some. <br> > <br> > Any problems found please let me know. <br> > <br> > --Nasser <br> > <br> > <br> > _______________________________________________ <br> > Reduce-algebra-developers mailing list <br> > Red...@li... <br> > https://lists.sourceforge.net/lists/listinfo/reduce-algebra-developers <br> > <br> <br> <br> _______________________________________________ <br> Reduce-algebra-developers mailing list <br> Red...@li... <br> https://lists.sourceforge.net/lists/listinfo/reduce-algebra-developers <br> </p> </blockquote></div><br></div></div></div> |