Kodaira symbols have their own type KodSym. Apart from the two functions
that determine symbols for elliptic curves, there is a special creation
function and a comparison operator, to test Kodaira symbols.
KodairaSymbol(E, p) : CurveEll -> MonStgElt
Given an elliptic curve E defined over Q and a prime number p, this function returns the reduction type of E modulo p in the form of a Kodaira symbol.
Given an elliptic curve E defined over Q, this function returns the reduction types of E modulo the bad primes in the form of a sequence of Kodaira symbols.
Given a string s, return a Kodaira symbol it represents. The values of s that are allowed are: "I0", "I1", "I2", ..., "In", "II", "III", "IV", and "I0*", "I1*", "I2*", ..., "In*", "II*", "III*", "IV*". The dots stand for "Ik" with k a positive integer. The `generic' type "In" is provided to be able to match types "I"n for any integer n>0 (and similarly for "In*"). This creation function is primarily useful for comparing values returned by the functions determining the Kodaira symbol for a curve.
Given two Kodaira symbols h and k, this function returns true if and only if either both are identical, or one is generic (of the form "In", or "In*") and the other is specific of the same type: "In" will compare equal with any of "I1", "I2", "I3", etc., and "In*" will compare equal with any of "I1*", "I2*", "I3*", etc. Note however that "In" and "I3" are different from the point of view of set creation.
Returns a string describing the reduction type: the possibilities are "Good", "Additive", "Split multiplicative" or "Unsplit multiplicative". These correspond to the type of singularity (if any) on the reduced curve. This function is necessary as the Kodaira symbols do not distinguish between split and unsplit multiplicative reduction.
> for n := 2 to 100 do > E := EllipticCurve([n,0]); > for p in BadPrimes(E) do > if KodairaSymbol(E, p) eq KodairaSymbol("I0*") then > print p, n; > end if; > end for; > end for; 3 9 3 18 5 25 3 36 3 45 7 49 5 50 3 63 3 72 5 75 3 90 7 98 3 99 5 100