Systems of Ordinary Differential Equations - Old Test Results

by Dennis Darland Mail To: pal at dennisdarland dot com

dennisdarland.com

Comments welcome

Old TestResults

  1. Comprehensive Tests. (1/29/2013)
    The radius of convergence seems to be calculated accurately (which is all I use for now) but not the order as well especially for real singularities.
    I have not been able to figure out why, although I have spent quite a bit of time on it.
    Also the increment for a desired accuracy is not always calculated correctly. A maximum h may be set to help with this.
  2. Tests of erf (Maple only)
    erf released (4/4/2013)
  3. Tests of Si (Maple only)
    Si released (4/4/2013)
  4. Comprehensive Tests. (4/24/2013)
    The radius of convergence seems to be calculated accurately (which is all I use for now) but not the order as well especially for real singularities.
    I figured out what is wrong, and don't know why radius works as well as it does. Order definitely gives poor results. See Notes. April 21, 2013
    Also the increment for a desired accuracy is not always calculated correctly. A maximum h may be set to help with this.
  5. Tests using the ratio test to locate singularities (from Henrici Vol 1). (5/15/2013)
    This test was run on (and uploaded from) an old desktop that is very uncomfortable for me to sit at. I did not want to tie up the laptop I usually use.
    Thus I have not studied the results yet, though I did some testing in individual cases, Also excluded Maple and Maxima from the test, as these are not installed on the desktop.
  6. Preparing for testing of location and order of singularities. Adjacent output in results file of info on radius and order for actual (if given in ode file), ratio test, three term test, and six term test. The results look promising. But order has trouble in three term test. Perhaps using more terms could help. I will make a release of this version.
  7. Tests which place ratio test and three term and six term analyses adjacent to each other. (5/26/2013) display interval set to 0.01 in ode.over
    Also contains fix for memory allocation for c and c++. Also I worked on logic which selects initial increment (glob_h), it still needs a lot of improvement, but that couldn't be done until the rest was correct.
  8. Tests which place ratio test and three term and six term analyses adjacent to each other. (5/26/2013) display interval set to 0.1 in ode .over instead of 0.01 as in immediately prior test (still seemed to get about the same accuracy) Note: if maximum h is set smaller in individual ode file this has no effect.
  9. Retesting equations of location and order of singularities. Adjacent output in results file of info on radius and order for actual (if given in ode file), ratio test, three term test, and six term test. Added equation for order for ratio test I found in Chang and Corliss' 1980 paper. (It applies only to meromorphic functions).. I went over the three term test and tried to make sure is matched as given in Chang and Corliss' paper. I had gotten different forms trying to solve in Maple, but none have worked well. Results for radius look promising. Order has trouble in ratio and three term tests. Perhaps using more terms could help..
  10. Retesting equations of location and order of singularities. Adjacent output in results file of info on radius and order for actual (if given in ode file), ratio test, three term test, and six term test. I Derived my own form for three term test - See Notes for 5/30/2013
  11. June 11, 2013 - Corrected Optimized computing derivative of radius and order of singularity w.r.t last Taylor term used. Adjacent output in results file of info on radius and order for actual (if given in ode file), ratio test, three term test, and six term test. Still using my own form for three term test - See Notes for 5/30/2013. This time I also reduced the number of terms used and increased the maximum increment.
  12. June 11, 2013 - Added estimated error of radius and order using corrected optimized computing derivative of radius and order of singularity w.r.t last Taylor term used.. Adjacent output in results file of info on radius and order for actual (if given in ode file), ratio test, three term test, and six term test. Still using my own form for three term test - See Notes for 5/30/2013. This time I also reduced the number of terms used and increased the maximum increment.
  13. June 24, 2013 - Added estimated error of radius and order using corrected optimized computing derivative of radius and order of singularity w.r.the three Taylor terms used (for three therm test).. Adjacent output in results file of info on radius and order for actual (if given in ode file), ratio test, three term test, and six term test. Still using my own form for three term test - See Notes for 5/30/2013. This time I also reduced the number of terms used and increased the maximum increment.
  14. Comprehensive Tests which place ratio test and (new) three term and six term analyses adjacent to each other. (7/3/2013)
    Adjacent output in results file of info on radius and order for actual (if given in ode file), ratio test, three term test, and six term test. Still using my own form for three term test - See Notes for 5/30/2013. This time I also reduced the number of terms used and increased the maximum increment.
  15. December 28, 2013 - Tests with just c. Improvements to coding for singularities for ratio, three term and six term tests. Good results there for radii but not order. Also corrections to time display functions especially for c, c++ and Maxima. I am limiting big test runs to c to save time. Ruby, c+, and Maxima seem OK with limited testing. I no longer have Maple available..
  16. December 28, 2013 - Later same Tests with just c++.
  17. December 28, 2013 - Later same Tests with just Ruby.
  18. December 28, 2013 - Later same Tests with just Maxima.
    Maxima is very slow (at any rate for number crunching) , I have seen others comment on this on their email list.
    The total time of this test does not indicate how bad it is. Many of the tests with Maxima timed out and did not finish.
    This happened to none for c or c++, and only a few for Ruby.
    In fact the multiple equation tests did not enen reach the starting line with Maxima!
    BTW there are extraneous equal signs in the table for maxima.
    I have decided I have made enough progress to make a new release, and don't want to make more changes.
  19. Notice: If you look in the "results" file by clicking on its link at the right of the table the top of it won't make sense (it's information I may yet use to improve it).
    JUST SCROLL DOWN IN IT
  20. December 30, 2013 - Tests with just c. Improvements code generating code for singularities for ratio, three term and six term tests. Found a recent error introduced recently for order, but it still has problems. Improved selection of which radius to use to adjust increment - ignore ratio test there. Also some other minor improvements..
  21. December 30, 2013 - Later same Tests with just c++.
  22. December 30, 2013 - Later same Tests with just Ruby.
  23. December 31, 2013 - Later same Tests with just Maxima.
    Maxima is very slow (at any rate for number crunching) , I have seen others comment on this on their email list.
    I increased the timeout limit from 3 minutes to 10 minutes (for each set of equations) - (there are over 100 sets in order to test almost all emit code functions).
    The total time of this test does not indicate how bad it is. Some of the tests still timed out.
    This happened to none for c or c++, and only a few for Ruby. (and the timeout of those was only 3 minutes)
    Two of the tests were estimated individually to take over a day each using maxima. (if there were no timeout)
    Those two tests completed in 4 and 5 seconds each with the language c, both with 12 place accuracy.
  24. January 2, 2014 Maxima results with modedeclare New Maxima source for maxima list
    New Maxima output for maxima list
    New c source for maxima list
    New c output for maxima list
  25. January 2, 2014 - These are tests where I have added some modedeclare's for maxima - it reduced execution time for one example from 1 day + 1 hour to 3.5 hours.
    I also improved the program in other ways. It has been pointed out that there are possibly other placed where they could help more - and some other things.
    It is easier for me to view these on a different computer (on the web) that the one I run the programs (which is now running a maxima test.
    The easiest thing to do is copy them to the web - and that lets anyone else interested see my results.
    Later same Tests with just c.
    Tests with just c++.
    Tests with just Ruby.
  26. January 3, 2014 - The maxima results: Tests with just Maxima.
  27. January 4, 2014 - Extensive tests after many imortant changes which I will try to enumerate on soon:
    Later same Tests with just c.
    Tests with just c++.
    Tests with just Ruby.
    Tests with just Maxims.
  28. January 5, 2014 - Extensive tests after many important changes. See
  29. Bugs Fixed.
    Tests with just c.
    Tests with just c++.
    Tests with just Ruby.
    Tests with just Maxima.
  30. January 8, 2014 - Extensive tests after many important changes. See Bugs Fixed.
    Tests with just c.
    Tests with just c++.
    Tests with just Ruby.
  31. Old test results are at They are mainly obsolete
  32. January 8, 2014 - Second set today of extensive tests after many important changes. See
  33. Bugs Fixed. and other Items Accomplished.
    Tests with just c.
    Tests with just c++.
    Tests with just Ruby.
    Tests with just Maxims (1/9/2014).
  34. January 9, 2014
    Tests To Verify Singularity Logic More info now in Table.
  35. January 11, 2014 - Tests trying to adjust increment and max_terms if Taylor Series for Good Estimates of Singularities.
    Tables improved for that purpose.
  36. Tests (using c) which still exhibit problems determining distance to singularities..
  37. See Bugs Fixed. and other Items Accomplished.
  38. Tests with just c.
  39. Tests with just c++.
  40. Tests with just Ruby.
  41. Tests with just Maxima.
  42. January 19, 2014 - Tests with increment automatically set and thorough testing of singularity detection.
    The singularity detection seems to work well so far as I can tell with the sole exception of when the solution is logarithmic.
    So far I have just run the tests for c
  43. January 19, 2014 - Tests with increment automatically set and thorough testing of singularity detection.
    The singularity detection seems to work well so far as I can tell with the sole exception of when the solution is logarithmic.
    Tests of the version released as 0045 are:
    Rev0045 of Omnisode tests for c
    Rev0045 of Omnisode tests for c++
    Rev0045 of Omnisode tests for ruby
    January 20, 2014 - Added maxima tests for Rev0045 of Omnisode.
    January 20, 2014 - I noticed sing4_back.ode encountered division my zero for maxims.
  44. January 29, 2014 - Tests with estimate of error (not relying on actual solution) based on intermediate calculations
    Tests for c with estimate of error
  45. January 30, 2014 - Tests with estimate of error (not relying on actual solution) based on intermediate calculations
    Fixed some errors in ode files - mostly about given location of singularities.
    Also adjusted estimate of error to account for complexity of problem and number of terms used.
    Also adjusted calculation of increment to by used for the same things.
    Tests for c with estimate of error
  46. January 30, 2014 (Later)
    More tests (include better comments in table) with additional cases with smaller increment in cases where results were poor.
    This seems to show the logic is correct in those cases except for selection of increment.
    Also I noticed using a smaller increment sometimes resulted in singularities not being detected, although the solution itself was more accurate.
    The remaining exceptions (where smaller h does not help) are both tests involving multiple equations (mtest2 and mtest6).
    I have not identified the problems with these.
    More tests for c with estimate of error
  47. January 31, 2014 - Tests with increment automatically set and thorough testing of singularity detection.
    The singularity detection seems to work well so far as I can tell..
    Also I try to estimate the error without using the actual solution (which is also compared when known).
    Tests of the version released as 0046 are:
    Rev0046 of Omnisode tests for c
    Rev0046 of Omnisode tests for c++
    Rev0046 of Omnisode tests for ruby
    Rev0046 of Omnisode tests for maxima
  48. February 11, 2014 - Tests of rev0049 of omnisode - new userinterface - tomni.rb (shell scripts eliminated)
    Works with linux, cygwin and windows.
    Works with c, c++, ruby, maxima and maple
    1. Linux:
      1. c
      2. c++
      3. ruby
      4. maxima
    2. cygwin:
      1. c
      2. c++
      3. ruby
      4. maxima
      5. maple
    3. windows
      1. ruby
      2. maple
  49. February 12, 2014
    A test with functions available in Maple - erf and Si
    erf and Si - requires maple
  50. February 14, 2014
    More testing on problems with issues - they do better it appears with smaller h - but do not cover whole range of original problem.
    Estimated time for whole range make testing impractical.
    1. maple used on problems that had issues (see comments) and which were also tried with smaller h
    2. maple used on problems that still had issues (see comments) with smaller h with yet smaller h
  51. August 13, 2014 - Tests with SUSE Linux 13.1 with new Laptop (One I had been using had some hardware issues due to heat.)
    I made one small fix in preodein.rb - otherwise using rev0050 - also uncommented 2 lines in any.odes file.
    I will release new version after a little more testing.
    1. c++
    2. c
    3. maxima
    4. ruby
  52. August 23-28, 2014 - Tests with SUSE Linux 13.1 with new Laptop (One I had been using had some hardware issues due to heat.)

    What became rev0055 of omnisode.
    See Notes below for changes included.
    1. c++
    2. c
    3. ruby
  53. August 29, 2014 - Tests with Maple on not quite so new computer (although faster one) with Windows 8.1
    maple 18
  54. September 9, 2014
    Comparisons for First Painleve transcendent y''(t) = 6*y(t)*y(t) + t, y(0) = 1, y'(0) = 0
    1. y(1.1)=87.774060162627567911Maple dsolve solution (numeric/taylorseries)
    2. y(1.1)=87.7740601626279 (h = 0.01)Omnisode solutions using different increments using C as the target language.
    3. y(1.1)=87.77405966362403 (h = 0.1)
    4. y(1.1)=8.77739E+01Single Precision ATOMFT input gives ATOMFT output
    5. y(1.1)=8.77740601591047D+01Double Precision ATOMFT input gives ATOMFT output
    6. y(1.1)=8.77739E+01Single Precision ATOMFT input gives ATOMFT output - equal spacing
    7. y(1.1)=87.77028865886018Maxima (Runge-Kutta) Input gives Maxima output
  55. Chang's example 3_1 - Multiple Equations
    x''(t) = -5.8 * x(t) * (x(t)*x(t) + y(t) * y(t)) ** (-1.5)
    y''(t) = -5.8 * y(t) * (x(t)*x(t) + y(t) * y(t)) ** (-1.5)
    x(1) = -1
    x'(1)= 0
    y(1) = 0
    y'(1)=4.3
    1. Maple dsolve solution (numeric/taylorseries)
      x(10)=0.18495565694134253252
      y(10)=37.590158457676449717
    2. Omnisode solutions using different increments using C as the target language.
      x(10)=0.186150004919902
      y(10)=37.58079302942745
      The large file (>150 Meg) has been deleted.
    3. Single Precision ATOMFT input gives ATOMFT output
      Program ABENDS
      According to comments should give:
      x(10)=1.84953E-01
      y(10)=3.75902E+01
SourceForge Logo