[SciPy-Dev] (no subject)

Qianhui Wan stellamberv at gmail.com
Sun Apr 2 23:18:53 EDT 2017


Hi Matt and Ralf,

Thanks so much for your help and tips, now I've finished my draft proposal.
Hope that you can give some comments to it.

Here is the link:

https://docs.google.com/document/d/1jYv4NTyZznT8DscyvYlfSt9eyzi-ytk1ANQOV6U7vmw/edit?usp=sharing

Thanks,
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

2017-03-26 2:55 GMT-05:00 Ralf Gommers <ralf.gommers at gmail.com>:

>
>
> 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
>>
>>
>
> _______________________________________________
> SciPy-Dev mailing list
> SciPy-Dev at python.org
> https://mail.python.org/mailman/listinfo/scipy-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scipy-dev/attachments/20170402/c39c5768/attachment.html>


More information about the SciPy-Dev mailing list