> The first and third item would be useful to have, but they are not really big 
> enough projects for a summer of code.  The second one could be, though.  I 
> would need to see a more detailed plan on what you plan to implement to see 
> if it is big enough.
>
> Aaron Meurer

Actually it was one idea which include three smaller ones because they
are connected with each other. The rough plan of implementation:

1. Implement pattern matching functionality. Function like Maple
indets which can return the list of subexpressions of given type from
given expression is required.

e.g. indets(f(x)+2*x+sin(y+cos(t)),'function')
should return the list
f(x), sin(y+cos(t)), cos(t)

This immediately give us the solution of the third problem (concerned
with dsolve)

2. Implement function which return minimal list of linearly
independent functions of one variable form given one.

e.g. linind(cos(t+1), sin(t), cos(t))
should return
sin(t), cos(t)

This helps to solve the first problem.

3. Then singular function should be implemented. This function should
return values of parameters which make given expression singular.

e.g. singular(tan(c)*y/(d*(a+b*x)),(a,b,c,d))
should return
(a=0, b=0),(c=Pi/2+Pi*N_1)

This helps to implement parametrizer.

4. Implement parametrizer casemap which do the require operation
parameter-wise

e.g. casemap(dsolve, diff(f(r),r)=a*f(r)+b*r+c, (a, b, c))
should return
(f(r)=C_1*exp(a*r)-b*r/a-(b+a*c)/a^2 , a!=0), (f(r)=b*r^2/2+c*r+C_1,
a=0)
the same method can be used for rank calculation using determinant
method because
A=Matrix((1, x), (1, 1))
casemap(det, Inverse(A), x)
should return
(1/(1-x), x!=1), (infinity, x=1)

This solve the second problem, but it's assumed that ODE module is
able to solve ODE's without checking of parameters. If it's not — the
improvement of ODE module should be done first.

This idea is not obligatory and if you need improvements of ODE or PDE
module or anything else, I will be glad to help.

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

Reply via email to