

Dear
all,
I introducing myself for GSOC 2016.
I'm
Chiara
Segala,
I'm 23 years old, graduated at
University of Verona, Italy. I attended my bachelor's degree in
applied mathematics and I am doing now the second year of the
master's
degree. I
am interested in the project idea of
ODE15S IMPLEMENTATION. During
my bachelor's degree I had a programming course
in java and now I'm following one on the C++ language. I have experience
in the
use of Matlab and Octave thanks to the various courses
in numerical computation and
numerical
analysis, also advanced. In
particular I have
followed a course on
numerical methods for
differential
equations, I
know and I
have implemented the most common methods, numerical methods for
initial value problems, thetamethod,
explicit and semiimplicit
RungeKutta,
multistep. I
would be happy to work on that project.
Thanks, Best
regards
Chiara Segala


On 07/03/16 20:21, Chiara Segala wrote:
> Dear all,*
>
> I introducing myself for GSOC 2016. I'm Chiara Segala, I'm 23 years old,
> graduated atUniversity of Verona, Italy. I attended my bachelor's degree
> in applied mathematics and I am doing now the second year of the
> master's *degree*.
> I am interested in the project idea of ODE15S IMPLEMENTATION.
> During my bachelor's degree I had a programming *course*in java and now
> I'm following one on the C++ language.
> I have experience in theuse of Matlab and Octave thanks to the various
> coursesin numerical computation and *numerical analysis, also advanced.*
> In particular I have followed a course onnumerical methods for
> differential equations, Iknow and I *have implemented the most
> common*methods, numerical methods for initial value problems,
> thetamethod, explicit and semiimplicit RungeKutta, multistep.
> I would be happy to work on that project.
>
> *Thanks,
> Best regards
> Chiara Segala
Hi Chiara,
Welcome to the list. I am one of the proposed mentors for this project,
although my role would be helping with general Octave development rather
than numerical methods. If you are interested in applying for this
project consider learning to obtain and build the Octave development
sources as a starting point. You can find a guide to this here:
https://www.gnu.org/software/octave/getinvolved.htmlbut if you need further information you can come back and ask here on
the list. At this point there is still some debate on whether we need an
mfile implementation (in which case you may not need to build Octave at
all), or an interface to another C++ library function. If we decide to
go down the interface route, you will find the following useful:
https://www.gnu.org/software/octave/doc/interpreter/ExternalCodeInterface.htmlYou might also want to familiarise yourself with the existing ode
functions, which you can find in the Octave sources here:
http://hg.savannah.gnu.org/hgweb/octave/file/01586012300e/scripts/ode/Best regards,
Richard

The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.


Dear
Richard,
thank
you so much for the advice.
I'm documenting about the project ode15s
and I am increasingly interested in it. I
looked at the Matlab documentation of the method, and now I am
reading
"The
Matlab Ode Suite", Shampine, Reichelt
and
"Solving
Index1 DAEs in Matlab and Simulink", Shampine, Reichelt,
Kierzenka
I'm
also giving a look at the book
“Solving
Ordinary Differential Equations II, Stiff and DifferentialAlgebraic
Problems” Hairer, Ernst, Wanner, Gerhard.
Being
a math student, I would love to implement the method, then I would
prefer an mfile implementation.
Thanks
to the availability, Best
regards Chiara


On 10/03/16 17:43, Chiara Segala wrote:
>
> Dear Richard,
>
> thank you so much for the advice.
>
<snip>
>
> Thanks to the availability,
> Best regards
> Chiara
>
You're welcome,
One other thing to mention, on the octave maintainers list it is
requested that we use bottom posting (putting the reply below the
earlier message, like this).
I should also mention I will be going on holiday from the 12th to the
18th March and will be out of email contact, so hopefully one of the
other mentors can continue to assist you in this time.
Regards,
Richard

The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.


On Thu, 10 Mar 2016, Chiara Segala wrote:
>
> Dear Richard,
>
> thank you so much for the advice.
>
> I'm documenting about the project ode15s and I am increasingly interested in it.
> I looked at the Matlab documentation of the method, and now I am reading
>
> "The Matlab Ode Suite", Shampine, Reichelt
>
> and
>
> "Solving Index1 DAEs in Matlab and Simulink", Shampine, Reichelt, Kierzenka
>
> I'm also giving a look at the book
>
> “Solving Ordinary Differential Equations II, Stiff and DifferentialAlgebraic Problems” Hairer, Ernst, Wanner, Gerhard.
>
> Being a math student, I would love to implement the method, then I would prefer an mfile implementation.
Dear Chiara,
yesterday Carlo and I gave a closer look to the two papers referenced in
Matlab ode15s documentation. We found out that they only briefly and
roughly describe the algorithm and they refer to quite old papers and
solvers for the details. For instance, they quote DIFSUB, DDRIV2, LSODE,
VODE. We believe it is quite hard for a student (or even for me) to
implement alone and from scratch such a complex function.
Since you would like to implement (also) the behind numerical algorithm,
is there any other function in the Matlab suite, currently missing in
Octave, you would like to take care of? Or any other method for
differential equations?
Cheers,
Marco


On 11 Mar 2016, at 19:51, Chiara Segala < [hidden email]> 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 comentoring) 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 coreOctave.
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.
c.


On Sun, 13 Mar 2016, Carlo De Falco wrote:
>
> On 11 Mar 2016, at 19:51, Chiara Segala < [hidden email]> 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 comentoring) 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 coreOctave.
>
> 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 comentor. 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/expmvOf 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. Can you
please verify and fix it (or report what does not work and why)?
Moreover, the two methods you mentioned (exp. Euler and exp.
RosenbrockEuler) are very basic methods with no adaptive time step. Can
you find the relevant references for exponential integrators?
Best regards,
Marco


Marco Caliari4 wrote
On Sun, 13 Mar 2016, Carlo De Falco wrote:
>
> On 11 Mar 2016, at 19:51, Chiara Segala < [hidden email]> 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 comentoring) 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 coreOctave.
>
> 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 comentor. 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/expmvOf 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.11e16.
1: 0.00e+00
2: 1.21e15
3: 1.37e15
4: 1.67e15
5: 1.56e15
6: 2.59e15
7: 1.40e15
8: 3.08e15
9: 2.20e15
10: 4.41e15
>>
and in Octave4.1.0+:
>> test
Relative differences between vectors from EXPM and EXPMV_TSPAN.
Should be of order 1.11e016.
1: 0.00e+000
2: 2.80e016
3: 3.82e016
4: 7.54e016
5: 6.02e016
6: 1.44e015
7: 1.48e015
8: 1.46e015
9: 9.28e016
10: 2.73e015
>>
....so I'd say Octave behaves slightly better than the competition :)
Philip


On Tue, 15 Mar 2016, PhilipNienhuis wrote:
> Marco Caliari4 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 comentoring) 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 coreOctave.
>>>
>>> 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 comentor. 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.11e16.
> 1: 0.00e+00
> 2: 1.21e15
> 3: 1.37e15
> 4: 1.67e15
> 5: 1.56e15
> 6: 2.59e15
> 7: 1.40e15
> 8: 3.08e15
> 9: 2.20e15
> 10: 4.41e15
>>>
>
> and in Octave4.1.0+:
>
>>> test
> Relative differences between vectors from EXPM and EXPMV_TSPAN.
> Should be of order 1.11e016.
> 1: 0.00e+000
> 2: 2.80e016
> 3: 3.82e016
> 4: 7.54e016
> 5: 6.02e016
> 6: 1.44e015
> 7: 1.48e015
> 8: 1.46e015
> 9: 9.28e016
> 10: 2.73e015
>>>
>
> ....so I'd say Octave behaves slightly better than the competition :)
Right, but try
expmv(1,[1,100;0,1],[1;1])
Marco

