Element Operations on Differential Ring Elements

Contents

Category and Parent

Category(s) : RngDiffElt -> RngDiffElt
Type(s) : RngDiffElt -> RngDiffElt
The category, or type, of the differential ring element s.
Parent(s) : RngDiffElt -> RngDiff
The parent of the differential ring element s.

Arithmetic

All the usual arithmetic operations are possible for differential ring elements.

s + t : RngDiffElt, RngDiffElt -> RngDiffElt
The sum of the two differential ring elements s and t.
- s : RngDiffElt -> RngDiffElt
The negation of the differential ring element s.
s - t : RngDiffElt, RngDiffElt -> RngDiffElt
The difference between the differential ring elements s and t.
s * t : RngDiffElt, RngDiffElt -> RngDiffElt
The product of the differential ring elements s and t.
s ^ n : RngDiffElt, RngIntElt -> RngDiffElt
Given a differential ring element s and an integer n, return the n-th power of s. If s is invertible, n may be negative.
s div t : RngDiffElt, RngDiffElt -> RngDiffElt
Given the differential ring elements s and t, return the exact division of s by t, if s is divisible by t.
s / t : RngDiffElt, RngDiffElt -> RngDiffElt
Given the differential field elements s and t, return s divided by t.

Predicates and Booleans

s eq t : RngDiffElt, RngDiffElt -> BoolElt
Return true iff the differential ring elements s and t are exactly the same.
IsZero(s) : RngDiffElt -> BoolElt
Return true iff the differential ring element s is the zero element of its parent.
IsOne(s) : RngDiffElt -> BoolElt
Return true iff the differential ring element s is the unity element of its parent.
IsWeaklyEqual(s, t) : RngDiffElt, RngDiffElt -> BoolElt
Return true if and only if the differential ring element s is weakly equal to the differential ring element t.
IsWeaklyZero(s) : RngDiffElt -> BoolElt
Return true if and only if the differential ring element s is weakly equal to the zero element of its parent.
IsOrderTerm(s) : RngDiffElt -> BoolElt
IsOrderTerm(s) : RngSerElt -> BoolElt
Return true if and only if the differential ring element s is purely an order term of a differential series ring.

Example RngDiff_diff-ring-elts-booleans (H118E13)

This examples shows the booleans for various differential rings.
> F<z> := RationalDifferentialField(Rationals());
> S<t> := DifferentialLaurentSeriesRing(Rationals());
> IsOne(F!1);
true
> t eq t+O(t^2);
false
> IsWeaklyEqual(t, t+O(t^2));
true
> IsWeaklyZero(t^(-1));
false
> IsWeaklyZero(O(t));
true
> IsOrderTerm(t+O(t^2));
false
> IsOrderTerm(O(t));
true

Coefficients and Terms

O(s) : RngDiffElt -> RngDiffElt
Creates the order term of the differential series s.
Truncate(s) : RngDiffElt -> RngDiffElt
The known part of the differential series s.
Eltseq(s) : RngDiffElt -> SeqEnum
Returns the coefficients of the differential ring element s.
Exponents(s) : RngDiffElt -> SeqEnum
Exponents(s) : RngSerElt -> SeqEnum
Returns the interval from the valuation of s to (including) the degree of s.

Example RngDiff_Example-coefficients-terms-algebraic-differential-elements (H118E14)

> F<z> := RationalDifferentialField(Rationals());
> _<X> := PolynomialRing(F);
> K<x>, mp := ext<F|X^2+X+1>;
> seq := Eltseq(x^2);
> seq;
[ -1, -1 ]
> Universe(seq) eq F;
true

Example RngDiff_Example-coefficients-terms-differential-series (H118E15)

> S<t> := DifferentialLaurentSeriesRing(Rationals());
> O(t+t^2);
O(t)
> Parent(O(t)) eq S;
true
> trunc := Truncate(t^(-1)+5*t^2 +O(t^4));
> trunc;
t^-1 + 5*t^2
> Parent(trunc) eq S;
true
> seq := Eltseq(trunc);
> seq;
[ 1, 0, 0, 5 ]
> Universe(seq) eq Rationals();
true
> Exponents(trunc);
[ -1 .. 2 ]

Conjugates, Norm and Trace

MinimalPolynomial(s) : RngDiffElt -> RngUPolElt
The minimal polynomial of the differential field element s over the base field.

Example RngDiff_Example-minimal-polynomial-differential-rings (H118E16)

> F<z> := RationalDifferentialField(Rationals());
> P<X> := PolynomialRing(F);
> K<x>, mp := ext<F|X^2+X+1>;
> f := MinimalPolynomial(x^2);
> f;
X^2 + X + 1
> Parent(f) eq P;
true
> g := MinimalPolynomial(x+3/2);
> g;
X^2 + -2*X + 7/4

Derivatives and Differentials

Derivative(s) : RngDiffElt -> RngDiffElt
The image of s under the derivation of the parent of s. Notice that it can be different to the "usual" derivative, as it relies on the defined derivation.
Differential(s) : RngDiffElt -> RngDiffElt
Returns the differential of s in the algebraic differential field F, as a differential in the differential space of the underlying ring of F.

Example RngDiff_derivative-differential-diff-ring-elements (H118E17)

> F<z> := RationalDifferentialField(Rationals());
> Derivative(z^2 + 7/z);
(2*z^3 - 7)/z^2
> Differential(z);
(1) d(z)
> Differential(1/z+6+5*z);
((5*z^2 - 1)/z^2) d(z)
> S<t> := DifferentialLaurentSeriesRing(Rationals());
> Derivative(5 + 2*t + 3*t^2);
2*t + 6*t^2
V2.28, 13 July 2023