gfun[poltodiffeq] - determine the differential equation satisfied by a polynomial in holonomic functions
Calling Sequence
poltodiffeq(P, listdiffeq, list_unknowns, y(z), <iniconds>, <homogeneous=bool>, <operator=name>)
Parameters
P - polynomial in z and the (possibly differentiated) variables in list_unknowns
listdiffeq - list containing, for each of the variables in list_unknowns, either a linear differential equation or a set containing the equation together with initial conditions
list_unknowns - list of the unknowns [y1(z), y2(z),...], in the same order as in listdiffeq
y,z - the name of the resulting function and the generic variable
homogeneous - (optional) boolean requesting a homogeneous output equation; the default is false
operator - (optional) name used verbatim as the differential operator
Description
- If
y1(z),y2(z),... are power series solutions oflistdiffeq[1],listdiffeq[2],...,poltodiffeqoutputs a linear differential equation verified byP(z,y1(z),...). - When
homogeneous=true, the constant coordinate is retained in the linear-dependence computation so that the returned equation is homogeneous. - With
operator=name, input and output initial conditions are not computed. Homogeneous output is a polynomial in the supplied name and inhomogeneous output has the formL(name)=-q.
Examples
> with(gfun):
Sin:={diff(y1(z),z,z)=-y1(z),y1(0)=0,D(y1)(0)=1}:
Cos:={diff(y2(z),z,z)=-y2(z),y2(0)=1,D(y2)(0)=0}:
poltodiffeq(y1(z)^2+y2(z)^2,[Sin,Cos],[y1(z),y2(z)],y(z));
> poltodiffeq(y1(z)^2+diff(y1(z),z)^2,[Sin],[y1(z)],y(z));
See Also
gfun, gfun[parameters], gfun[diffeq+diffeq], gfun[diffeq*diffeq], gfun[poltorec]