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: Diff Ring Elts Booleans (ex-61c4b6)#

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

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

Example Coefficients Terms Differential Series (ex-4eef4b)#
> 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

Conjugates, Norm and Trace#

MinimalPolynomial(s): RngDiffElt -> RngUPolElt#

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

Example Minimal Polynomial Differential Rings (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

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: Derivative Differential Diff Ring 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