# 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