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) : GeomEC -> 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.
> 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
[Next] [Prev] [_____] [Left] [Up] [Index] [Root]