On Fri, Apr 5, 2013 at 2:28 AM, Manoj Kumar
<[email protected]> wrote:
> Hello,
>
> As I am almost done with my SoC proposal, and I seem to have a couple of
> days off before my hectic academic schedule again, I was looking at adding
> basic support for partial differential equations. This is because, in my
> proposal, I would have to solve PDE's at some point and it would be really
> good, if it could just add them as hints, in the PDE Module, rather than
> trying to write support then. I wouldn't want to make it solve all types of
> PDE's but just a couple of PDE's that I want it to solve. If anyone else
> wants to add support for different PDE's it can be done then, or as a
> complete SoC proposal in itself.
>
> The corresponding PR can be seen at https://github.com/sympy/sympy/pull/1970
> .
>
> It now solves first order linear homogeneous Partial Differential Equations.
>
> The problems that I'm facing right now are:
>
> 1. Refactoring code: If you look at my commits, you could see that a vast,
> (I'd dare say all) , amount of code is copied from dsolve and the first part
> of classify_ode. However I do understand each and every line of code, and I
> haven't simply copied it blindly. I'd like suggestions to overcome this
> problem. I was thinking of something like a separate helper module, that
> contains dsolve and classify_ode , and calls hints from both the pde and ode
> module, (an argument can be passed to dsolve) in the helper module, that
> solves it as a pde or an ode.

Yes, the code should be refactored, to avoid any code duplication. The
best way to do this depends on the code itself. I may make sense to
factor out common functionality to helper functions. Or you may want
to use some kind of class system, where you get inheritance. Don't be
afraid to break the internal API. It's only the user-level code that
needs to work the same way.

Aaron Meurer

>
> 2. Tests:  Do I need to add tests for classify_pde and pdesolve right now?
> I've added only one hint right now, and wouldn't tests for that hint be
> enough?
>
> I would like this PR to be merged, in some form before May 27th, because it
> would be a really good help for my project if it gets selected. Even
> otherwise, it would be a valuable addition to sympy.
>
> --
> You received this message because you are subscribed to the Google Groups
> "sympy" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/sympy?hl=en-US.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sympy?hl=en-US.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to