An algebraic function g in a differential field extension M/F satisfies a linear differential equation L(y)=0 with coefficients in F⊂M. If the minimal polynomial of g over F is of degree n, then the order of L is at most n.
Given the irreducible polynomial f(X)∈F[X], return the monic differential operator over F of minimal degree to which a formal root of f is a solution. The field F must be a differential field. The base ring of the created differential operator is F.The algorithm used in this function is straightforward. If g is a root of an irreducible polynomial f(X)∈F[X], where F is a differential field, then f(g)=0 induces a unique derivation on g. The field M=F(g) is an algebraic differential field extension of F containing all derivatives of g. If n is the degree of the polynomial f, then M/F is a field extension of degree n. This implies that there must be at least one non--trivial linear relation between g, δM(g), ..., δMn(g). The linear relation between these elements involving the lowest powers of δMi gives exactly the desired monic differential operator after a suitable normalization.
> F<z> := RationalDifferentialField(Rationals()); > _<X> := PolynomialRing(F); > f := X^3-z; > L := DifferentialOperator(f); > L; $.1 + -1/3/z > M<alpha> := ext<F|f>; > R<D> := DifferentialOperatorRing(M); > Apply(R!L,alpha); 0