On Mon, Mar 16, 2009 at 8:10 PM, asmeurer <asmeu...@gmail.com> wrote:
>
>
>
> On Mar 16, 8:43 pm, Ondrej Certik <ond...@certik.cz> wrote:
>> On Mon, Mar 16, 2009 at 7:15 PM, asmeurer <asmeu...@gmail.com> wrote:
>>
>> > Great!  Is there anything that I should do before the 18th when the
>> > mentoring organizations are accepted (assuming you get to reply by
>>
>> You can get involved more with the sympy project, more below.
>>
>> > then :) ).
>
> I guess you will be replying before then!
>
>
>> Yes, you will be writing an application. Search archives of this list
>> to find examples of applications from 2008 and 2007.
>>
> OK, I will do that.
>
>>
>> There are lots of things that you can do with your level of math that
>> are very needed. For example code generation to C needs improvements
>> and testing.
>
> This is one of the ones I glossed over because I didn't know what it
> was.  Could you explain what this means.

In [1]: ccode?
Type:           function
Base Class:     <type 'function'>
String Form:    <function ccode at 0x9182c6c>
Namespace:      Interactive
File:           /home/ondra/repos/sympy/sympy/printing/ccode.py
Definition:     ccode(expr)
Docstring:
    Converts an expr to a string of c code

    Works for simple expressions using math.h functions.

    >>> from sympy import *
    >>> from sympy.abc import *

    >>> ccode((2*tau)**Rational(7,2))
    '8*pow(2,(1/2))*pow(tau,(7/2))'


>>
>> Or just search through our issues:
>>
>> http://code.google.com/p/sympy/issues/list
>>
>> and easy to fix issues:
>>
>> http://code.google.com/p/sympy/issues/list?q=label:EasyToFix
>>
>> to get an idea which areas of sympy need improvements.
>>
>>
> I will look there too.
>>
>> Yes, we do. We also require each applicant to post at least one patch
>> to sympy, that gets reviewed and accepted, so that we can see that you
>> will be able to learn how to contribute.
>>
>> I suggest you pick some differential equation that sympy cannot solve
>> and send us a patch fixing it (you will have to do it anyway). That
>> way you will see first hand how much work it is and then you can
>> estimate how much time you need for the whole project.
>>
>
> I think that I could try Bernoulli for a start, since it is can be
> solved generally much like linear can be (see the sympy code for
> linear equations to see what I am talking about).  Hopefully I can
> figure out the matcher and solver functions.

That's a good idea to try to figure it out, because this is what you
will be doing the whole summer. :)

> However, as you could probably tell from the classes I am taking
> (those in addition to my computer science class), I will have limited
> time to work on sympy before the summer time.  Nonetheless, I will try
> to do some of what you have said.
>
>
>> As to the project, I suggest you pick some algorithm (that could be
>> used to solve lots of differential equations) that you could implement
>> and test. One example is variation of constants:
>>
>> http://en.wikipedia.org/wiki/Method_of_variation_of_parameters
>>
>> And there are others. Then you would build your project around such
>> algorithm, e.g. it would be the core part of it and you would make
>> sure it works and then implement some special cases.
>>
>> Another approach is to go through your differential equations textbook
>> and think what algorithms you need to implement to be able to solve
>> all equations.
>
> I will have to think about this.  As I have said, I am only half way
> through the class, but from what I can tell, most of what I have yet
> to learn requires transformations (which according to your ideas list
> aren't implemented yet),

Not sure what you mean here, but transformations are easy to
implement, just take an expression and differentiate it.

> are numerical solution techniques, or relate
> to solving systems of differential equations (I think I should focus
> on solving just one differential equation, since it hardly makes since
> to try solving systems if the engine cannot even solve single
> equations anyway).

Btw, this reminds me that recently we implemented a finite element
method solver for 1D equations in my group at UNR:

http://groups.google.com/group/hpfem/browse_thread/thread/d132ba50fe2a7e08

What's different to regular FEM solvers is that it allows to assign
the initial conditions at the beginning of the interval, e.g. like the
rk4 method. When we polish it more and implement hp-FEM adaptivity, I
am very curious how it's going to perform with comparison to regular
adaptive ode solvers, like the one in scipy.

So if you are interested in numerical solvers, we are always looking
for new collaborators, our page is: hpfem.org

>
> By the way, if you are interested, this is the website of my ODE
> class:  
> http://infohost.nmt.edu/~jstarret/TeachingSpring2009/335/335Spring2009.html
>
> My professor teaches the class in Maple.  There is also a link to the
> textbook that I own there too.

Ondrej

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To post to this group, send email to sympy@googlegroups.com
To unsubscribe from this group, send email to sympy+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sympy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to