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 = anDn + an - 1Dn - 1 + ... + a1D + a0, annot=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[Y1, Y2, ..., Yn], with indeterminates Y1, Y2, ..., Yn. If L is written as anDn + an - 1Dn - 1 + ... + a1D + a0∈F[D], then the derivation of P is induced by the differential operator L as follows: δP(Yi)=Yi + 1, for i<n and anδP(Yn)= - an - 1Yn - 1 - ... - a2 Y2 - a1Y1. With this construction Y1 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(Y1, Y2, ..., Yn), with n indeterminates Y1, Y2, ..., Yn is created. The action of the derivation of M on Y1, Y2, ..., Yn is as described in DifferentialRingExtension(L).

Example RngDiff_diff-ring-ext-operator (H118E24)

> 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 RngDiff_diff-field-ext-operator (H118E25)

> 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(α) of the differential field F, where α is a root of the irreducible polynomial f over F. The angle bracket notation may be used to assign the root α to an identifier.

Example RngDiff_diff-field-ext-ext (H118E26)

> 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.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 RngDiff_diff-field-ext-exp-log (H118E27)

> 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∈F[X]. By definition, such a polynomial f is of the form Xn - a.(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 RngDiff_diff-field-purely-ramified-ext-ADF (H118E28)

A purely ramified extension of an algebraic differential field is constructed in this example.
> 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 RngDiff_diff-field-purely-ramified-ext-DLSR-1 (H118E29)

A differential Laurent series ring with a derivation without an order term is considered in this example.
> 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 RngDiff_diff-field-purely-ramified-ext-DLSR-2 (H118E30)

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.
> 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)
V2.28, 13 July 2023