I don't understand what this prep flag to dsolve does (other than give
wrong results, as you've identified).  This must have been something
Chris added.  When is it useful to have prep=False?

Aaron Meurer

On Fri, Feb 22, 2013 at 7:39 AM, Manoj Kumar
<[email protected]> wrote:
> Thanks again on your timely reply.
>
> 1. I had indeed downloaded the zip file just as a precaution.
>
> 2. On playing around with the source code , I found out that, it is because
> of the unevaluated derivative , that leads to a wrong output.
>
> But in cases like the above mentioned, I guess there should be an option, by
> which we can directly integrate it , something like dsolve(d, f, hint =
> 'direct') .
>
> It maybe inconsequential in cases like above , but in cases like
>
> Derivative(x* f(x), x , x , x) , where it could give a solution by direct
> integration (without preprocessing) ,and preprocessing would give a
> NotImplementedError  I think it would be helpful.
>
> This is my attempt at solving the problem,
> https://github.com/sympy/sympy/pull/1814 .
>
>
>
>
> On Fri, Feb 22, 2013 at 7:48 PM, Stefan Krastanov
> <[email protected]> wrote:
>>
>> Hi,
>>
>> There are a few things that I find unclear, however I do reproduce
>> this behavior.
>>
>> First, there is no need to download any zip files (I guess you did it
>> as a precaution). Please just use git so we can use the commit hashes
>> and know about what revisions of the code we are talking.
>>
>> Then, be aware that there is no building/compiling in python. It is
>> interpreted language (there are some unimportant detail about .pyc
>> caches). If you have changed the code you are using the changed
>> version.
>>
>> Here is what I got:
>>
>> >>> f = f(x)
>> >>> d = Derivative(x * f , x)
>> >>> dsolve(d , f)
>>        C₁
>> f(x) = ──
>>        x
>> >>> dsolve(d , f , prep = False)
>> f(x) = C₁
>>
>> I am quite sure that this happened because `d` was constructed as an
>> unevaluated derivative. After
>>
>> d = d.doit()
>>
>> all works well.
>>
>>
>> I am not sure whether this should be considered a bug. After all sympy
>> permits you to construct many unevaluated objects
>> (Add(evaluate=False), Mul(evaluate=False), Integral, Derivative, Sum)
>> but does not promise to work well with them.
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "sympy" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at http://groups.google.com/group/sympy?hl=en.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>
>
>
> --
> Regards,
> Manoj Kumar,
> Mech Undergrad.
> BPGC
> Blog
>
> --
> You received this message because you are subscribed to the Google Groups
> "sympy" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/sympy?hl=en.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>

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


Reply via email to