DDE solvers / How to set HISTORY

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

DDE solvers / How to set HISTORY

Maurizio De Pittà
Dear all,
I am troubled by the DDE solvers in octave. My question follows this question that sadly remained without answer:


In particular, I cannot understand what is the "matrix" that I need to provide as HISTORY in the input argument of any of the octave/dde-solvers -- i.e. any of the odeXXd solvers in the odepkg. There is no explanation on the specifics of this matrix and why it seems to be required to be of size n_var * n_delay. This is very different from MATLAB implementations. Any insight would be helpful.

Thanks in advance.
Maurizio


Reply | Threaded
Open this post in threaded view
|

Re: DDE solvers / How to set HISTORY

Sergei Steshenko


On Saturday, January 19, 2019, 11:32:28 PM GMT+2, Maurizio De Pittà <[hidden email]> wrote:


Dear all,
I am troubled by the DDE solvers in octave. My question follows this question that sadly remained without answer:


In particular, I cannot understand what is the "matrix" that I need to provide as HISTORY in the input argument of any of the octave/dde-solvers -- i.e. any of the odeXXd solvers in the odepkg. There is no explanation on the specifics of this matrix and why it seems to be required to be of size n_var * n_delay. This is very different from MATLAB implementations. Any insight would be helpful.

Thanks in advance.
Maurizio

==================================

I don't have an answer, but maybe Matlab documentation is more clear on the issue. I haven't read either documentation on the issue.

--Sergei.


Reply | Threaded
Open this post in threaded view
|

Re: DDE solvers / How to set HISTORY

Maurizio De Pittà
Hi Sergei,
unfortunately not. There is no specification of HISTORY as matrix in the MATLAB equivalent:


This is why the matrix specification is hard to figure out, for me at least.

M


On Sat, Jan 19, 2019 at 10:58 PM Sergei Steshenko <[hidden email]> wrote:


On Saturday, January 19, 2019, 11:32:28 PM GMT+2, Maurizio De Pittà <[hidden email]> wrote:


Dear all,
I am troubled by the DDE solvers in octave. My question follows this question that sadly remained without answer:


In particular, I cannot understand what is the "matrix" that I need to provide as HISTORY in the input argument of any of the octave/dde-solvers -- i.e. any of the odeXXd solvers in the odepkg. There is no explanation on the specifics of this matrix and why it seems to be required to be of size n_var * n_delay. This is very different from MATLAB implementations. Any insight would be helpful.

Thanks in advance.
Maurizio

==================================

I don't have an answer, but maybe Matlab documentation is more clear on the issue. I haven't read either documentation on the issue.

--Sergei.


Reply | Threaded
Open this post in threaded view
|

Re: DDE solvers / How to set HISTORY

Montgomery-Smith, Stephen
In reply to this post by Maurizio De Pittà
On 1/19/19 1:57 PM, Maurizio De Pittà wrote:

> Dear all,
> I am troubled by the DDE solvers in octave. My question follows this
> question that sadly remained without answer:
>
> http://lists.gnu.org/archive/html/help-octave/2016-08/msg00064.html
>
> In particular, I cannot understand what is the "matrix" that I need to
> provide as HISTORY in the input argument of any of the
> octave/dde-solvers -- i.e. any of the odeXXd solvers in the odepkg.
> There is no explanation on the specifics of this matrix and why it seems
> to be required to be of size n_var * n_delay. This is very different
> from MATLAB implementations. Any insight would be helpful.
>
> Thanks in advance.
> Maurizio
>
>

Look at https://searchcode.com/codesearch/view/9530442/ in particular
this piece of code:

for vcnt = 1:length (vlags);
  vhmat(:,vcnt) = feval (vhist, (vslot(1)-vlags(vcnt)), vfunarguments{:});
end

It suggests to me that it is the matrix whose columns are values of y
calculated at the start point minus the values of the lags.

Reply | Threaded
Open this post in threaded view
|

Re: DDE solvers / How to set HISTORY

Maurizio De Pittà
Thanks Stephen,
precisely the line of code I needed. Now it makes sense.

Cheers,

M

On Sat, Jan 19, 2019 at 11:35 PM Montgomery-Smith, Stephen <[hidden email]> wrote:
On 1/19/19 1:57 PM, Maurizio De Pittà wrote:
> Dear all,
> I am troubled by the DDE solvers in octave. My question follows this
> question that sadly remained without answer:
>
> http://lists.gnu.org/archive/html/help-octave/2016-08/msg00064.html
>
> In particular, I cannot understand what is the "matrix" that I need to
> provide as HISTORY in the input argument of any of the
> octave/dde-solvers -- i.e. any of the odeXXd solvers in the odepkg.
> There is no explanation on the specifics of this matrix and why it seems
> to be required to be of size n_var * n_delay. This is very different
> from MATLAB implementations. Any insight would be helpful.
>
> Thanks in advance.
> Maurizio
>
>

Look at https://searchcode.com/codesearch/view/9530442/ in particular
this piece of code:

for vcnt = 1:length (vlags);
  vhmat(:,vcnt) = feval (vhist, (vslot(1)-vlags(vcnt)), vfunarguments{:});
end

It suggests to me that it is the matrix whose columns are values of y
calculated at the start point minus the values of the lags.


Reply | Threaded
Open this post in threaded view
|

Re: DDE solvers / How to set HISTORY

Sergei Steshenko
In reply to this post by Maurizio De Pittà


On Sunday, January 20, 2019, 12:23:09 AM GMT+2, Maurizio De Pittà <[hidden email]> wrote:


Hi Sergei,
unfortunately not. There is no specification of HISTORY as matrix in the MATLAB equivalent:


This is why the matrix specification is hard to figure out, for me at least.

M


On Sat, Jan 19, 2019 at 10:58 PM Sergei Steshenko <[hidden email]> wrote:


On Saturday, January 19, 2019, 11:32:28 PM GMT+2, Maurizio De Pittà <[hidden email]> wrote:


Dear all,
I am troubled by the DDE solvers in octave. My question follows this question that sadly remained without answer:


In particular, I cannot understand what is the "matrix" that I need to provide as HISTORY in the input argument of any of the octave/dde-solvers -- i.e. any of the odeXXd solvers in the odepkg. There is no explanation on the specifics of this matrix and why it seems to be required to be of size n_var * n_delay. This is very different from MATLAB implementations. Any insight would be helpful.

Thanks in advance.
Maurizio

==================================

I don't have an answer, but maybe Matlab documentation is more clear on the issue. I haven't read either documentation on the issue.

--Sergei.

Well, in GNU Octave: Matlab-compatible solvers I read among other things:

"
: [t, y] = ode23 (fun, trange, init)

...
init contains the initial value for the unknowns. If it is a row vector then the solution y will be a matrix in which each column is the solution for the corresponding initial value in init.
".


My guess is that to resume the solution process form where you've stopped you need to specify 'init' as column (not row) vector.

Take a simple equation and try this.

--Sergei.


"
"