octave-maintainers
[Top][All Lists]
Advanced

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

Re: GSoC ode15s


From: Marco Caliari
Subject: Re: GSoC ode15s
Date: Tue, 15 Mar 2016 17:30:38 +0100 (CET)
User-agent: Alpine 2.10 (DEB 1266 2009-07-14)

On Tue, 15 Mar 2016, PhilipNienhuis wrote:

Marco Caliari-4 wrote
On Sun, 13 Mar 2016, Carlo De Falco wrote:


On 11 Mar 2016, at 19:51, Chiara Segala <

segalachiara92@

> wrote:

As another project idea I would like to work on Exponential Integrators.
It could be an idea to implement, for example, the Exponential Euler and
Rosenbrock methods. But I don't know if it can be an interesting
proposal since these functions are not well defined even in Matlab.

Chira,

I lke this project proposal, I would be interested in mentoring (or
rather co-mentoring) on it.

As you also stated I think it should have lower priority with
implementation of ode15s,
because it is not a functionality for which there as much demand.

Definitely an implementation of this feature should go iinto odepkg and
not in core-Octave.

That said, I do encourage you to submit an application for GSOC about
this.

The first point to investigate before starting development would be what
is the state of
algorithms for computing matrix exponential in Octave and how that
compares to Matlab.

I know there is another project being considered about matrix functions
and I am not fully
aware of its state of advancement but I have seen that discussed on the
list recently, I suggest you
look at those discussion threads.

Dear Chiara,

I like too your idea on exponential integrators and I would be available
as co-mentor. About the other project on matrix functions, it would be
completely different. In fact, in exponential integrators it is required
only the action of the matrix exponential to a vector. To this purpose,
one of the best (fast, reliable) methods available is the one developed by
Nick Higham (Computing the action of the matrix exponential with an
application to exponential integrators). He very recently made his code
available with a free license

https://github.com/higham/expmv

Of course, this is just a small ingredient of an exponential integrators
package. Anyway, I'm pretty sure it does not work in Octave as is.

Not so fast, please.
Using the test.m supplied with expmv pkg/tarball downloaded from github, I
get:

In Matlab r2016a prerelease:

test
Relative differences between vectors from EXPM and EXPMV_TSPAN.
Should be of order  1.11e-16.
1:   0.00e+00
2:   1.21e-15
3:   1.37e-15
4:   1.67e-15
5:   1.56e-15
6:   2.59e-15
7:   1.40e-15
8:   3.08e-15
9:   2.20e-15
10:   4.41e-15


and in Octave-4.1.0+:

test
Relative differences between vectors from EXPM and EXPMV_TSPAN.
Should be of order 1.11e-016.
1:  0.00e+000
2:  2.80e-016
3:  3.82e-016
4:  7.54e-016
5:  6.02e-016
6:  1.44e-015
7:  1.48e-015
8:  1.46e-015
9:  9.28e-016
10:  2.73e-015


....so I'd say Octave behaves slightly better than the competition :-)

Right, but try

expmv(1,[1,100;0,-1],[1;1])

Marco



reply via email to

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