Structure Operations on Differential Rings#
Category and Parent#
Differential Rings form the Magma category RngDiff. The notional power structures exist as parents of differential rings.
- Category(R): RngDiff -> RngDiff#
- Type(R): RngDiff -> RngDiff#
The category, or type, of the differential ring \(R\).
- Parent(R): RngDiff -> PowStr#
The power structure of the differential ring \(R\).
Derivation and Differential#
The derivation of a differential ring and its differential, whenever applicable, can be retrieved as indicated below.
- Derivation(R): RngDiff -> Map#
The derivation of the differential ring \(R\).
- Differential(F): RngDiff -> DiffFunElt#
The differential belonging to the derivation of the differential field \(F\). The field \(F\) must have been constructed in such a way that its derivation is defined by a differential.
- Example: Diff Ring Derivation Differential (ex-627c5f)#
> F<z> := RationalDifferentialField(Rationals()); > Derivation(F); Mapping from: RngDiff: F to RngDiff: F given by a rule [no inverse] > Differential(F); (1) d(z)
Numerical Invariants#
- Ngens(R): RngDiff -> RngIntElt#
The number of indeterminates associated with the differential ring \(R\).
Predicates and Booleans#
- R eq F: RngDiff, RngDiff -> BoolElt#
Returns
trueif and only if the differential rings \(R\) and \(F\) are the same.
- IsIdentical(R, F): RngDiff, RngDiff -> BoolElt#
Returns
trueif and only if the differential rings \(R\) and \(F\) are identical.
- IsDomain(R): RngDiff -> BoolElt#
Returns
trueif and only if the differential ring \(R\) is a domain.
- IsField(R): RngDiff -> BoolElt#
Returns
trueif and only if the differential ring \(R\) is field.
- IsDifferentialField(R): Rng -> BoolElt#
Returns
trueif and only if the ring \(R\) is a differential field.
- IsAlgebraicDifferentialField(R): Rng -> BoolElt#
Returns
trueif and only if the field structure of the differential ring \(R\) is an algebraic function field.
- IsDifferentialSeriesRing(R): Rng -> BoolElt#
Returns
trueif and only if the underlying ring of the differential ring \(R\) is a series ring.
- IsDifferentialLaurentSeriesRing(R): Rng -> BoolElt#
Returns
trueif and only if the underlying ring of the differential ring \(R\) is a Laurent series ring and \(R\) has been created with a known constant ring.
- Example: Diff Rings Booleans (ex-913ce7)#
This example shows some booleans for various differential rings.
> F<z>:=RationalDifferentialField(Rationals()); > S<t>:=DifferentialLaurentSeriesRing(Rationals()); > IsAlgebraicDifferentialField(F); true > IsDifferentialSeriesRing(F); false > IsAlgebraicDifferentialField(S); false > IsDifferentialSeriesRing(S); true > IsDifferentialLaurentSeriesRing(S); true
- HasProjectiveDerivation(F): RngDiff -> BoolElt#
Returns
trueif and only if \(F\) is a differential ring with derivation weakly of the form \((F.1)\cdot d/d(F.1)\).
- HasZeroDerivation(F): RngDiff -> BoolElt#
Returns
trueif and only if the algebraic differential field or differential series ring \(F\) has zero derivation. When \(F\) is a series ring we relax being zero to being weakly zero.
- Example: Diff Rings Booleans Derivation (ex-a3014d)#
> F<z>:=RationalDifferentialField(Rationals()); > S<t>:=DifferentialLaurentSeriesRing(Rationals()); > HasProjectiveDerivation(F); false > HasProjectiveDerivation(ChangeDerivation(F,z)); true > HasZeroDerivation(F); false > HasProjectiveDerivation(S); true > HasProjectiveDerivation(ChangeDerivation(S,S!3)); false > HasZeroDerivation(S); false
Precision#
- RelativePrecision(F): RngDiff -> RngElt#
Returns the relative precision of the underlying series ring of F.
- RelativePrecisionOfDerivation(F): RngDiff -> RngElt#
Given a differential Laurent series ring \(F\), returns the relative precision of the ring derivative of \(F.1\).
- Example: Diff Rings Relative Precision (ex-4674cf)#
This example illustrate the relative precision of differential rings.
> S<t>:=DifferentialLaurentSeriesRing(Rationals()); > Derivative(t); t > IsDifferentialLaurentSeriesRing(S); true > RelativePrecision(S); 20 > RelativePrecision(UnderlyingRing(S)); 20; > V<w>:=DifferentialLaurentSeriesRing(Rationals():Precision:=30); > RelativePrecision(V); 30 > RelativePrecision(V) eq RelativePrecision(UnderlyingRing(V)); true
- Example Differential Ring Relative Precision Derivation (ex-617005)#
> S<t> := DifferentialLaurentSeriesRing(Rationals()); > RelativePrecisionOfDerivation(S); Infinity > V<w> := ChangeDerivation(S,t+O(t^6)); > Derivation(V)(w); w^2 + O(w^7) > RelativePrecisionOfDerivation(V); 5
- ChangePrecision(F, p): RngDiff, RngElt -> RngDiff, Map#
Returns the differential series ring isomorphic to \(F\) with relative precision \(p\). The map returned is the induced map of \(F\) to the new field.
- Example: Diff Rings Change Precision (ex-d18d60)#
> S<t>:=DifferentialLaurentSeriesRing(Rationals()); > RelativePrecision(S); 20 > V<w>,mp := ChangePrecision(S,10); > Type(V); RngDiff > IsDifferentialLaurentSeriesRing(V); true > RelativePrecision(V); 10 > RelativePrecision(1/(w-1)) eq 10; true > mp(t) eq w; true > w@@mp eq t; true > derivt := Derivation(S)(t); > derivt; t > derivw := Derivation(V)(w); > derivw; w > mp(derivt) eq Derivation(V)(w); true