Element Operations on Differential Ring Elements

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: Predicates for Differential Ring Elements (ex-61c4b6)

Run in calculator (opens in a new tab)

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

Run in calculator (opens in a new tab)

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: Coefficients of Algebraic Differential Elements (ex-18d9d7)
> 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

Run in calculator (opens in a new tab)

Example: Coefficients of Differential Series (ex-4eef4b)

Run in calculator (opens in a new tab)

> 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 ]

Run in calculator (opens in a new tab)

Conjugates, Norm, and Trace

MinimalPolynomial(s): RngDiffElt -> RngUPolElt

The minimal polynomial of the differential field element \(s\) over the base field.

Example: Minimal Polynomial of an Algebraic Element (ex-ecfdbc)
> 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

Run in calculator (opens in a new tab)

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: Derivatives and Differentials of Elements (ex-396a0f)
> 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

Run in calculator (opens in a new tab)