Kodaira symbols encode the type of reduction of an elliptic curve at a (finite) place.
The standard notation for Kodaira Symbols is as a string which is one
of ,
,
,
,
,
,
,
, where
denotes a
non-negative integer. These have been encoded by single integers by
different people. For convenience we give here the conversion table
between strings, the eclib coding and the pari encoding.
Kodaira Symbol | Eclib coding | Pari Coding |
---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() ![]() |
![]() |
![]() |
![]() ![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
AUTHORS:
Returns the specified Kodaira symbol.
INPUT:
OUTPUT:
(KodairaSymbol) The corresponding Kodaira symbol.
EXAMPLES:
sage: KS = KodairaSymbol
sage: [KS(n) for n in range(1,10)]
[I0, II, III, IV, I1, I2, I3, I4, I5]
sage: [KS(-n) for n in range(1,10)]
[I0*, II*, III*, IV*, I1*, I2*, I3*, I4*, I5*]
sage: all([KS(str(KS(n)))==KS(n) for n in range(-10,10) if n!=0])
True
Class to hold a Kodaira symbol of an elliptic curve over a
-adic local field.
Users should use the KodairaSymbol() function to construct Kodaira Symbols rather than use the class constructor directly.
Standard comparison function for Kodaira Symbols.
EXAMPLES:
sage: from sage.schemes.elliptic_curves.kodaira_symbol import KodairaSymbol_class
sage: KS1 = KodairaSymbol_class(15); KS1
I11
sage: KS2 = KodairaSymbol_class(-34); KS2
I30*
sage: KS1 < KS2
True
sage: KS2 < KS1
False
sage: Klist = [KodairaSymbol_class(i) for i in [-10..10] if i!=0]
sage: Klist.sort()
sage: Klist
[I0,
I0*,
I1,
I1*,
I2,
I2*,
I3,
I3*,
I4,
I4*,
I5,
I5*,
I6,
I6*,
II,
II*,
III,
III*,
IV,
IV*]
Constructor for Kodaira Symbol class.
INPUT:
standard string representation (e.g. III*) of a Kodaira symbol, which will be parsed. Alternatively, use the Pari encoding of Kodaira symbols as integers.
EXAMPLES:
sage: from sage.schemes.elliptic_curves.kodaira_symbol import KodairaSymbol_class
sage: KodairaSymbol_class(14)
I10
sage: KodairaSymbol_class('III*')
III*
Return the string representation of this Kodaira Symbol.
EXAMPLES:
sage: from sage.schemes.elliptic_curves.kodaira_symbol import KodairaSymbol_class
sage: KS = KodairaSymbol_class(15)
sage: str(KS) # indirect doctest
'I11'
Return the string representation of this Kodaira Symbol.
EXAMPLES:
sage: from sage.schemes.elliptic_curves.kodaira_symbol import KodairaSymbol_class
sage: KS = KodairaSymbol_class(15)
sage: latex(KS)
$I_{11}$
Return the Pari encoding of this Kodaira Symbol.
EXAMPLES:
sage: KodairaSymbol('I0')._pari_code()
1
sage: KodairaSymbol('I10')._pari_code()
14
sage: KodairaSymbol('I10*')._pari_code()
-14
sage: [KodairaSymbol(s)._pari_code() for s in ['II','III','IV']]
[2, 3, 4]
sage: [KodairaSymbol(s)._pari_code() for s in ['II*','III*','IV*']]
[-2, -3, -4]