[SciPy-Dev] (no subject)

Ralf Gommers ralf.gommers at gmail.com
Sun Mar 26 03:55:57 EDT 2017


On Thu, Mar 23, 2017 at 11:35 AM, Matt Haberland <haberland at ucla.edu> wrote:

> Hi Qianhui,
>
> I'm Matt; I'll be co-mentoring the scipy.diff project if a proposal is
> selected, so my answer is geared towards that.
>
> It seems that you have found https://github.com/
> scipy/scipy/wiki/GSoC-2017-project-ideas as you wrote "implement
> scipy.diff (numerical differentiation)". If you haven't already followed
> the recommended reading links, I would continue with those. Read carefully,
> researching things you're not familiar with.
>
> I suggest that you adopt the liberal interpretation of 'numerical
> differentiation' - the evaluation of the numerical values of derivatives -
> rather than the more restrictive definition of 'finite differences'. Please
> research and consider the pros and cons of the various methods of
> evaluating the numerical values of derivatives, including automatic
> differentiation and complex step methods.
>

I agree with the sentiment of looking at the big picture of differentiation
methods first, but the discussion around https://github.com/scipy/
scipy/issues/2035#issuecomment-23638210 converged on automatic
differentiation not being a priority. So I suggest quickly focusing on a
finite differences / complex step approximation method.

Note that complex-step is more or less a separate flavor of finite
differences rather than a separate category of methods, and numdifftools
does include it.

Ralf



> Before writing a proposal, consider the following:
> What are some common applications that require numerical derivatives, what
> differentiation methods are most suitable for these applications, and how
> does that information suggest what capabilities scipy.diff should have?
> What algorithms can you find (in academic literature and textbooks), and
> under what determines which is best for a particular application? Which can
> you hope to implement, given constraints on time and expertise? (Your
> mentors may not be differentiation experts - I am not - so you might have
> to find answers about complicated algorithms on your own!)
> What existing code can you draw from, and what shortcomings of that code
> will you need to address? (Check bug reports, for example.)
> With all that in mind, synthesize a schedule for creating the most useful
> scipy.diff in the time you'll have available, and outline a path for
> future work.
>
> I'll say that I'm particularly interested in derivatives for nonlinear
> programming, especially for solving optimal control problems using direct
> methods. In particular, I have Python code for evaluating the objective
> function and constraints, and accurate derivates can greatly improve
> convergence rates, so automatic differentiation (AD) is the natural choice.
> However, other applications may have black box functions, in which case AD
> is not an option. Are there situations in which AD is not possible but
> complex step methods can be used and would outperform (real) finite
> differences?
>
> You can find more general thoughts about writing good GSoC proposals
> online; I but these are the things that come to my mind when I think about
> a scipy.diff proposal.
>
> Matt
>
>
>
>
> On Sat, Mar 18, 2017 at 7:32 PM, Qianhui Wan <stellamberv at gmail.com>
> wrote:
>
>> Hi all,
>>
>> I'm a senior undergraduate in US. My direction is in applied math and
>> numerical analysis so I want to contribute to our suborg this year :) This
>> is my first time to apply for GSoC.
>>
>> As I mentioned above, I've already had some background in related math
>> and I have some experience in solving PDEs numerically with classical
>> schemes. In the ideas list, I'm more interested in "implement scipy.diff
>> (numerical differentiation)" and "improve the parabolic cylinder
>> functions". For programming languages, I'm a intermediate learner in
>> Python, MATLAB and R, also having some skills in C/C++.
>>
>> If anyone can give me some tips in the requirements of these two projects
>> and proposal writing I'll be very appreciate, and if you have suggestions
>> in choosing projects or developing ideas please let me know. Thanks!
>>
>> Best,
>> Qianhui
>>
>> Qianhui Wan, senior
>> Fall 2016 - Spring 2017, visiting, Math Department, University of
>> Wisconsin, Madison, US
>> Spring 2016, visiting, Math Department, University of California,
>> Berkeley, US
>> Fall 2013 - Spring 2017, Math School, Sun Yat-sen University, Guangzhou,
>> China
>>
>> _______________________________________________
>> SciPy-Dev mailing list
>> SciPy-Dev at scipy.org
>> https://mail.scipy.org/mailman/listinfo/scipy-dev
>>
>>
>
>
> --
> Matt Haberland
> Assistant Adjunct Professor in the Program in Computing
> Department of Mathematics
> 7620E Math Sciences Building, UCLA
>
> _______________________________________________
> SciPy-Dev mailing list
> SciPy-Dev at scipy.org
> https://mail.scipy.org/mailman/listinfo/scipy-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scipy-dev/attachments/20170326/25de28e1/attachment.html>


More information about the SciPy-Dev mailing list