On Sun, Jun 28, 2009 at 4:14 PM, Priit Laes<plaes...@gmail.com> wrote:
>
> I have updated the PDE-separation branch again, it is now in
> 'pde-separate-v2'.
>
> In case you have sympy's sources already checked out:
>  $ git remote add plaes git://github.com/plaes/sympy.git
>  $ git checkout -b pde origin/pde-separate-v2
>
> About API:
> I have two higher-level functions called: pde_separate_add and
> pde_separate_mul. Both functions return list with two separated
> expression on success, and None on failure.
>
> _add substitutes F(x, y) = X(x) + Y(y) into equation and _mul case does
> F(x, y) = X(x)*Y(y).
>
> The main variable separation algorithm is in the _separate() function.
> This algorithm is still WIP (so I added a failing testcase too, feel
> free to fix it :) )
>
> Two examples from doctest:
>
>>>> from sympy import *
>>>> x, t = symbols('xt')
>>>> u, X, T = map(Function, 'uXT')
>
>>>> eq = Eq(Derivative(u(x, t), x), E**(u(x, t))*Derivative(u(x, t), t))
>>>> pde_separate_add(eq, u(x, t), [X(x), T(t)])
> [D(X(x), x)*exp(-X(x)), D(T(t), t)*exp(T(t))]
>
>
>>>> from sympy import *
>>>> x, y = symbols('xy')
>>>> u, X, Y = map(Function, 'uXY')
>
>>>> eq = Eq(Derivative(u(x, y), x, 2), Derivative(u(x, y), y, 2))
>>>> pde_separate_mul(eq, u(x, y), [X(x), Y(y)])
> [D(X(x), x, x)/X(x), D(Y(y), y, y)/Y(y)]
>
>
> So, what do you think about API?

Very nice! I just tried this out (thanks to Ondrej's helpful command
git checkout -b pde2 origin/pde-separate-v2).


>
> Also, because both _add and _mul functions are fairly similar, would it
> make sense to add also, pde_separate(strategy='mul | add') ??


Yes, I think adding pde_separate(strategy='mul | add') (with mul as
the default) is a good idea.


>
>
> Cheers,
> Priit :)
>
>
> >
>

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

Reply via email to