Divisors
Divisors are represented in at least one of 4 ways. They can be represented
as a linear combination of places (as given by
Support),by an ideal of a finite maximal order and an ideal of a corresponding infinite maximal order (as given by
Ideals)in a reduced representation (as given by
Reduction) oras a complementary divisor to another divisor (as given by
ComplementaryDivisor).
While the representation as a linear combination of places can be efficient for divisor arithmetic, the reduced representation is more efficient for computations like Dimension. Computing the Support of a divisor will ensure it has a representation as a linear combination stored. When divisors are combined in binary operations extra representations may need to be computed.
Creation of Structures
Creation of Elements
- Divisor(P): PlcFunElt -> DivFunElt
- Div ! P: DivFun, PlcFunElt -> DivFunElt
- 1 * P: PlcFunElt -> DivFunElt
Given a place \(P\) in a function field, return the prime divisor \(1*P\).
- Div ! a: DivFun, RngElt -> DivFunElt
- Divisor(a): FldFunElt -> DivFunElt
- Divisor(a): RngFunOrdElt -> DivFunElt
Given an algebraic function \(a\), return the principal divisor \((a)\).
- Div ! I: DivFun, RngFunOrdIdl -> DivFunElt
- Divisor(I): RngFunOrdIdl -> DivFunElt
The divisor corresponding to the factorization of the ideal \(I\).
- Divisor(I, J): RngFunOrdIdl, RngFunOrdIdl -> DivFunElt
The divisor corresponding to the ideal factorization of the ideals \(I\) and \(J\) belonging to the ‘finite’ and ‘infinite’ maximal order.
- Identity(G): DivFun -> DivFunElt
- Id(G): DivFun -> DivFunElt
Given the group \(G\) of divisors of a function field, return the zero divisor.
Structure Invariants
- NumberOfSmoothDivisors(n, m, P): RngIntElt, RngIntElt, SeqEnum[RngElt] -> RngElt
The number of effective divisors of degree less equal \(n\) who consist of places of degree less equal \(m\) only. The sequence element \(P[i]\) contains the (generic) number of places of degree \(1 \leq i \leq \min \{ n, m \}\). The formula used is described in [Hes99].
Structure Predicates
Element Operations
Arithmetic Operators
- - D: DivFunElt -> DivFunElt
- D1 + D2: DivFunElt, DivFunElt -> DivFunElt
- D1 - D2: DivFunElt, DivFunElt -> DivFunElt
- k * D: RngIntElt, DivFunElt -> DivFunElt
- D div k: DivFunElt, RngIntElt -> DivFunElt
- D mod k: DivFunElt, RngIntElt -> DivFunElt
- P + D: PlcFunElt, DivFunElt -> DivFunElt
- D + P: DivFunElt, PlcFunElt -> DivFunElt
- D - P: DivFunElt, PlcFunElt -> DivFunElt
- P - D: PlcFunElt, DivFunElt -> DivFunElt
- Quotrem(D, k): DivFunElt, RngIntElt -> DivFunElt, DivFunElt
Returns divisors \(D_1, D_2\) such that the divisor \(D = kD_1 + D_2\) and the exponents in \(D_2\) are of absolute value less than \(|k|\). The operations
divandmodyield \(D_1\) resp. \(D_2\).
Equality, Comparison, and Membership
Predicates on Elements
- IsZero(D): DivFunElt -> BoolElt
- IsEffective(D): DivFunElt -> BoolElt
- IsPositive(D): DivFunElt -> BoolElt
- IsSpecial(D): DivFunElt -> BoolElt
- IsPrincipal(D): DivFunElt -> BoolElt, FldFunElt
- IsCanonical(D): DivFunElt -> BoolElt, DiffFunElt
Returns
trueiff the divisor \(D\) is canonical and a differential having \(D\) as its divisor.
- Example: Divisors on a Relative Function Field (ex-749efd)
Run in calculator (opens in a new tab)
We show some simple creations and operations on divisors.
> PF<x> := PolynomialRing(GF(13, 2)); > P<y> := PolynomialRing(PF); > FF1<b> := ext<FieldOfFractions(PF) | y^2 - x>; > P<y> := PolynomialRing(FF1); > FF2<d> := ext<FF1 | y^3 - b>; > CanonicalDivisor(FF2); Complementary divisor of Divisor in ideal representation: Ideal of Maximal Equation Order of FF2 over Maximal Equation Order of FF1 over Univariate Polynomial Ring in x over GF(13^2) Generator: 1, Fractional ideal of Maximal Order of FF2 over Maximal Equation Order of FF1 over Valuation ring of Univariate rational function field over GF(13^2) with generator 1/x Generator: x^2 > IsCanonical($1); true > D := Divisor(b) + Divisor(d); > E := Divisor(Random(FF2, 2)*MaximalOrderFinite(FF2), > Random(FF2, 2)*MaximalOrderInfinite(FF2)); > d := D + E; > d; Divisor in reduced representation: Dtilde : Divisor in ideal representation: Fractional ideal of Maximal Equation Order of FF2 over Maximal Equation Order of FF1 over Univariate Polynomial Ring in x over GF(13^2) Basis: Pseudo-matrix over Maximal Equation Order of FF1 over Univariate Polynomial Ring in x over GF(13^2) Ideal of Maximal Equation Order of FF1 over Univariate Polynomial Ring in x over GF(13^2) Generator: 1 * ( 1 0 0 ) Ideal of Maximal Equation Order of FF1 over Univariate Polynomial Ring in x over GF(13^2) Generator: 1 * ( 0 1 0 ) Fractional ideal of Maximal Equation Order of FF1 over Univariate Polynomial Ring in x over GF(13^2) Generators: 1 ($.1^137*x^12 + $.1^80*x^11 + $.1^22*x^10 + $.1^79*x^9 + $.1^88*x^8 + $.1^138*x^7 + $.1^130*x^6 + $.1^127*x^5 + $.1^163*x^4 + $.1^78*x^3 + 6*x^2 + $.1^41*x + $.1^146)/(x^12 + $.1^166*x^11 + $.1^50*x^10 + $.1^136*x^9 + $.1^32*x^8 + $.1^46*x^7 + $.1^134*x^6 + $.1^64*x^5 + 8*x^4 + $.1^93*x^3 + $.1^153*x^2 + $.1^162*x)*b + ($.1^24*x + $.1^153)/(x^11 + $.1^166*x^10 + $.1^50*x^9 + $.1^136*x^8 + $.1^32*x^7 + $.1^46*x^6 + $.1^134*x^5 + $.1^64*x^4 + 8*x^3 + $.1^93*x^2 + $.1^153*x + $.1^162) * ( $.1^161*x^11 + $.1^74*x^10 + $.1^145*x^9 + $.1^72*x^8 + $.1^122*x^7 + $.1^123*x^6 + 3*x^5 + $.1^133*x^4 + 2*x^3 + $.1^105*x^2 + $.1^102*x $.1^48*x^11 + $.1^82*x^10 + 4*x^9 + $.1^102*x^8 + $.1^145*x^7 + $.1^118*x^6 + $.1^129*x^5 + $.1^102*x^4 + $.1^138*x^3 + $.1^146*x^2 + $.1^134*x 1 ) , Ideal of Maximal Order of FF2 over Maximal Equation Order of FF1 over Valuation ring of Univariate rational function field over GF(13^2) with generator 1/x Basis: Pseudo-matrix over Maximal Equation Order of FF1 over Valuation ring of Univariate rational function field over GF(13^2) with generator 1/x Ideal of Maximal Equation Order of FF1 over Valuation ring of Univariate rational function field over GF(13^2) with generator 1/x Generator: 1/x^2 * ( 1 0 0 ) Ideal of Maximal Equation Order of FF1 over Valuation ring of Univariate rational function field over GF(13^2) with generator 1/x Generators: 1/x^3 ($.1^21*x^3 + $.1^86*x^2 + $.1^151*x + $.1^48)/x^6*b + $.1^79/x^3 * ( 0 1 0 ) Ideal of Maximal Equation Order of FF1 over Valuation ring of Univariate rational function field over GF(13^2) with generator 1/x Generator: 1/x^3*b * ( 0 0 1 ) , r : 0, A : Divisor in ideal representation: Ideal of Maximal Equation Order of FF2 over Maximal Equation Order of FF1 over Univariate Polynomial Ring in x over GF(13^2) Generator: 1, Fractional ideal of Maximal Order of FF2 over Maximal Equation Order of FF1 over Valuation ring of Univariate rational function field over GF(13^2) with generator 1/x Generators: x x, a : (x)^-1 * (b)
A nicer (but potentially more expensive) way to print, would be to ensure the divisor had a representation as a linear combination of places and exponents.
> p, e := Support(d); > d; 4*(x, (($.1^24*x + 9)*b + ($.1^133*x + $.1^117))*d^2 + (($.1^83*x + $.1^36)*b + ($.1^97*x + $.1^2))*d + ($.1^101*x + $.1^165)*b + $.1^108*x) + (x + $.1^102, (($.1^141*x + $.1^113)*b + ($.1^157*x + $.1^48))*d^2 + (($.1^94*x + $.1^92)*b + ($.1^167*x + $.1^79))*d + ($.1^36*x + $.1^85)*b + $.1^18*x + 6) + (x^2 + $.1^47*x + 8, (($.1^19*x^3 + $.1^155*x^2 + $.1^75*x + $.1^106)*b + (8*x^3 + $.1^131*x^2 + $.1^125*x + $.1^46))*d^2 + (($.1^86*x^3 + $.1^11*x^2 + $.1^141)*b + ($.1^94*x^3 + $.1^127*x^2 + 6*x + $.1^57))*d + ($.1^68*x^3 + $.1^82*x^2 + $.1^52*x + $.1^69)*b + $.1^95*x^3 + $.1^55*x^2 + $.1^30*x + $.1) + (x^8 + $.1^138*x^7 + $.1^91*x^6 + $.1^59*x^5 + $.1^25*x^4 + $.1^74*x^3 + 6*x^2 + $.1^153*x + 5, (($.1^86*x^10 + 12*x^9 + $.1^5*x^8 + $.1^7*x^7 + $.1^123*x^6 + $.1^8*x^5 + $.1^77*x^4 + $.1^43*x^3 + $.1^110*x^2 + $.1^124*x + $.1^51)*b + ($.1^78*x^9 + $.1^105*x^8 + $.1^153*x^7 + 6*x^6 + $.1^142*x^5 + $.1^152*x^4 + $.1^54*x^3 + $.1^9*x^2 + $.1^43*x + $.1^37))*d^2 + (($.1^63*x^10 + $.1^125*x^9 + $.1^156*x^8 + $.1^44*x^7 + $.1^27*x^6 + $.1^127*x^5 + $.1^160*x^4 + $.1^46*x^3 + 9*x^2 + 8*x + $.1^37)*b + ($.1^99*x^10 + $.1^119*x^9 + $.1^103*x^8 + $.1^25*x^7 + $.1*x^6 + $.1^114*x^5 + $.1^133*x^4 + $.1^34*x^3 + $.1^4*x^2 + $.1^40*x + $.1^71))*d + ($.1^86*x^10 + $.1^7*x^9 + $.1^142*x^8 + 4*x^7 + $.1^161*x^6 + 2*x^5 + $.1^17*x^4 + $.1^50*x^3 + $.1^100*x^2 + $.1^144*x + $.1^12)*b + $.1^31*x^10 + $.1^40*x^9 + 8*x^8 + 9*x^7 + $.1^39*x^6 + $.1^120*x^5 + $.1^114*x^4 + $.1^116*x^3 + $.1^43*x^2 + $.1^103*x + $.1^93) - 15*(1/x, (($.1^114*x^2 + $.1^96*x + 12)/x^3*b + ($.1^153*x^2 + 4*x + 12)/x^3)*d^2 + (($.1^17*x^2 + $.1^124*x + 12)/x^3*b + ($.1^159*x^2 + $.1^124*x + 12)/x^3)*d + ($.1^159*x^2 + 6*x + 12)/x^3*b + ($.1^21*x + 12)/x^2) > g := GCD(D, E); > l := LCM(D, E); > g + l eq d; true > g le D; true > l ge E; true
Other Element Operations
- Degree(D): DivFunElt -> RngIntElt
The degree of the divisor \(D\) over \(k\), the constant field of definition.
- Support(D): DivFunElt -> [ PlcFunElt ]
A sequence containing the places occurring in the divisor \(D\).
- Numerator(D): DivFunElt -> DivFunElt
- ZeroDivisor(D): DivFunElt -> DivFunElt
The numerator of the divisor \(D\).
- Denominator(D): DivFunElt -> DivFunElt
- PoleDivisor(D): DivFunElt -> DivFunElt
The denominator of the divisor \(D\).
- Ideals(D): DivFunElt -> RngFunOrdIdl, RngFunOrdIdl
Create two ideals of the ‘finite’ and ‘infinite’ maximal order respectively corresponding to the divisor \(D\).
- FiniteSplit(D): DivFunElt -> DivFunElt, DivFunElt
- FiniteDivisor(D): DivFunElt -> DivFunElt
- InfiniteDivisor(D): DivFunElt -> DivFunElt
Split the divisor \(D\) into its finite and infinite part, returning either \(2\) divisors which are the sum of the finite places in \(D\) and the sum of the infinite places in \(D\) or the appropriate one of these.
- Dimension(D): DivFunElt -> RngIntElt
The dimension of the Riemann-Roch space \({\cal L}(D)\) of the divisor \(D\) over \(k\), the constant field of definition.
- IndexOfSpeciality(D): DivFunElt -> RngIntElt
The index of speciality of the divisor \(D\), which equals the dimension of \({\cal L}(W-D)\) where \(W\) is a canonical divisor.
- ShortBasis(D : parameters): DivFunElt -> [RngElt], [RngIntElt]
Reduction : BoolElt Default: true Simplification: MonStgElt Default: "Full"
Compute a basis for the Riemann-Roch space of \(D\) in short form:
Let \(F = k(x,y)\) be an algebraic function field defined by \(f(x,y)=0\) over \(k\). Given a divisor \(D\) of \(F/k\) this function returns a basis of the \(k\)-vector space
\[{\cal L}(D) = \{ a \in F^\times \;|\; (a) \geq -D \} \cup \{ 0 \}\]in the short form \(B = [ \, b_1 \dots, b_n \, ], \; [ \, d_1, \dots, d_n \, ]\) with \(b_i \in F^\times\) and \(d_i \in \Z\) for all \(1 \leq i \leq n\), where \(n\) denotes the degree in \(y\) of the defining equation \(f\) of \(F\), such that
\[{\cal L}(D) = \left\{ \sum_{i=1}^n \lambda_i b_i \;|\; \lambda_i \in k[x] \ {\rm with\ deg\ } \lambda_i \leq d_i \ {\rm for\ } 1 \leq i \leq n \right\}.\]The optional argument
Reductioncontrols whether to use divisor reduction internally or not; it defaults totrue. For small divisors this is sometimes faster.The optional argument
Simplificationcontrols whether the resulting basis is simplified or not; it defaults to"Full". Simplification sometimes is not insignificantly expensive and can be avoided by setting the parameter to"None".The algorithm is described in [Hes99].
- Basis(D : parameters): DivFunElt -> [ FldFunElt ]
Reduction : BoolElt Default: true Simplification: MonStgElt Default: "Full"
A sequence containing a basis of the Riemann-Roch space \({\cal L}(D)\), for the divisor \(D\).
The optional argument
Reductioncontrols whether to use divisor reduction internally or not; it defaults totrue. For small divisors this is sometimes faster.The optional argument
Simplificationcontrols whether the resulting basis is simplified or not; it defaults to"Full". Simplification sometimes is not insignificantly expensive and can be avoided by setting the parameter to"None".
- RiemannRochSpace(D): DivFunElt -> ModFld, Map
- RiemannRochSpace(P): PlcFunElt -> ModFld, Map
Given a function field \(F/k\) and a divisor \(D\) belonging to \(F/k\), return a vector space \(V\) and a \(k\)-linear mapping \(h: V \longrightarrow F\) such that \(V\) is isomorphic to the Riemann-Roch space \({\cal L}(D) \subset F\) under \(h\).
- Valuation(D, P): DivFunElt, PlcFunElt -> RngIntElt
The exponent of the place \(P\) in the divisor \(D\).
- Reduction(D): DivFunElt -> DivFunElt, RngIntElt, DivFunElt, FldFunElt
- Reduction(D, A): DivFunElt, DivFunElt -> DivFunElt, RngIntElt, DivFunElt, FldFunElt
Let \(D\) be a divisor. Denote the result of both functions by \(\tilde{D}\), \(r\), \(A\), and \(a\) (for the second function the input \(A\) always equals the output \(A\)). The divisor \(A\) has (must have) positive degree and the following holds:
- (i)
\(D = \tilde{D} + rA - (a)\),
- (ii)
\(\tilde{D} \ge 0\) and \(\deg(\tilde{D}) < g + \deg(A)\) (over the exact constant field),
- (iii)
\(\tilde{D}\) has minimal degree among all such divisors satisfying (i), (ii).
- GapNumbers(D, P): DivFunElt, PlcFunElt -> SeqEnum[RngIntElt]
The sequence of gap numbers of the divisor \(D\) at \(P\) where \(P\) must be a place of degree one:
Let \(F/k\) be an algebraic function field, \(D\) a divisor, and \(P\) a place of degree one. An integer \(m \geq 1\) is a gap number of \(D\) at \(P\) if \(\dim \bigl( D + (m-1)P \bigr) = \dim(D + mP)\) holds. The gap numbers \(m\) of \(D\) satisfy \(1 \leq m \leq 2g-1-\deg(D)\) and their cardinality equals the index of speciality \(i(D)\).
GapNumbers(D, P)returns such a particular sequence. The sequences of gap numbers of \(D\) at various \(P\) are independent of constant field extensions for perfect \(k\) and are the same for all but a finite number of places \(P\) of degree one (consider e.g. \(k\) algebraically closed). If \(P\) is omitted in the function call, this uniform sequence is returned byGapNumbers(D). The places \(P\) where \(D\) has different sequences of gap numbers are called Weierstraß places of \(D\) and are returned byWeierstrassPlaces(D). In the above mentioned functions it is equivalent to replace \(D\) by either \(F\) or the zero divisor.
- GapNumbers(D): DivFunElt -> SeqEnum[RngIntElt]
SeparatingElement: FldFunGElt Default:
The sequence of global gap numbers of the divisor \(D\). A separating element used internally for the computation can be specified, it defaults to
SeparatingElement(F). See the description ofGapNumbers.
- Example: Riemann-Roch Space of a Divisor (ex-bddf6b)
Run in calculator (opens in a new tab)
Consider the function field \(F\) defined by the curve of genus \(7\) defined by
\[y^4 + (2*x^5 + x^4 + 2*x^3 + x^2)*y^2 + x^8 + 2*x^6 + x^5 +x^4 + x^3 + x^2\]We construct the function field \(F/{\bf F}_{9}\) and compute the Riemann-Roch space corresponding to a certain divisor.
> k<w> := GF(9); > R<x> := FunctionField(k); > P<y> := PolynomialRing(R); > f := y^4 + (2*x^5 + x^4 + 2*x^3 + x^2)*y^2 + x^8 > + 2*x^6 + x^5 +x^4 + x^3 + x^2; > F<a> := FunctionField(f); > Genus(F); 7 > P1 := RandomPlace(F, 1); > P2 := RandomPlace(F, 1); > D := P1 - P2; > D; (1/x, w^7/x^7*a^3 + w^5/x^5*a^2 + w^3/x^2*a + w) - (x, 2/(x^4 + x^2 + 2*x)*a^3 + w^3/x*a^2 + (w^5*x^3 + w^3*x + w^7)/(x^3 + x + 2)*a + w^5) > IsPrincipal(336*D); true > infty := Poles(F!x)[1]; > V, h := RiemannRochSpace(11*infty); > V; KModule V of dimension 5 over GF(3^2) > h; Mapping from: ModFld: V to FldFun: F > B := h(Basis(V)); > B; [ x/(x^3 + x + 2)*a^3 + (2*x^4 + 2*x^3 + x)/(x^3 + x + 2)*a, 1/(x^3 + x + 2)*a^3 + (2*x^3 + 2*x^2 + 1)/(x^3 + x + 2)*a, a^2 + 2*x^3 + 2*x^2, 1/x*a^2 + 2*x^2 + 2*x, 1 ] > (B[2] + 2*B[3])@@h; ( 0 1 2 0 0)
- Example: Algebraic Relation for Sine and Cosine (ex-3b8680)
Run in calculator (opens in a new tab)
As a trivial but illustrative example we consider the algebraic function field generated by \(\sin(x)\) and \(\cos(x)\) over \(Q\) and construct a single function \(a(x)\) such that \(\sin(x)\) and \(\cos(x)\) can be expressed in terms of \(a(x)\):
> Qc<c> := PolynomialRing(RationalField()); > Qcs<s> := PolynomialRing(Qc); > F<s> := FunctionField(s^2 + c^2 - 1); > c := F!c; > Genus(F); 0 > Zeros(s); [ (c - 1, s), (c + 1, s) ] > Zeros(c-1); [ (c - 1, s) ] > P := Zeros(c-1)[1]; > Degree(P); 1 > Dimension(1*P); 2 > Basis(1*P); [ 1/(c - 1)*s, 1 ] > a := Basis(1*P)[1]; > Degree(a); 1 > MinimalPolynomial(a); $.1^2 + (c + 1)/(c - 1) > (a^2 - 1)/(a^2 + 1); c > a * ((a^2 - 1)/(a^2 + 1) - 1); s
- Example: Sine and Cosine via Exponentials (ex-f4fe11)
Run in calculator (opens in a new tab)
Over \(Q(i)\) the familiar identities
\[\cos(x) = (\exp(ix) + \exp(-ix))/2\]\[\sin(x) = (\exp(ix) - \exp(-ix))/(2i).\]hold. In Magma one can proceed as follows:
> Qx<x> := PolynomialRing(RationalField()); > k<i> := NumberField(x^2 + 1); > kc<c> := PolynomialRing(k); > kcs<s> := PolynomialRing(kc); > F<s> := FunctionField(s^2 + c^2 - 1); > c := F!c; > Genus(F); 0 > e := c + i*s; > ebar := c - i*s; > Degree(e); 1 > c eq (e + ebar) / 2; true > s eq (e - ebar) / (2*i); true
- RamificationDivisor(D): DivFunElt -> DivFunElt
SeparatingElement: FldFunGElt Default:
The ramification divisor of the divisor \(D\) (using
SeparatingElementfor the computation which defaults toSeparatingElement(F)for \(F/k\) the function field of \(D\)):Let \(F/k\) be an algebraic function field, \(x\) a separating variable, and \(D\) a divisor. The ramification divisor of \(D\) is defined to be \(i(D) \, ( W - D ) + \bigl( W_x(D) \bigr) + \nu \, (dx),\) where \(W\) is a canonical divisor of \(F/k\), \(W_x(D)\) is the determinant of the Wronskian matrix of \(D\) with respect to \(x\) and \(\nu\) is the sum of the Wronskian orders of \(D\) with respect to \(x\). It is effective and consists of the Weierstraß places of \(D\). The constant field \(k\) is required to be exact.
- WeierstrassPlaces(D): DivFunElt -> [PlcFunElt]
SeparatingElement: FldFunGElt Default:
The Weierstrass places of the divisor \(D\) (using
SeparatingElementfor the computation which defaults toSeparatingElement(F)for \(F/k\) the function field of \(D\)):Let \(F/k\) be an algebraic function field, \(D\) a divisor, and \(P\) a place of degree one. An integer \(m \geq 1\) is a gap number of \(D\) at \(P\) if \(\dim \bigl( D + (m-1)P \bigr) = \dim(D + mP)\) holds. The gap numbers \(m\) of \(D\) at \(P\) satisfy \(1 \leq m \leq 2g-1-\deg(D)\) and their cardinality equals the index of speciality \(i(D)\). The sequences of gap numbers of \(D\) are independent of constant field extensions for perfect \(k\) and are the same for all but a finite number of places \(P\) of degree one (consider e.g. \(k\) algebraically closed). The places \(P\) of degree one at which \(D\) has different sequences of gap numbers are called Weierstraß places of \(D\).
This function returns a list of all places of \(F/k\) (having not necessarily degree one) which are lying below Weierstraß places of \(D\) viewed in \(F \bar{k} / \bar{k}\) (\(k\) perfect). The constant field \(k\) is required to be exact. Note that if the characteristic of \(F\) is positive this function is currently quite slow for large genus because of
Differentiation().
- IsWeierstrassPlace(D, P): DivFunElt, PlcFunElt -> BoolElt
Given a divisor \(D\) and a degree \(1\) place \(P\) of a function field, return whether \(P\) is a weierstrass place of \(D\).
- WronskianOrders(D): DivFunElt -> [RngIntElt]
SeparatingElement: FldFunGElt Default:
Let \(D\) be a divisor of an algebraic function field \(F/k\) with separating element \(x\) and let \(v_1, \dots v_l\) be a basis of \({\cal L}(D)\). For the differentiation \(D_x\) with respect to \(x\) consider the successively smallest \(\nu_1 \leq \dots \leq \nu_l \in \Z^{\geq 0}\) such that the rows \(D_x^{(\nu_i)}(v_1), \dots, D_x^{(\nu_i)}(v_l)\), \(1 \leq i \leq l\) are \(F\)-linearly independent. The numbers \(\nu_1, \dots, \nu_l\) are the Wronskian orders of \(D\) with respect to \(x\) and are returned. If \(D\) has dimension zero, the empty list is returned. The constant field \(k\) is required to be exact.
The separating element can be given by setting the
SeparatingElementparameter appropriately.
- ComplementaryDivisor(D): DivFunElt -> DivFunElt
Return the complementary divisor \(D^\#\) of the divisor \(D\). The function field \(F/k\) of \(D\) must be a finite extension of a rational function field \(k(x)\). The divisor \(D^\#\) equals \(\operatorname{Diff}(F/k(x)) - D\) for \(F\) the function field of \(D\) and \(\operatorname{Diff}(F/k(x))\) the different divisor of \(F/k(x)\).
- DifferentialBasis(D): DivFunElt -> [DiffFunElt]
A basis of the space of differentials of the divisor \(D\). See
DifferentialBasisfor details.
- DifferentialSpace(D): DivFunElt -> ModFld, Map
A vector space and the isomorphism from this space to the differential space of the divisor \(D\).
- Parametrization(F, D): FldFun, DivFunElt -> FldFunElt, [FldFunRatUElt]
An element \(x\) in \(F\) which is a non constant element of the basis of the divisor \(D\) having degree one and a sequence of elements \(L\) in the rational function field are returned such that \(x\) generates the function field \(F\) over the constant field and \(L\) contains the images of the generators of \(F\) over its constant field in the rational function field.