# Ring and Field Extensions

The first differential ring and field extensions we consider are the ones induced by a differential operator. Given a differential operator

$$
L = a_nD^n+a_{n-1}D^{n-1}+\cdots+a_1D+a_0, \quad a_n\not=0
$$

in a differential operator ring $F[D]$ with coefficients in a differential field $F$, we construct a ring or field extension of degree $n$ over $F$, whose indeterminates play the role of a formal solution of $L(y)=0$ and its derivatives.

Given a differential field $F$, it is also possible to construct differential extensions of the form $F[X]/f(X)$, where $f(X)$ is an irreducible polynomial over $F$.

## `DifferentialRingExtension(L): RngDiffOpElt -> RngDiff`

Constructs a differential ring extension of the base ring of the differential operator $L$, by adding a formal solution of $L$ and its formal derivatives as indeterminates.

Let $P$ denote the new differential ring, and $F$ the coefficient ring of $L$. The ring $F$ is a differential field. If $n$ is the degree of $L$, the underlying ring of $P$ is a multivariate polynomial ring of degree $n$ over $F$. We thus have $P=F[Y_1,Y_2,\ldots,Y_n]$, with indeterminates $Y_1,Y_2,\ldots,Y_n$. If $L$ is written as $a_nD^n+a_{n-1}D^{n-1}+\cdots+a_1D+a_0\in F[D]$, then the derivation of $P$ is induced by the differential operator $L$ as follows: $\delta_P(Y_i)=Y_{i+1}$, for $i<n$ and $a_n\delta_P(Y_{n})=-a_{n-1}Y_{n-1}-\cdots- a_2 Y_2-a_1Y_1.$ With this construction $Y_1$ mimics a solution of $L(y)=0$, and all the others are its derivatives.

## `DifferentialFieldExtension(L): RngDiffOpElt -> RngDiff`

Constructs a differential field extension of the base ring of the differential operator $L$, by adding a formal solution of $L$ and its formal derivatives as indeterminates.

The construction of the new differential field is completely analogous to the differential ring created by `DifferentialRingExtension(L)`. The only difference is that now a differential field $M=F(Y_1,Y_2,\ldots,Y_n)$, with $n$ indeterminates $Y_1,Y_2,\ldots,Y_n$ is created. The action of the derivation of $M$ on $Y_1,Y_2,\ldots,Y_n$ is as described in `DifferentialRingExtension(L)`.

## `Example: Diff Ring Ext Operator (ex-434a22)`

```magma
> F<z> := RationalDifferentialField(Rationals());
> R<D> := DifferentialOperatorRing(F);
> L := z^2*D^2-z*D+1;
> P<Y1,Y2> := DifferentialRingExtension(L);
> P;
Differential Ring Extension over F
with derivation given by Mapping from: Polynomial ring of rank 2 over F to
Polynomial ring of rank 2 over F given by a rule [no inverse]
> Derivative(Y1);
Y2
> Derivative(Y2);
-1/z^2*Y1 + 1/z*Y2

```

## `Example: Diff Field Ext Operator (ex-5ef2f3)`

```magma
> F<z> := RationalDifferentialField(Rationals());
> R<D> := DifferentialOperatorRing(F);
> L := z^2*D^2-1;
> M<Y,DY> := DifferentialFieldExtension(L);
> IsDifferentialField(M);
true
> Derivative(Y);
DY
> Derivative(DY);
-1/z^2*Y

```

## `ext< F | f >: RngDiff, RngUPolElt -> RngDiff`

The differential field extension $F(\alpha)$ of the differential field $F$, where $\alpha$ is a root of the irreducible polynomial $f$ over $F$. The angle bracket notation may be used to assign the root $\alpha$ to an identifier.

## `Example: Diff Field Ext Ext (ex-8a3a0e)`

```magma
> F<z> := RationalDifferentialField(Rationals());
> _<X> := PolynomialRing(F);
> M<alpha> := ext< F | X^2-z >;
> M;
Differential Ring Extension over F by $.1^2 - z
with derivation given by (1) d(z)
> alpha^2;
z

```

The differential of $M$ is the differential ${d}z$ of the differential space of $F$ lifted to the space of differentials of $M$.

## `ExponentialFieldExtension(F, f): RngDiff, RngDiffElt -> RngDiff`

Returns the differential field $F(E)$ as an extension of $F$, such that the derivation of $E$ is $f\cdot E$. The parent of $f$ must be $F$.

## `LogarithmicFieldExtension(F, f): RngDiff, RngDiffElt -> RngDiff`

Returns the differential field $F(L)$ as an extension of $F$, such that the derivation of $L$ is $F(L)!f$. The parent of $f$ must be $F$.

## `Example: Diff Field Ext Exp Log (ex-0b50af)`

```magma
> F<z> := RationalDifferentialField(Rationals());
> K<E> := ExponentialFieldExtension(F, z);
> K;
Differential Ring Extension over F
with derivation given by Mapping from: Multivariate Rational function field of
rank 1 over F to Multivariate Rational function field of rank 1 over F given by
a rule [no inverse]
> Derivative(E);
z*E
> _<L> := LogarithmicFieldExtension(F, 1/z);
> Derivative(L);
1/z
> Parent($1) eq Parent(L);
true

```

## `PurelyRamifiedExtension(f): RngUPolElt[RngDiff] -> RngDiff, Map`

Creates a purely ramified field extension $M$ of the differential field $F$ with respect to the purely ramified polynomial $f\in F[X]$. By definition, such a polynomial $f$ is of the form $X^n-a\cdot(F.1)$ for some constant element $a$ in $F$ and positive integer $n$. The returned extension field $M$ is of the same type as $F$. The allowed differential fields are algebraic differential fields and differential Laurent series rings. When $F$ is a differential Laurent series ring, its derivation is required to be weakly of the form $c*(F.1)*d/d(F.1)$ for some constant $c$. The relative precision of $M$ is then $n$ times the relative precision of $F$. The second argument returned is the embedding map of $F$ into $M$. The inverse map acts on elements for which it is defined. Otherwise it returns $0$.

## `Example: Diff Field Purely Ramified Ext ADF (ex-838a6e)`

A purely ramified extension of an algebraic differential field is constructed in this example.

```magma
> F<z> := RationalDifferentialField(Rationals());
> _<X> := PolynomialRing(F);
> Fext<v>, mp := PurelyRamifiedExtension(X^2-5*z);
> IsAlgebraicDifferentialField(Fext);
true
> mp(z) eq 1/5*v^2;
true
> Parent(mp(z)) eq Fext;
true
> Derivation(Fext)(mp(z));
1
> Derivation(Fext)(v);
1/2/z*v
> Derivation(Fext)(v^2) eq Fext!5;
true
> Inverse(mp)(v^2);
5*z;

```

## `Example: Diff Field Purely Ramified Ext DLSR 1 (ex-efad09)`

A differential Laurent series ring with a derivation without an order term is considered in this example.

```magma
> S<t>:=DifferentialLaurentSeriesRing(Rationals());
> _<T>:=PolynomialRing(S);
> pol := T^4-5*t;
> Sext<r>,mp := PurelyRamifiedExtension(pol);
> IsDifferentialLaurentSeriesRing(Sext);
true
> BaseRing(Sext) eq S and ConstantField(Sext) eq ConstantField(S);
true
> RelativePrecision(Sext);
80
> RelativePrecisionOfDerivation(Sext);
Infinity
> Derivation(S)(t);
t
> mp(t);
1/5*r^4
> Derivation(Sext)(mp(t));
1/5*r^4
> mp(Derivation(S)(t));
1/5*r^4
> x := 4+6*t+O(t^6);
> mp(x);
4 + 6/5*r^4 + O(r^24)
> Derivation(Sext)(mp(x));
6/5*r^4 + O(r^24)
> mp(Derivation(S)(x));
6/5*r^4 + O(r^24)
> Inverse(mp)(r^4-r^8);
5*t - 25*t^2
> Inverse(mp)(r^4+O(r^5));
5*t + O(t^2)
> Derivation(Sext)(r);
1/4*r

```

## `Example: Diff Field Purely Ramified Ext DLSR 2 (ex-da702b)`

The ring in this example has an order term in its derivation. Therefore, taking a derivative of an element $x$ is of influence on the relative precision of the image of $x$.

```magma
> F<z> := RationalDifferentialField(Rationals());
> FF<z>:=ChangeDerivation(RationalDifferentialField(Rationals()),z);
> RR<DD>:=DifferentialOperatorRing(FF);
> RS<DS>, mpRRtoRS :=Completion(RR,Zeros(z)[1]);
> S<t>:=BaseRing(RS);
> IsDifferentialLaurentSeriesRing(S);
true
> _<T> := PolynomialRing(S);
> E<r>, mp := PurelyRamifiedExtension(T^3-5*t);
> IsDifferentialLaurentSeriesRing(E);
true
> RelativePrecision(E);
60
> RelativePrecisionOfDerivation(E);
60
> Derivation(E)(r);
1/3*r + O(r^61);
> mp(t);
1/5*r^3
> Derivation(S)(t);
t + O(t^21)
> Derivation(E)(mp(t));
1/5*r^3 + O(r^63)
> mp(Derivation(S)(t));
1/5*r^3 + O(r^63)
> x:=t^(-2) +7+t^3 +O(t^15);
> Derivation(S)(x);
-2*t^-2 + 3*t^3 + O(t^15)
> Derivation(E)(mp(x));
-50*r^-6 + 3/125*r^9 + O(r^45)
> mp(Derivation(S)(x));
-50*r^-6 + 3/125*r^9 + O(r^45)
> y := 2*t+O(t^25);
> Derivation(S)(y);
2*t + O(t^21)
> Derivation(E)(mp(y)) eq mp(Derivation(S)(y));
true
> Derivation(E)(mp(y));
2/5*r^3 + O(r^63)

```
