GSoC – Mid term report

Hi,  I passed the midterm evaluations of GSoC, this is what I have accomplished till now.

1] Built the basic infrastructure of the pde module, and added hints that could solve general Partial Differential Equations with constant coefficients

2] Added a function, infinitesimals , that would try to find out the required infinitesimals of any given first order ODE. The following heuristics have been implemented.

a] abaco1_simple (Assumes one of the infinitesimals to be zero, and the other to be a function to x or y)
b] abaco1_product (Assumes one of the infinitesimals to be zero, and the other to be a product of a function of x and y)
c] abaco2_similar (Assumes both infintesimals to be a function of x or y)
d] abaco2_unique_unknown (This is when, one infinitesimals is a function of x and the other to be a function of y)
e] abaco2_unique_general (This is a more general case of the above mentioned hint)
f] linear (Infinitesimals are of the form ax + by + c
g] bivariate (Infinitesimals are bivariate, more general form of the above mnetioned hint)
h] function_sum (When the infinitesimals are the sum of two functions)
i] chi (Finds a polynomial \chi , which helps in calculating the infinitesimals directly)

3] Added a function checkinfsol , which helps in checking if the infinitesimals are the actual solutions to the PDE.

As far as this week went, I couldn’t do much but I managed to add a hint which helps in solving Linear PDE’s with variable coefficients. The general form of such a PDE is

a(x, y)\frac{\partial u}{\partial x} + b(x, y)\frac{\partial u}{\partial y} + c(x, y)u(x, y) = d(x, y) , where a(x, y), b(x, y), c(x, y) and d(x, y) are arbitrary functions in x and y.  This can be done using the method of characteristics. However a simpler way, according to a paper that I skimmed through is, to convert the PDE into an ODE of one variable. The change of coordinates is \xi is the constant in the solution of the differential equation \frac{dy}{dx} = \frac{b}{a} and \eta = x (I don’t know why surely though) is selected such that the Jacobian doesn’t become zero. This is the Pull request, https://github.com/sympy/sympy/pull/2346

TODO’s for this week

1. Get the heuristics PR merged.
2. Try integrating the PDE hint with the ODE hint, (I can foresee a few problems here)

I guess that’s it. Cheers to a new life.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: