octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ode csets


From: Rik
Subject: Re: ode csets
Date: Sat, 22 Oct 2016 13:18:58 -0700

On 10/22/2016 12:48 PM, c. wrote:
> On 22 Oct 2016, at 21:42, c. <address@hidden> wrote:
>
>> On 19 Oct 2016, at 21:01, Rik <address@hidden> wrote:
>>
>>> The issue is made worse by the fact that there are no BIST tests for
>>> "InitialSlope", "MvPattern", and "MaxOrder" which might have caught this.
>> Rik,
>>
>> The options "InitialSlope" and "MaxOrder" cannot be tested either in 
>> ode45 or in ode23 as they make no sense for either of the two solvers 
>> and are actually removed completely from the option structure before 
>> invoking odemergeopts that is responsible of cecking option consistency.
>>
>> This is consistent with Matlab as also there no consistency check
>> is made for options that are not relevant for the specific solver
>> being used.
>>
>> The option "MvPattern", on the other hand, would make sense for the 
>> explicit Runge-Kutta solvers, but it is also not used right now 
>> and I would not know how to take advantage of the knowledge of the
>> sparsity path either.
>>
>> I think the comment you added to both solvers 
>>
>> ## FIXME: Missing tests.
>> ## test for InitialSlope option is missing
>> ## test for MaxOrder option is missing
>> ## test for MvPattern option is missing
>>
>> should be removed.
>>
>> If you want you can add instead a reminder that these options are  not
>> tested in ode{45,23}.m as they are ignored and have no effect anyway.
>>
>> c.
> The complete list of options that are treated similarly is 
> at line 151 of ode45.m:
>
> {"Jacobian", "JPattern", "Vectorized", ...
>  "MvPattern", "MassSingular", ...
>  "InitialSlope", "MaxOrder", "BDF"}
>
> c.
>

Seems fine to remove.    We don't need BIST tests if there is no underlying
code to test.  Can you prepare a changeset to remove the FIXME note as well
as this code BIST code below which is never used:

%!function jac = fjac (t, y, varargin)  # its Jacobian
%!  jac = [0, 1; -1 - 2 * y(1) * y(2), 1 - y(1)^2];
%!endfunction
%!function jac = fjcc (t, y, varargin)  # sparse type
%!  jac = sparse ([0, 1; -1 - 2 * y(1) * y(2), 1 - y(1)^2]);
%!endfunction

--Rik



reply via email to

[Prev in Thread] Current Thread [Next in Thread]