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]