Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Fyi, a new CAS Independent Differential Equations tests web page online. Maple 2022 and Mathematica 13.0.1

105 views
Skip to first unread message

Nasser M. Abbasi

unread,
Apr 18, 2022, 6:22:32 AM4/18/22
to
FYI,

The following is a new report showing results of running
a large collection of ODE's using Maple and Mathematica
and comparing their performance

https://www.12000.org/my_notes/CAS_ode_tests/index.htm

The above page will now supersede the Kamke and Murphy
web pages I have as this new page includes them and many
additional ode's.

The Kamke and Murphy pages will no longer be updated
but will remain online.

I've collected these ode's over a long time and manually
entered them into sqlite3 database. These differential
equations were collected from many standard textbooks and
other sources such as Kamke and Murphy collections.

The current database included [8,836] odes as of today.

The following table summarizes the result

Percentage solved:
=====================
Mathematica 13.0.1 95.566 %
Maple 2022 95.817 %

Other stats are on the above page. I will add additional stats
as I continue updating the above page as the datebase grow.

The textbooks used are listed above (about 45 books as of now).

These are the same books and database I use for the following
web page which also has picture and more information
of the books used

http://localhost/my_notes/solving_ODE/index.htm

The above result shows that Mathematica and Maple are now
in a virtual tie in their ability to solve ode's and above
the rest of other CAS systems out there in this area.

No verification was done to check that the solutions are correct or not.

Also no grading on the solution is done, and no
post processing such as simplification.

All the commands used are listed for each ode.

Any problems/issues found, please let me know.

--Nasser


acer

unread,
May 2, 2022, 4:02:04 PM5/2/22
to
On Monday, April 18, 2022 at 6:22:32 AM UTC-4, Nasser M. Abbasi wrote:
> FYI,
>
> The following is a new report showing results of running
> a large collection of ODE's using Maple and Mathematica
> and comparing their performance
>
> https://www.12000.org/my_notes/CAS_ode_tests/index.htm

Why does you table have Mathemetica placed in the row above that in which Maple is placed?

In several (almost all?) of your related comparison pages you usually arrange them by percentage solved. Eg,
https://www.12000.org/my_notes/CAS_integration_tests/reports/summer_2021/inch1.htm#x2-30001.2

Yet in this new page the results are given as:
Mathematica 13.0.1 95.636%
Maple 2022 95.848%
Maple also does soundly better on all your other metrics: Mean time (sec), mean leaf size, total time (min), and total leaf size.
And the name "Maple" comes before "Mathematica" alphabetically.

Nasser M. Abbasi

unread,
May 2, 2022, 4:50:21 PM5/2/22
to
oh, no special reason. This table is auto-generated. When the program writes
the Latex for the table first time, it had Mathematica first then Maple,
for no particular reason.

Some of my programs then do a post-processing and sort the table afterwords
to put the CAS's in the correct order and regenerate the table again based
on the score. I do that for some tables in the cas integration program
for example, since there are many CAS's and not possible to know the order
before hand and it can change each time.

This program is new and I am still working on it, and the post-processing
sorting part was not done. But I'll add that when I build it next and
Maple should then show above Mathematica in the score table.

--Nasser

Jeff Barnett

unread,
May 2, 2022, 5:39:27 PM5/2/22
to
I'm just a lurker in the background but thought I should thank you for
the community support work you are doing. So thank you and keep going.
--
Jeff Barnett

nob...@nowhere.invalid

unread,
May 4, 2022, 8:02:13 AM5/4/22
to

acer schrieb:
Mathematica has been catching up rapidly over the last five years or
so. Will Maple really be able to stay ahead? This is mostly a question
of manpower only, I think.

Martin.

anti...@math.uni.wroc.pl

unread,
May 4, 2022, 3:26:40 PM5/4/22
to
I think this is more subtle than raw "manpower". Design decisions
matter and may affect needed effort quite a lot. For example
early decision in Mathematica developement was to use C for
many algorihtms. This affected Mathematica developement for
many years (possible up to now). Comparably, almost all Maple
was and is written in Maple language. There are probably more
subtle differences.

There is also question what "manpower" really mean. My impression
was that a lot of Maple code was contributed by independent researchers.

--
Waldek Hebisch

Dr Huang

unread,
Jun 24, 2022, 1:38:20 AM6/24/22
to
May I suggest you test ODE with mathHand.com? It can solve many ODE that other cannot. e.g. DrHuang.com/index/bug

Jon McLoone

unread,
Jun 30, 2022, 5:29:40 AM6/30/22
to

> May I suggest you test ODE with mathHand.com? It can solve many ODE that other cannot. e.g. DrHuang.com/index/bug

As far as I can tell, your bug list are all variations of the same bug that has, at some point, been fixed. Here are five examples from your list in Mathematica 13.1...

In[160]:= DSolve[y'[x] - y[x]^2 - 2 x^2 - 1 == 0, y[x], x]

Out[160]= {{y[
x] -> -(((1 + I) 2^(1/4) C[
1] (((1 +
I) x ParabolicCylinderD[-(1/4)
I (-2 I + Sqrt[2]), (1 + I) 2^(1/4) x])/2^(3/4) -
ParabolicCylinderD[
1 - 1/4 I (-2 I + Sqrt[2]), (1 + I) 2^(1/4) x]) - (1 -
I) 2^(1/4) (-(((1 - I) x ParabolicCylinderD[
1/4 I (2 I + Sqrt[2]), (-1 + I) 2^(1/4) x])/2^(3/4)) -
ParabolicCylinderD[
1 + 1/4 I (2 I + Sqrt[2]), (-1 + I) 2^(1/4) x]))/(C[
1] ParabolicCylinderD[-(1/4) I (-2 I + Sqrt[2]), (1 + I) 2^(
1/4) x] +
ParabolicCylinderD[
1/4 I (2 I + Sqrt[2]), (-1 + I) 2^(1/4) x]))}}

In[161]:= DSolve[y'[x] - 2 y[x]^2 - 2 x^2 - 1 == 0, y[x], x]

Out[161]= {{y[
x] -> -((2 (-1)^(1/4) C[
1] ((-1)^(1/4)
x ParabolicCylinderD[-(1/2) - I/2, 2 (-1)^(1/4) x] -
ParabolicCylinderD[1/2 - I/2, 2 (-1)^(1/4) x]) +
2 (-1)^(3/
4) ((-1)^(3/4)
x ParabolicCylinderD[-(1/2) + I/2, 2 (-1)^(3/4) x] -
ParabolicCylinderD[1/2 + I/2, 2 (-1)^(3/4) x]))/(2 (C[
1] ParabolicCylinderD[-(1/2) - I/2, 2 (-1)^(1/4) x] +
ParabolicCylinderD[-(1/2) + I/2, 2 (-1)^(3/4) x])))}}

In[163]:= DSolve[y'[x] - 3 y[x]^2 - 2 x^2 - 1 == 0, y[x], x]

Out[163]= {{y[
x] -> -(((1 + I) 6^(1/4) C[
1] (((1 + I) 3^(1/4)
x ParabolicCylinderD[-(1/4)
I (-2 I + Sqrt[6]), (1 + I) 6^(1/4) x])/2^(3/4) -
ParabolicCylinderD[
1 - 1/4 I (-2 I + Sqrt[6]), (1 + I) 6^(1/4) x]) - (1 -
I) 6^(1/4) (-(((1 - I) 3^(1/4)
x ParabolicCylinderD[
1/4 I (2 I + Sqrt[6]), (-1 + I) 6^(1/4) x])/2^(3/4)) -
ParabolicCylinderD[
1 + 1/4 I (2 I + Sqrt[6]), (-1 + I) 6^(1/4) x]))/(3 (C[
1] ParabolicCylinderD[-(1/4)
I (-2 I + Sqrt[6]), (1 + I) 6^(1/4) x] +
ParabolicCylinderD[
1/4 I (2 I + Sqrt[6]), (-1 + I) 6^(1/4) x])))}}

In[165]:= DSolve[y''[x] - y'[x] y[x] - x == 0, y[x], x]

Out[165]= {{y[
x] -> -((2 ((-1)^(
3/4) (1/2 (-1)^(3/4)
x ParabolicCylinderD[-(1/2) I (-I + C[1]), (-1)^(3/4)
x] - ParabolicCylinderD[
1 - 1/2 I (-I + C[1]), (-1)^(3/4) x]) + (-1)^(1/4) C[
2] (1/2 (-1)^(1/4)
x ParabolicCylinderD[1/2 I (I + C[1]), (-1)^(1/4) x] -
ParabolicCylinderD[
1 + 1/2 I (I + C[1]), (-1)^(1/4)
x])))/(ParabolicCylinderD[-(1/2) I (-I + C[1]), (-1)^(
3/4) x] +
C[2] ParabolicCylinderD[1/2 I (I + C[1]), (-1)^(1/4) x]))}}

In[168]:=
DSolve[y'[x]^2 - x y'[x] - y[x] == 0, y[x], x] // FullSimplify

Out[168]= {{y[
x] -> (-4 E^(3 C[1])
x - (-2 x^2 + (-E^(6 C[1]) - 20 E^(3 C[1]) x^3 + 8 x^6 + Sqrt[
E^(3 C[1]) (E^(3 C[1]) - 8 x^3)^3])^(1/3))^2)/(
8 (-E^(6 C[1]) - 20 E^(3 C[1]) x^3 + 8 x^6 + Sqrt[
E^(3 C[1]) (E^(3 C[1]) - 8 x^3)^3])^(1/3))}, {y[x] ->
1/16 (8 x^2 + ((4 + 4 I Sqrt[3]) x (E^(3 C[1]) + x^3))/(-E^(
6 C[1]) - 20 E^(3 C[1]) x^3 + 8 x^6 + Sqrt[
E^(3 C[1]) (E^(3 C[1]) - 8 x^3)^3])^(
1/3) + (1 - I Sqrt[3]) (-E^(6 C[1]) - 20 E^(3 C[1]) x^3 +
8 x^6 + Sqrt[E^(3 C[1]) (E^(3 C[1]) - 8 x^3)^3])^(1/3))}, {y[
x] -> 1/16 (8 x^2 + ((4 - 4 I Sqrt[3]) x (E^(3 C[1]) + x^3))/(-E^(
6 C[1]) - 20 E^(3 C[1]) x^3 + 8 x^6 + Sqrt[
E^(3 C[1]) (E^(3 C[1]) - 8 x^3)^3])^(
1/3) + (1 + I Sqrt[3]) (-E^(6 C[1]) - 20 E^(3 C[1]) x^3 +
8 x^6 + Sqrt[E^(3 C[1]) (E^(3 C[1]) - 8 x^3)^3])^(1/3))}, {y[
x] -> (4 E^(3 C[1])
x - (-2 x^2 + (-E^(6 C[1]) + 20 E^(3 C[1]) x^3 + 8 x^6 + Sqrt[
E^(3 C[1]) (E^(3 C[1]) + 8 x^3)^3])^(1/3))^2)/(
8 (-E^(6 C[1]) + 20 E^(3 C[1]) x^3 + 8 x^6 + Sqrt[
E^(3 C[1]) (E^(3 C[1]) + 8 x^3)^3])^(1/3))}, {y[
x] -> ((-4 - 4 I Sqrt[3]) E^(3 C[1]) x + (4 + 4 I Sqrt[3]) x^4 +
8 x^2 (-E^(6 C[1]) + 20 E^(3 C[1]) x^3 + 8 x^6 + Sqrt[
E^(3 C[1]) (E^(3 C[1]) + 8 x^3)^3])^(
1/3) + (1 - I Sqrt[3]) (-E^(6 C[1]) + 20 E^(3 C[1]) x^3 +
8 x^6 + Sqrt[E^(3 C[1]) (E^(3 C[1]) + 8 x^3)^3])^(
2/3))/(16 (-E^(6 C[1]) + 20 E^(3 C[1]) x^3 + 8 x^6 + Sqrt[
E^(3 C[1]) (E^(3 C[1]) + 8 x^3)^3])^(1/3))}, {y[
x] -> (4 I (I + Sqrt[3]) E^(3 C[1]) x + (4 - 4 I Sqrt[3]) x^4 +
8 x^2 (-E^(6 C[1]) + 20 E^(3 C[1]) x^3 + 8 x^6 + Sqrt[
E^(3 C[1]) (E^(3 C[1]) + 8 x^3)^3])^(
1/3) + (1 + I Sqrt[3]) (-E^(6 C[1]) + 20 E^(3 C[1]) x^3 +
8 x^6 + Sqrt[E^(3 C[1]) (E^(3 C[1]) + 8 x^3)^3])^(
2/3))/(16 (-E^(6 C[1]) + 20 E^(3 C[1]) x^3 + 8 x^6 + Sqrt[
E^(3 C[1]) (E^(3 C[1]) + 8 x^3)^3])^(1/3))}}

Dr Huang

unread,
Jun 30, 2022, 8:30:15 AM6/30/22
to
On Thursday, 30 June 2022 at 19:29:40 UTC+10, Jon McLoone wrote:
> > May I suggest you test ODE with mathHand.com? It can solve many ODE that other cannot. e.g. DrHuang.com/index/bug
> As far as I can tell, your bug list are all variations of the same bug that has, at some point, been fixed. Here are five examples from your list in Mathematica 13.1...

the list in http://drhuang.com/index/bug say: "There are bugs in many software such as WolframAlpha." Did you try in WolframAlpha?

>
> In[160]:= DSolve[y'[x] - y[x]^2 - 2 x^2 - 1 == 0, y[x], x]

WolframAlpha gives y(x)=1/(c1-x)

>
> Out[160]= {{y[
> x] -> -(((1 + I) 2^(1/4) C[
> 1] (((1 +
> I) x ParabolicCylinderD[-(1/4)
> I (-2 I + Sqrt[2]), (1 + I) 2^(1/4) x])/2^(3/4) -
> ParabolicCylinderD[
> 1 - 1/4 I (-2 I + Sqrt[2]), (1 + I) 2^(1/4) x]) - (1 -
> I) 2^(1/4) (-(((1 - I) x ParabolicCylinderD[
> 1/4 I (2 I + Sqrt[2]), (-1 + I) 2^(1/4) x])/2^(3/4)) -
> ParabolicCylinderD[
> 1 + 1/4 I (2 I + Sqrt[2]), (-1 + I) 2^(1/4) x]))/(C[
> 1] ParabolicCylinderD[-(1/4) I (-2 I + Sqrt[2]), (1 + I) 2^(
> 1/4) x] +
> ParabolicCylinderD[
> 1/4 I (2 I + Sqrt[2]), (-1 + I) 2^(1/4) x]))}}
>
> In[161]:= DSolve[y'[x] - 2 y[x]^2 - 2 x^2 - 1 == 0, y[x], x]

WolframAlpha gives y(x)=1/(2(c1-x))

>
> Out[161]= {{y[
> x] -> -((2 (-1)^(1/4) C[
> 1] ((-1)^(1/4)
> x ParabolicCylinderD[-(1/2) - I/2, 2 (-1)^(1/4) x] -
> ParabolicCylinderD[1/2 - I/2, 2 (-1)^(1/4) x]) +
> 2 (-1)^(3/
> 4) ((-1)^(3/4)
> x ParabolicCylinderD[-(1/2) + I/2, 2 (-1)^(3/4) x] -
> ParabolicCylinderD[1/2 + I/2, 2 (-1)^(3/4) x]))/(2 (C[
> 1] ParabolicCylinderD[-(1/2) - I/2, 2 (-1)^(1/4) x] +
> ParabolicCylinderD[-(1/2) + I/2, 2 (-1)^(3/4) x])))}}
>
> In[163]:= DSolve[y'[x] - 3 y[x]^2 - 2 x^2 - 1 == 0, y[x], x]

WolframAlpha gives y(x)=1/(3(c1-x))

>
> Out[163]= {{y[
> x] -> -(((1 + I) 6^(1/4) C[
> 1] (((1 + I) 3^(1/4)
> x ParabolicCylinderD[-(1/4)
> I (-2 I + Sqrt[6]), (1 + I) 6^(1/4) x])/2^(3/4) -
> ParabolicCylinderD[
> 1 - 1/4 I (-2 I + Sqrt[6]), (1 + I) 6^(1/4) x]) - (1 -
> I) 6^(1/4) (-(((1 - I) 3^(1/4)
> x ParabolicCylinderD[
> 1/4 I (2 I + Sqrt[6]), (-1 + I) 6^(1/4) x])/2^(3/4)) -
> ParabolicCylinderD[
> 1 + 1/4 I (2 I + Sqrt[6]), (-1 + I) 6^(1/4) x]))/(3 (C[
> 1] ParabolicCylinderD[-(1/4)
> I (-2 I + Sqrt[6]), (1 + I) 6^(1/4) x] +
> ParabolicCylinderD[
> 1/4 I (2 I + Sqrt[6]), (-1 + I) 6^(1/4) x])))}}
>
> In[165]:= DSolve[y''[x] - y'[x] y[x] - x == 0, y[x], x]

WolframAlpha gives y(x)=2/(c1-x)
Wolfram cannot find SIMPLE solution, and Mathematica cannot find SIMPLE solution too. Over 800 bugs in http://drhuang.com/index/bug , wish wolfram fix the bugs.

Nasser M. Abbasi

unread,
Nov 8, 2022, 1:59:59 AM11/8/22
to
On 4/18/2022 5:22 AM, Nasser M. Abbasi wrote:
> FYI,
>
> The following is a new report showing results of running
> a large collection of ODE's using Maple and Mathematica
> and comparing their performance
>
> https://www.12000.org/my_notes/CAS_ode_tests/index.htm
>
> The above page will now supersede the Kamke and Murphy
> web pages I have as this new page includes them and many
> additional ode's.
>
> The Kamke and Murphy pages will no longer be updated
> but will remain online.
>
> I've collected these ode's over a long time and manually
> entered them into sqlite3 database. These differential
> equations were collected from many standard textbooks and
> other sources such as Kamke and Murphy collections.
>
> The current database included [8,836] odes as of today.
>
> The following table summarizes the result
>
> Percentage solved:
> =====================
> Mathematica 13.0.1 95.566 %
> Maple 2022 95.817 %
>

FYI,

https://12000.org/my_notes/CAS_ode_tests/index.htm

An update is made to the above reports.

Updated to Mathematica 13.1 and Maple 2022.2.
Added about 1,200 new ODE's to the database.

The current result is
======================

System %solved Number solved Number failed
Maple 2022.1 94.454 9487 557
Mathematica 13.1 93.260 9367 677


Table 1.2: Summary of run time performance of each CAS system
===========================================================
System mean time (sec) mean leaf size
Maple 2022.1 0.285 273.73
Mathematica 13.1 2.448 845.31

The PDF is about 13,000 pages.

Problems, or any other issues, please let me know.
--Nasser


Nasser M. Abbasi

unread,
Nov 8, 2022, 2:02:56 AM11/8/22
to
On 11/8/2022 12:59 AM, Nasser M. Abbasi wrote:
>
> The current result is
> ======================
>
> System %solved Number solved Number failed
> Maple 2022.1 94.454 9487 557
> Mathematica 13.1 93.260 9367 677
>

Btw, 2022.1 above is a typo for Maple. iIt should be 2022.2, I
noticed this last minute after finishing the build. Will fix soon.

--Nasser

Dr Huang (DrHuang.com)

unread,
Nov 13, 2022, 10:27:43 PM11/13/22
to
> May I suggest you test ODE with mathHand.com? It can solve many ODE that other cannot. e.g. http://DrHuang.com/index/bug

May I sugges you test Fractional differential equation?

http://drhuang.com/science/mathematics/Fractional_calculus/Fractional_differential_equation.htm

Nasser M. Abbasi

unread,
Dec 21, 2022, 7:51:53 AM12/21/22
to
On 4/18/2022 5:22 AM, Nasser M. Abbasi wrote:
> FYI,
>
> The following is a new report showing results of running
> a large collection of ODE's using Maple and Mathematica
> and comparing their performance
>
> https://www.12000.org/my_notes/CAS_ode_tests/index.htm
>

FYI,

Updated the above for Mathematica 13.2.

The current number of differential equations is now 10,184.

Current result is
=================
System % solved Number solved Number failed
Maple 2022.2 94.491 9623 561
Mathematica 13.2 93.254 9497 687

Summary of run time performance of each CAS system
==================================================

System mean time (sec) mean leaf size
Maple 2022.2 0.181 272.82
Mathematica 13.2 4.068 835.30

All done on windows 10, intel 12th Gen Intel(R) Core(TM) i9-12900K 3.20 GHz
with 128 GB RAM.

Each system was given 180 second of CPU time to complete the problem.

Any problems please let me know.

--Nasser





0 new messages