Discussion:
[SciPy-Dev] GSoC17 scipy.diff & B-splines questions
Evgeny Zhurko
2017-03-13 22:00:31 UTC
Permalink
Hi,

My name's Evgeny Zhurko. I'm a 3'rd year student of the Belarusian State
University of Informatics and Radioelectronics, Minsk, Belarus. I want to
participate in GSoC with Scipy.

About scipy.diff:
It's not necessary to invent the wheel, so, as for me, the best way to
implement this idea will be moving numerical and algorithm differentiation
from numdifftools to scipy with some changes (new class NDerivative for n>
= 1 - from GSOC15 discussion).
API proposed by Maniteja Nandana (GSoC15) i find reasonable, but with small
controversal questions:
I think it's not necessary to separate `richardson` as a special method,
because we can include richardson interpolation as a required part of
computing.
N (derivative order) was proposed 1-4. Numdifftools can compute derivative
of order 1-10, so scipy will compute the same :-)

Current scipy functionality has parameter "method" as '2-point' or
'3-point'. I adhere to the naming 'forward', 'backward', 'central',
'complex', 'multicomplex' for parameter "method". Boundary optional param
should be added in new API as a change numdifftools.

Estimates: it's not very hard task to move numdifftools to scipy with small
changing functionality. So, optional part of idea can be partially
implemented as required part of idea.

About B-spline improvement:
Do you want to be able to read the relevant literature? :-)
Generally speaking, i find this idea the most interesting and the hardest
for me, because i never worked with splines before.

Best Regards,
Evgeny Zhurko
Evgeny Zhurko
2017-03-14 09:01:30 UTC
Permalink
About B-spline improvement(i lost a part of question in previous message):
Do you expect student with a good knowledge of splines or it's can be
hard-working student that spend about quarter of the all time(maybe more)
to reading the relevant literature? :-)
Generally speaking, i find this idea the most interesting and the hardest
for me, because i never worked with splines before.
Post by Evgeny Zhurko
Hi,
My name's Evgeny Zhurko. I'm a 3'rd year student of the Belarusian State
University of Informatics and Radioelectronics, Minsk, Belarus. I want to
participate in GSoC with Scipy.
It's not necessary to invent the wheel, so, as for me, the best way to
implement this idea will be moving numerical and algorithm differentiation
from numdifftools to scipy with some changes (new class NDerivative for n>
= 1 - from GSOC15 discussion).
API proposed by Maniteja Nandana (GSoC15) i find reasonable, but with
I think it's not necessary to separate `richardson` as a special method,
because we can include richardson interpolation as a required part of
computing.
N (derivative order) was proposed 1-4. Numdifftools can compute derivative
of order 1-10, so scipy will compute the same :-)
Current scipy functionality has parameter "method" as '2-point' or
'3-point'. I adhere to the naming 'forward', 'backward', 'central',
'complex', 'multicomplex' for parameter "method". Boundary optional param
should be added in new API as a change numdifftools.
Estimates: it's not very hard task to move numdifftools to scipy with
small changing functionality. So, optional part of idea can be partially
implemented as required part of idea.
Do you want to be able to read the relevant literature? :-)
Generally speaking, i find this idea the most interesting and the hardest
for me, because i never worked with splines before.
Best Regards,
Evgeny Zhurko
Nikolay Mayorov
2017-03-14 18:24:34 UTC
Permalink
Hi Evgeny,



I'll give you my general opinion about your last question. In order to write a good proposal for B-splines project you'll need to have a rather good understanding of the subject, it's just how it is. So if you are really interested in this subject then go ahead and start thinking about your proposal and learn necessary (for the proposal) things about B-splines. But you definitely don't need to develop complete and expert knowledge of this subject to apply, just get a good idea of what you want to implement during GSoC and how you can achieve that.



Also I would strongly recommend working on one of easier issues listed by Evgeni Burovski here https://github.com/scipy/scipy/issues/6730 as part of the application process.



Evgeni himself might have his opinion different from mine :). I'm sure he will answer you too.



Kind regards,

Nikolay Mayorov.




---- On Tue, 14 Mar 2017 14:01:30 +0500 Evgeny Zhurko <***@gmail.com> wrote ----




About B-spline improvement(i lost a part of question in previous message):

Do you expect student with a good knowledge of splines or it's can be hard-working student that spend about quarter of the all time(maybe more) to reading the relevant literature? :-)

Generally speaking, i find this idea the most interesting and the hardest for me, because i never worked with splines before.



2017-03-14 1:00 GMT+03:00 Evgeny Zhurko <***@gmail.com>:

Hi,



My name's Evgeny Zhurko. I'm a 3'rd year student of the Belarusian State University of Informatics and Radioelectronics, Minsk, Belarus. I want to participate in GSoC with Scipy.



About scipy.diff:

It's not necessary to invent the wheel, so, as for me, the best way to implement this idea will be moving numerical and algorithm differentiation from numdifftools to scipy with some changes (new class NDerivative for n> = 1 - from GSOC15 discussion).

API proposed by Maniteja Nandana (GSoC15) i find reasonable, but with small controversal questions:

I think it's not necessary to separate `richardson` as a special method, because we can include richardson interpolation as a required part of computing.

N (derivative order) was proposed 1-4. Numdifftools can compute derivative of order 1-10, so scipy will compute the same :-)



Current scipy functionality has parameter "method" as '2-point' or '3-point'. I adhere to the naming 'forward', 'backward', 'central', 'complex', 'multicomplex' for parameter "method". Boundary optional param should be added in new API as a change numdifftools.



Estimates: it's not very hard task to move numdifftools to scipy with small changing functionality. So, optional part of idea can be partially implemented as required part of idea.



About B-spline improvement:

Do you want to be able to read the relevant literature? :-)

Generally speaking, i find this idea the most interesting and the hardest for me, because i never worked with splines before.



Best Regards,

Evgeny Zhurko







_______________________________________________

SciPy-Dev mailing list

SciPy-***@scipy.org

https://mail.scipy.org/mailman/listinfo/scipy-dev
Evgeni Burovski
2017-03-16 14:50:26 UTC
Permalink
On Tue, Mar 14, 2017 at 9:24 PM, Nikolay Mayorov
Post by Nikolay Mayorov
Hi Evgeny,
I'll give you my general opinion about your last question. In order to write
a good proposal for B-splines project you'll need to have a rather good
understanding of the subject, it's just how it is. So if you are really
interested in this subject then go ahead and start thinking about your
proposal and learn necessary (for the proposal) things about B-splines. But
you definitely don't need to develop complete and expert knowledge of this
subject to apply, just get a good idea of what you want to implement during
GSoC and how you can achieve that.
Also I would strongly recommend working on one of easier issues listed by
Evgeni Burovski here https://github.com/scipy/scipy/issues/6730 as part of
the application process.
Evgeni himself might have his opinion different from mine :). I'm sure he
will answer you too.
Kind regards,
Nikolay Mayorov.
---- On Tue, 14 Mar 2017 14:01:30 +0500 Evgeny Zhurko
Do you expect student with a good knowledge of splines or it's can be
hard-working student that spend about quarter of the all time(maybe more) to
reading the relevant literature? :-)
Generally speaking, i find this idea the most interesting and the hardest
for me, because i never worked with splines before.
Hi,
My name's Evgeny Zhurko. I'm a 3'rd year student of the Belarusian State
University of Informatics and Radioelectronics, Minsk, Belarus. I want to
participate in GSoC with Scipy.
It's not necessary to invent the wheel, so, as for me, the best way to
implement this idea will be moving numerical and algorithm differentiation
from numdifftools to scipy with some changes (new class NDerivative for n> =
1 - from GSOC15 discussion).
API proposed by Maniteja Nandana (GSoC15) i find reasonable, but with small
I think it's not necessary to separate `richardson` as a special method,
because we can include richardson interpolation as a required part of
computing.
N (derivative order) was proposed 1-4. Numdifftools can compute derivative
of order 1-10, so scipy will compute the same :-)
Current scipy functionality has parameter "method" as '2-point' or
'3-point'. I adhere to the naming 'forward', 'backward', 'central',
'complex', 'multicomplex' for parameter "method". Boundary optional param
should be added in new API as a change numdifftools.
Estimates: it's not very hard task to move numdifftools to scipy with small
changing functionality. So, optional part of idea can be partially
implemented as required part of idea.
Do you want to be able to read the relevant literature? :-)
Generally speaking, i find this idea the most interesting and the hardest
for me, because i never worked with splines before.
Best Regards,
Evgeny Zhurko
Hi Evgeny,

To echo what Nikolay said: we certainly do not expect a student to
have a pre-existing expert knowledge on the subject! The ability to
read literature and implement algorithms off papers and/or books can
be essential however.

This project also can be naturally made into a series of sub-projects,
some of them algorithmic, some more of UI improvements. Thus a student
can use a "rolling wave" type approach to reading the literature,
where they read up as needed.

And also the first draft of the proposal does not need to be perfect:
it typically takes several iterations to converge.

Cheers,

Evgeni

Loading...