|
From: Francis W. <f.j...@li...> - 2025-06-05 16:13:02
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><div dir="auto">Thanks for your detailed work on this problem and your comments about odesolve. What you have discovered is a bug that I will endeavour to fix ASAP, but I'm away from home for a couple of days. I'll try to take a look at this next week.<div dir="auto"><br></div><div dir="auto">Best wishes, Francis</div></div><div class="gmail_extra"><br><div class="gmail_quote">On 5 Jun 2025 1:47 pm, martin gregory via Reduce-algebra-developers <red...@li...> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>
<div><font size="2"><span style="font-size:11pt">
<div>Dear reduce-algebra-developers,<br>
<br>
first some context: I am building an R[1] package to execute REDUCE code and transform the output to appropriate R objects. An important aspect of testing is to ensure the transformation of the output is accurate. While looking for non-trivial examples for
odesolve solutions including plus_or_minus() I found example 18 of odesolve/zimmer.tst:<br>
<br>
----------------------------------------------------------------------<br>
% (18) Bernoulli 1<br>
odesolve(df(y,x) + y = y^3*sin x, y, x, explicit);<br>
----------------------------------------------------------------------<br>
<br>
If I execute zimmer.tst it works perfectly. If I execute this call in a fresh REDUCE session, setting TRODE, DIV and INTSTR to on and ALLFAC to off as in zimmer.tst, I get only:<br>
<br>
----------------------------------------------------------------------<br>
4: odesolve(df(y,x) + y = y^3*sin x, y, x, explicit);<br>
This is a nonlinear ODE of order 1.<br>
It is of Bernoulli type.<br>
<br>
5:<br>
----------------------------------------------------------------------<br>
<br>
i.e. not even the {} one gets when there is no solution.<br>
<br>
Trying to understand what was going on I assumed that one or more of the preceding 17 examples was influencing the call so I generated a program for each 17 to execute, in a new session, the switch settings, the example and then example 18. Searching the output
I found that examples 3, 8, 11, 12, 13, 15 each cause 18 to work correctly. I then checked the state of all switches before and after executing these programs and found that ALLOWDFINT is turned on. Setting it on in a clean session did not cause 18 to work.
Searching further, however, I found that it is turned on any time odesolve runs.<br>
<br>
If I don't use the explicit option I do get the correct solution, but in a different form.<br>
<br>
Is there a switch or option to get example 18 to work with explicit and without running one of the other examples first? If there is no such way, I can add a warning to my documentation that such behaviour is possible.<br>
<br>
Attached is odesolve-zimmer18.red with CSL (.clg) log demonstrating the behaviour. PSL behaviour is identical.<br>
<br>
odesolve is very impressive software!<br>
<br>
Kind regards,<br>
Martin<br>
<br>
[1] The R Project for Statistical Computing: <a href="https://www.r-project.org/">
https://www.r-project.org/</a><br>
<br>
<br>
</div>
</span></font></div>
<div><font size="2"><span style="font-size:11pt">
<div><br>
<br>
</div>
</span></font></div>
<div><font size="2"><span style="font-size:11pt">
<div> </div>
</span></font></div>
<div><font size="2"><span style="font-size:11pt">
<div>_______________________________________________<br>
Reduce-algebra-developers mailing list<br>
Red...@li...<br>
<a href="https://lists.sourceforge.net/lists/listinfo/reduce-algebra-developers">https://lists.sourceforge.net/lists/listinfo/reduce-algebra-developers</a><br>
</div>
</span></font></div>
</div>
</blockquote></div><br></div> |