On Monday, March 7, 2016 at 7:12:44 PM UTC+1, Subham Tibra wrote:
>
> Hi Ondrej, thank you for your response.
>
> ore_algebra in Sage has implemented `annihilator_of_composition` which 
> finds annihilator of a holonomic function after application with an 
> algebraic function but doesn't support initial conditions.
>
> Do we want to get initial conditions of the resulting function when we 
> will implement this operation or just the annihilator?
>
> For instance, we have a holonomic function `sin(x)` defined by diff. eq. 
> and we want to apply this with the function  z(x) = x**2 - 4
>
> f(x) = holonomic(diff(diff(f)) + f, f(0) = 0, f'(0) = 1, x)
> g(x) = f(z(x)) = f(x**2 - 4)
> g'(x) = f'(z(x))*z'(x)                                            -(1)
>
> Now, as we have value of f(x) at the point 0, we find the point where z(x) 
> is 0 which is x = 2 or -2, if we take x=2 we have g(2) = 0, for finding 
> g'(2) we put x = 2 in equation(1) so g'(2) = (1)*(2*2) = 4, and the 
> annihilator of g will be obtained by the algorithm which we will be 
> implemented.
>
> Is this method decent enough for implementing, if we need the initial 
> conditions?
>
> I had some other problems, if you can please take a look at my previous 
> post in this same thread that'd be very helpful.
>
> I thought about the API and liked the way gfun does it in maple. I thought 
> of something like this, initial condition will be given as a list [ f(x0), 
> f'(x0), ... ]. 
>
> In []: holonomic(diffeq, x, initial_condition, x0 = 0)
> Out[]:holonomic(diffeq, x, f(x0) = f1, .... )
>  
> Is it possible to provide initial conditions like this way:
>
> In []:holonomic(diffeq, x, f(x0) = f1, f(x1) = f2 .... )
> Out[]:holonomic(diffeq, x, f(x0) = f1, .... )
>
> where we can provide initial conditions as f(x0) = x1. We can also provide 
> annihilators instead of differential equation as in sage. Which way will be 
> more preferred for it's use in SymPy?
>

The internal data structure should probably be the annihilator. The input 
could be given either as a differential equation or an annihilator. If the 
given differential equation is inhomogeneous, you need to convert it to 
homogeneous form, so a bit of preprocessing is needed anyway.

Fredrik

-- 
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 https://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/cdc5dd9e-b19a-475a-b3e7-e13b4f7d7cdc%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to