[Next] [Prev] [_____] [Left] [Up] [Index] [Root]
Element Operations

Element Operations

Subsections

Parent and Category

Parent(r) : RngSerElt -> RngSer
Category(r) : RngSerElt -> Cat

Arithmetic Operators

+ b : RngSerElt -> RngSerElt
- b : RngSerElt -> RngSerElt
a + b : RngSerElt, RngSerElt -> RngSerElt
a - b : RngSerElt, RngSerElt -> RngSerElt
a * b : RngSerElt, RngSerElt -> RngSerElt
a ^ k : RngSerElt, RngIntElt -> RngSerElt

Equality and Membership

a eq b : RngSerElt, RngSerElt -> BoolElt
a ne b : RngSerElt, RngSerElt -> BoolElt
a in R : RngSerElt, RngSer -> BoolElt
a notin R : RngSerElt, RngSer -> BoolElt

Predicates on Ring Elements

Note that the definition of equality for series not only affects the result of the application of eq and ne, but also that of IsOne, IsZero and IsMinusOne.

IsZero(a) : RngSerElt -> BoolElt
IsOne(a) : RngSerElt -> BoolElt
IsMinusOne(a) : RngSerElt -> BoolElt
IsNilpotent(x) : RngSerElt -> BoolElt
IsIdempotent(x) : RngSerElt -> BoolElt
IsUnit(a) : RngSerElt -> BoolElt
IsZeroDivisor(x) : RngSerElt -> BoolElt
IsRegular(x) : RngSerElt -> BoolElt
IsIrreducible(x) : RngSerElt -> BoolElt
IsPrime(x) : RngSerElt -> BoolElt

Precision

AbsolutePrecision(f) : RngSerElt -> RngIntElt
Given a (power or Laurent) series f, this returns the absolute precision that is stored with f. If f is a series in x, the absolute precision of f is the exponent p such that x^p is the first term of f of which the coefficient is not known, that is, it is the least p such that f in O(x^p). If f is known exactly (in a free ring), the absolute precision is infinite and an error occurs.
RelativePrecision(f) : RngSerElt -> RngIntElt
Given a (power or Laurent) series f, this returns the relative precision that is stored with f. The relative precision counts the number of coefficients of f that is known, starting at the first non-zero term. Hence the relative precision is the difference between the absolute precision and the valuation of f, and is therefore always non-negative; however. if f is exact, the relative precision is infinite and the value -1 is returned.

Coefficients and Degree

Coefficients(f) : RngPowSerElt -> [ RngElt ]
ElementToSequence(f) : RngPowSerElt -> [ RngElt ]
Eltseq(f) : RngPowSerElt -> [ RngElt ]
Coefficients(f) : RngLauSerElt -> [ RngElt ]
ElementToSequence(f) : RngLauSerElt -> [ RngElt ]
Eltseq(f) : RngLauSerElt -> [ RngElt ]
The coefficients of the series f in R[[X]] or f in R((X)) in ascending order, as a sequence of elements of R. The first entry in the sequence is the `first' (lowest order) non-zero coefficient of f, that is the coefficient of x^v where v is the valuation of f, while the last coefficient is the `last' non-zero coefficient. In particular the sequence of coefficients of 0 will be empty.
Coefficient(f, i) : RngPowSerElt, RngIntElt -> RngElt
Coefficient(f, i) : RngLauSerElt, RngIntElt -> RngElt
Given a series f in R[[X]] or f in R((X)), and an integer i, return the coefficient of the i-th power of the indeterminate X of f. This coefficient is an element of R. The integer i must be less than p, the precision of f; if f is a power series, i must be non-negative.
Truncate(f) : RngPowElt -> RngPowElt
Given a power series f, return the exact power series obtained by truncating f after the last known non-zero coefficient.
Degree(f) : RngMSerElt -> RngIntElt
Given a power series f, return the degree of the truncation of f, that is, the exponent of the last known non-zero term.
Valuation(f) : RngPowElt -> RngIntElt
Given a series f in R[[X]] or f in R((X)), return the smallest integer v (possibly negative for Laurent series) such that the coefficient of X^v in f is not known to be zero. An exception is made for the exact 0 element (in a free ring), which will have valuation 0 (rather than infinity).

Square Root

SquareRoot(f) : RngPowElt -> RngPowElt
Sqrt(f) : RngPowElt -> RngPowElt
Returns the approximated square root of the power series f, if it has even valuation.

Evaluation and Derivative

Derivative(f) : RngSerElt -> RngSerElt
Given a power series f in R, return the derivative of f with respect to its indeterminate, as an element of R. Note that the precision decreases by 1 (unless f has infinite precision).
Derivative(f, n) : RngSerElt, RngIntElt -> RngSerElt
Given a power series f in R and an integer n > 0, return the n-th derivative of f with respect to its indeterminate, as an element of R. Note that the precision decreases by n (unless f has infinite precision).
Integral(f) : RngSerElt -> RngSerElt
Given a power series f in R, return an anti-derivative F of f with respect to its indeterminate, which is an element of R which has derivative f. The coefficient of x^(-1) in f must be zero. Note that the precision of F will be exceeding that of f by 1 (unless f has infinite precision).
Evaluate(f, s) : RngSerElt, RngElt -> RngElt
Given an element f of a series ring over the coefficient ring R, and an element s of the ring S, return the value of f(s) when the indeterminate x is evaluated at s. The result will be an element of the common overstructure over R and S.
Laplace(f) : RngPowElt -> RngPowElt
The Laplace transform of the power series f; if f has expansion sum_(i >= 0) a_ix^i, its Laplace transform has expansion sum_(i >= 0) (i!a_i)x^i.

Composition and Convolution

Composition(f, g) : RngPowElt, RngPowElt -> RngPowElt
Given elements f and g from the same power series ring P, return their composition, defined by f o g = sum_(i < p)f_i(g^i), where f=sum_(i < p) f_ix^i.
Reversion(f) : RngPowElt -> RngPowElt
Reverse(f) : RngPowElt -> RngPowElt
Given a power series f (in x, say), this returns the inverse of f under composition, that is, an element g of the same power series ring such that its composition with f equals x to the best possible precision. Here f must have valuation 1, and may not be exact.
Convolution(f, g) : RngSerElt, RngSerElt -> RngSerElt
Given elements f and g from the same power series ring P, return their convolution f ast g, defined by f ast g = sum_(i < min(p, q))f_ig_ix^i, where f=sum_(i < p) f_ix^i + O(x^p) and g=sum_(i < q)g_ix^i + O(x^q).

Transcendental Functions

In each of the functions below, the precision of the result will be approximately equal to the precision of the argument. An error will result if the coefficient ring of the power series is not a field. If the first argument has a non-zero constant term, an error will result unless the coefficient ring of the parent is a real or complex domain (so that the transcendental function can be evaluated in the constant term).

Sections
Sin(f) : RngSerElt -> RngSerElt
Returns the sine of the power series f defined over a field.
Cos(f) : RngSerElt -> RngSerElt
Returns the cosine of the power series f defined over a field.
Tan(f) : RngSerElt -> RngSerElt
Returns the tangent of the power series f defined over a field.
Sinh(f) : RngSerElt -> RngSerElt
Returns the hyperbolic sine of the power series f defined over a field.
Cosh(f) : RngSerElt -> RngSerElt
Returns the hyperbolic cosine of the power series f defined over a field.
Tanh(f) : RngSerElt -> RngSerElt
Returns the hyperbolic tangent of the power series f defined over a field.
Exp(f) : RngSerElt -> RngSerElt
Returns the exponential of the power series f defined over a field.
Log(f) : RngSerElt -> RngSerElt
Returns the logarithm of the power series f defined over a field. The valuation of f must be zero.
Elliptic and Modular functions

More information on elliptic functions can be found for example in Chandrasekharan [K. Chandrasekharan, Elliptic Functions, Grundlehren der mathematischen Wissenschaften 281, Berlin: Springer, 1985], and for modular functions and their use see Koblitz [Neal Koblitz, Introduction to Elliptic Curves and Modular Forms, Graduate Texts in Mathematics 97, New York: Springer, 1984].

JacobiTheta(q, z) : FldPrElt, FldPowElt[FldPr] -> FldPowElt
For a free real or complex number q satisfying | q|<1, return the first of Jacobi's theta functions theta(q, z) as a power series expansion in z. theta(q, z) is defined by theta(q, z)=(1/i)sum_(n= - Infinity)^Infinity ( - 1)^nq^((n + (1/2))^2)e^((2n + 1)i z)= 2sum_(n=0)^Infinity( - 1)^nq^((n + (1/2))^2)sin(2n + 1)z.
DedekindEta(q) : FldPowElt -> FldPowElt
Returns Dedekind's eta-function as a q-expansion. Here eta(q) is defined by eta(q) = q^(1/24) prod_(n=1)^Infinity (1 - q^n).

See Lang [Serge Lang, Elliptic Functions, Graduate Texts in Mathematics 112, New York: Springer, 1987].

jInvariant(q) : FldPowElt -> FldPowElt
Returns the q-expansion of the elliptic j-invariant. The expansion starts with j(q) = q^(-1) + 744 q + 196884 q + ... .

Note also that we have: j(q) = (((E_4(q))^3)/(Delta(q))) where E_4(q) = ( EisensteinSeries) (4, q) and Delta(q) = ( Delta)(q).

EisensteinSeries(n, q) : RngIntElt, FldPowElt -> FldPowElt
EisensteinSeries(n, q, p): RngIntElt, RngElt, RngIntElt -> FldPowElt
Returns the (Fourier) q-expansion of a normalized Eisenstein series E_(2k)(q) for n = 2k. The Eisenstein series are defined as the coefficients of the Laurent Series expansion of the Weierstrass wp-function: wp(z, L) = ((1)/(z^2)) + sum_(2 <= k) G_k(L)(2k - 1)z^(2k - 2) where G_k(L) are the Eisenstein series and G_(2n) = 2 zeta(2n) E_(2n) gives the normalization.
Delta(n) : FldPowElt -> FldPowElt
Delta(n, p) : FldPrElt, RngIntElt -> FldPrElt
Delta(n, p) : SeqEnum, RngIntElt -> RngPrElt
Returns a normalized q-series expansion of the Delta function Delta(q). Delta(q) is defined by Delta(q) = g_2(q)^3 - 27 g_3(q)^2 where g_2(q) = 60 G_4(q) and g_3(q) = 140G_6 and G_4 and G_6 are the Eisenstein series. The normalization is given by ( Delta)(q) = (1 /((2pi i)^6)) Delta(q) and in terms of Magma functions, ( Delta)(q) = ((E_4(q)^3 - E_6(q)^2)/(1728)) where E_(2n)(q) = ( EisensteinSeries)(2n, q).
WeierstrassSeries(q, z, p) : RngElt, FldPowElt, RngIntElt -> FldPowElt
Returns a normalized q-expansion of Laurent series expansion of the Weierstrass wp-function: wp(z, L) = ((1)/(z^2)) + sum_(2 <= k) G_k(L)(2k - 1)z^(2k - 2) where G_k(L) are the Eisenstein series and ( WeierstrassSeries)(q, z, p) = (2 pi i)^(-2)wp(q, z/(2 pi i)) Each term is an Eisenstein series, calculated to precision p.
WeierstrassSeries(q, z) : FldPowElt, FldPowElt -> FldPowElt
Returns a q-expansion as above, but no precision needs to be specified for power series
WeierstrassSeries(t, z) : FldPrElt, FldPowElt -> FldPowElt
Returns a normalized Laurent series expansion of the Weierstrass wp-function associated with the lattice parameter t (tau) in the upper half complex plane. This is equivalent to evaluating the q-series expansion at q = e^(2pi itau).
WeierstrassSeries(L, z) : SeqEnum, FldPowElt -> FldPowElt
For a lattice L = [a, b] returns the Laurent series expansion of the Weierstrass wp-function associated with L.
WeierstrassSeries(F, z) : MagFormElt, FldPowElt -> FldPowElt
For a binary quadratic form F = ax^2 + bxy + cy^2, returns the Laurent series expansion of the Weierstrass wp-function at tau = ( - b + sqrt(b^2 - 4ac) )/(2a)
The Hypergeometric series

For more information on the Hypergeometric Series, see Husemöller [Dale Husemöller, Elliptic Curves, Graduate Texts in Mathematics 111, New York: Springer, 1987], page 176.

HypergeometricSeries(a,b,c, z) : RngElt, RngElt, RngElt, RngElt -> RngElt
Returns the hypergeometric series F(a, b, c;z) defined by F(a, b, c;z) = sum_(0 <= n) (((a)_n(b)_n)/(n!(c)_n) z^n) where (a)_n = a (a + 1) ... (a + n - 1).
[Next] [Prev] [_____] [Left] [Up] [Index] [Root]