Skip to main content
Ctrl+K
Magma Magma
About Get Magma Documentation Try online People How to Cite Contact
Login
  • Preface
  • The Magma Language
  • Sets, Sequences, and Mappings
  • Basic Rings
  • Matrices and Linear Algebra
  • Lattices and Quadratic Forms
  • Global Fields
  • Local Fields
  • Modules
  • Finite Groups
  • Finitely Presented Groups
  • Algebras
  • Representation Theory
  • Lie Theory
  • Commutative Algebra
  • Algebraic Geometry
  • Arithmetic Geometry
  • Modular Arithmetic Geometry
  • Topology
  • Geometry
  • Combinatorics
  • Coding Theory
  • Optimization
  • References
  • Commutative Algebra
  • Differential Rings
  • Changing Related Structures

Changing Related Structures#

Sometimes whilst working with a differential ring \(R\), one might wish to consider the same ring, but with a different derivation or with a larger constant ring. It is a consequence of the creation of a differential ring, that its constant ring may actually be smaller than its differential ring of constants.

To alter the settings defined by the creation of a differential ring or field the following functions are available.

ChangeDerivation(R, f): RngDiff, RngElt -> RngDiff, Map#

Returns a differential ring isomorphic to \(R\), but whose derivation is the map \(f\cdot\) Derivation(R) induced by the isomorphism. The ring element \(f\) must be non–zero. The isomorphism of \(R\) to the new differential ring is also returned. The new differential ring has the same underlying ring as \(R\).

Example: Changing the Derivation of a Differential Ring (ex-271826)#
> F<z> := RationalDifferentialField(Rationals());
> Derivative(z^2);
2*z
> K, toK := ChangeDerivation(F, z);
> K;
Differential Ring of Algebraic function field defined over Rational Field by
$.2 - 4711
with derivation given by (1/z) d(z)
> toK;
Mapping from: RngDiff: F to RngDiff: K given by a rule
> Derivative(toK(z^2));
2*z^2
> UnderlyingRing(F) eq UnderlyingRing(K);
true

Notice that the differential of \(K\) is \((1/z) {d} (z)\), so that the derivation of \(K\) is \(z\cdot {d}/{d}z\), as requested.

Run in calculator (opens in a new tab)

ChangeDifferential(F, df): RngDiff, DiffFunElt -> RngDiff, Map#

Returns the algebraic differential field, whose underlying ring is the one of \(F\), but with derivation with respect to the differential \(df\). The map returned is the bijective map from \(F\) into the new algebraic differential field.

Example: Changing the Differential of a Differential Ring (ex-7c6694)#

Run in calculator (opens in a new tab)

> F<z> := RationalDifferentialField(Rationals());
> df := Differential(1/z);
> df in DifferentialSpace(UnderlyingRing(F));
true
> M<u>, mp := ChangeDifferential(F,df);
> IsAlgebraicDifferentialField(M);
true
> Domain(mp) eq F and Codomain(mp) eq M;
true
> Differential(M);
(-1/u^2) d(u)
> mp(z);
u
> Derivation(M)(u);
u^2
> Derivation(F)(z);
1
> dg := Differential(z^3+5);
> N<v>, mp := ChangeDifferential(F,dg);
> Differential(M);
(3*v^2) d(v)
> mp(z);
v
> Derivation(N)(mp(z));
1/3/v^2

Run in calculator (opens in a new tab)

ConstantFieldExtension(F, C): RngDiff, Fld -> RngDiff, Map#

Returns the differential field isomorphic to the differential field \(F\), but whose constant field is the extension \(C\), and the isomorphism from \(F\) to the new field. The differential field \(F\) must be an algebraic function field.

Example: Constant Field Extension of a Differential Field (ex-17cbbe)#
> F<z> := RationalDifferentialField(Rationals());
> _<X> := PolynomialRing(F);
> M := ext< F | X^2-2 >;
> ConstantField(M);
Rational Field
> _<x>:=PolynomialRing(Rationals());
> C := NumberField(x^2-2);
> Mext, toMext := ConstantFieldExtension(M, C);
> ConstantField(Mext);
Number Field with defining polynomial x^2 - 2 over the Rational Field
> toMext;
Mapping from: RngDiff: M to RngDiff: Mext given by a rule

Run in calculator (opens in a new tab)

Example: Constant Field Extension of a Laurent Series Ring (ex-a878b1)#
> S<t>:=DifferentialLaurentSeriesRing(Rationals());
> P<T> := PolynomialRing(Rationals());
> Cext := ext<Rationals()|T^2+1>;
> Sext<text>, mp := ConstantFieldExtension(S,Cext);
> IsDifferentialLaurentSeriesRing(Sext);
true
> ConstantRing(Sext) eq Cext;
true
> Derivative(text^(-2)+7+2*text^3+O(text^6));
-2*text^-2 + 6*text^3 + O(text^6);
> mp;
Mapping from: RngDiff: S to RngDiff: Sext given by a rule
> mp(t);
text

Run in calculator (opens in a new tab)

Completion(F, p): RngDiff, PlcFunElt -> RngDiff, Map#
Precision: RngIntElt                    Default: Infinity()

The completion of the differential field \(F\) with respect to the place \(p\). The place \(p\) should be an element of the set of places of \(F\). The derivation of the completion is the one naturally induced by the derivation of \(F\). The map returned is the embedding of \(F\) into the completion. Upon creation one can set the precision by using Precision. If no precision is given, then a default value is taken.

Example: Laurent Series Ring by Completion (ex-5fcb44)#

This example illustrates the creation of the differential Laurent series ring by using the command Completion.

> F<z> := RationalDifferentialField(Rationals());
> pl := Zeros(z)[1];
> S<t>, mp := Completion(F,pl: Precision := 5);
> IsDifferentialLaurentSeriesRing(S);
true
> mp;
Mapping from: RngDiff: F to RngDiff: S given by a rule
> Domain(mp) eq F, Codomain(mp) eq S;
true true
> Derivation(S)(t);
1
> 1/(1-t);
1 + t + t^2 + t^3 + t^4 + O(t^5)

Run in calculator (opens in a new tab)

Example: Completion of an Elliptic Function Field (ex-512dde)#

Run in calculator (opens in a new tab)

This example shows that one does not have to restrict to differential fields of genus \(0\) to use Completion.

> F<z> := RationalDifferentialField(Rationals());
> P<Y> := PolynomialRing(F);
> K<y> := ext<F|Y^2-z^3+z+1>;
> Genus(UnderlyingRing(K));
1
> pl:=Zeros(K!z)[1];
> Degree(pl);
2
> S<t>, mp := Completion(K,pl);
> IsDifferentialLaurentSeriesRing(S);
true
> C<c> := ConstantRing(S);
> C;
Number Field with defining polynomial $.1^2 + 1 over the Rational Field
> mp(y) + O(t^4);
c - t - 4*t^3 + O(t^4)

Run in calculator (opens in a new tab)

previous

Element Operations on Differential Ring Elements

next

Ring and Field Extensions

On this page
  • ChangeDerivation(R, f): RngDiff, RngElt → RngDiff, Map
  • Example: Changing the Derivation of a Differential Ring
  • ChangeDifferential(F, df): RngDiff, DiffFunElt → RngDiff, Map
  • Example: Changing the Differential of a Differential Ring
  • ConstantFieldExtension(F, C): RngDiff, Fld → RngDiff, Map
  • Example: Constant Field Extension of a Differential Field
  • Example: Constant Field Extension of a Laurent Series Ring
  • Completion(F, p): RngDiff, PlcFunElt → RngDiff, Map
  • Example: Laurent Series Ring by Completion
  • Example: Completion of an Elliptic Function Field
Magma Magma

Magma is maintained and distributed by the Computational Algebra Group, School of Mathematics and Statistics, University of Sydney.

University of Sydney

Explore

  • About Magma
  • Documentation
  • Download
  • Calculator

Community

  • People
  • Contributions
  • Publications
  • Events
  • News

Help

  • FAQ
  • Contact
  • Subscriptions
  • How to Cite
© 1993–2026 Computational Algebra Group. All rights reserved. Built at the University of Sydney, Australia.