# Differential Operators of Algebraic Functions

An algebraic function $g$ in a differential field extension $M/F$ satisfies a linear differential equation $L(y)=0$ with coefficients in $F\subset M$. If the minimal polynomial of $g$ over $F$ is of degree $n$, then the order of $L$ is at most $n$.

## `DifferentialOperator(f): RngUPolElt -> RngDiffOpElt`

Given the irreducible polynomial $f(X)\in 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)\in 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,\delta_M(g),\ldots,\delta_M^n(g)$. The linear relation between these elements involving the lowest powers of $\delta_M^i$ gives exactly the desired monic differential operator after a suitable normalization.

## `Example Diff Op Algebraic Function (ex-a16c5a)`

```magma
> 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

```
