-
Notifications
You must be signed in to change notification settings - Fork 0
GSoC 2011 Application Yuri Karadzhov
Title: SymPy: Implementation of basic Parametrization module, Symmetry search and handle module.
Student: Yuri Karadzhov
Abstract: As for professional mathematician and physicist computer algebra system (CAS) mostly is the tool of handling simple yet technically large problems. Sure, it can solve some problems completely from the start to the end, but the main purpose we use CAS is to simplify our daily routine. So the goal of my project is improvement of base of Sympy which significantly reduce amount of repeated and cumbersome operations and give the basement for other more complex and specific tools. As for me this tools are – parametrization (which helps to solve ODE's and PDE's depending on arbitrary parameters) and concerned problem of searching and handling symmetries of single ODE or PDE or system of ones.
Name: Yuri Karadzhov
Gmail and GoogleTalk: [email protected]
IRC: yuri-karadzhov on freenode
Skype: kara-ya
Mailing List: Parametrizator or Symmetries
Current:
- PhD student in Applied math department of the Kiev Institute of Mathematics, National
Former:
- MS of Mathematical Physics and Computer Sciences in Mechanic-Mathematical faculty of the Kiev National Tars Shevchenko University (honours degree).
- BA of Mathematical Physics and Computer Sciences in Mechanic-Mathematical faculty of the Kiev National Tars Shevchenko University (honours degree).
Background which might be helpful: Computation Theory, Algebra, Mathematical and Functional Analyses , Theoretical Physics, Quantum Mechanics, Integral Transformations, Special Functions, Differential Equations, Mathematical Physics, Supersymmetries and Symmetries Analyses.
Currently in applied math department I study the theory of Lie groups and it's application to the differential equations. The most recent works however concerned with supersymmetry of Schrödinger-Pauli equation of arbitrary dimension. The obtained results widely extend the number of exactly solvable Quantum Mechanic problems as well as generalize the approach of finding such problems.
I've bin using GNU Linux since 2001. It is my only operation system for the last five years. I worked with Mandrake, Red Hat, Gentoo, Debian. Now I use Kubuntu as it is simple to configure and up to date. I used to work as system administrator so I familiar with sh.
Programmer experience:
- Professional:
- Java EE, JDBC, JavaScript (ExtJs) – Summer work in Global Logic (2010)
- Java SE – Institute project: Partial TeX translator for SIGMA journal (2009)
- APL – Simcorp LLC (2008-2009)
- Academic:
- C/C++, Python – writing labs in University
- Scala – experimenting with Processing
IDE: Eclipse, Netbeans, IDLE
I have good knowledge of
- Maple
- Mathematica
- Sage and Maxima
The main purpose I applied to this project is to investigate in base of the sympy, which gives the ability to improve more complex functionality which I need in my research. I expect to continue my work on sympy after the end of the project, especially on differential and Lie modules, they are in great interest of me. Because after my work on SSQM will be finished I will recalculate and correct Amaldi classification which incomplete version is used in Maple to solve systems of ODE's and PDE's.
The project itself includes many steps, but the main goal is to implement parameter checking functionality (the idea is original and has no realizations in any other CAS).
e.g. Bernoulli differential equation depending on parameters
f ' (x) = af 2(x) + b
has different solutions depending on parameter values
- f(x) = C1 if a = 0, b = 0
- f(x) = bx + C2 if a = 0, b ≠ 0
- f(x) = 1/(C3-ax) if a ≠ 0, b = 0
- f(x) = sqrt(b/a) tan( sqrt(ba) (x + C4)) if a ≠ 0, b ≠ 0
The other example of parameter depending answer is rank of the matrix
e.g. Assume that we have matrix depending on parameter
A = Matrix((1, x),(1, 1))
this matrix has different rank depending on parameter x
- rank(A) = 2 if x ≠ 1
- rank(A) = 1 if x = 1
So high level function casemap should be implemented to make this real. And we will be able to write
>>> casemap(dsolve, diff(f(x),x)==a*f(x)**2+b, (a, b)) # parameter-wise solution of given ode
(C1, (a==0, b==0))
(bx + C2, (a==0, b!=0))
(1/(C3 - ax), (a!=0, b==0))
(sqrt(b/a) tan(sqrt(ba) (x+C4)), (a!=0, b!=0)))
or for rank calculation
>>> casemap(det, inverse(A), (x)) # parameter-wise determinant calculation
(1/(1-x), (x!=1))
(infinity, (x==1))
The problem of searching symmetries of differential equation (system of equations) partial and ordinary is fundamental problem of analysis of differential equation. Assuming that we know symmetries of DE we can reduce its order or even completely solve it (in case of ODE), reproduce its solution and give some prediction about asymptotic behavior of solutions.
Of course the problem of finding symmetries include the problem of integration of overdetermined system of DE's on the last step, which is huge and greedy to resources. Nevertheless it is usually easy to solve without computer.
The huge routine part is obtaining the system of determining equations. So the goal of the project is to present tools to handle this problem:
- Generate infinitesimal operator for given variables
- Calculate the extension of infinitesimal operator of given order
- Calculate differential sequence of given equation (system of equations)
- Apply the infinitesimal operator to the equation (system of equations)
- Obtain system of determining equations
>>> Input # Comment
Output
- Week 1
- Week 2
- Week 3
- Week 4
- Week 5
- Week 6
- Week 7
- Week 8