Skip to content

Commit fbe441e

Browse files
committed
add .separable_degree() to complement .inseparable_degree()
1 parent a2e1aae commit fbe441e

File tree

1 file changed

+23
-1
lines changed
  • src/sage/schemes/elliptic_curves

1 file changed

+23
-1
lines changed

src/sage/schemes/elliptic_curves/hom.py

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -699,6 +699,28 @@ def inseparable_degree(self):
699699
"""
700700
raise NotImplementedError('children must implement')
701701

702+
def separable_degree(self):
703+
r"""
704+
Return the separable degree of this isogeny.
705+
706+
The separable degree is the result of dividing the :meth:`degree`
707+
by the :meth:`inseparable_degree`.
708+
709+
EXAMPLES::
710+
711+
sage: E = EllipticCurve(GF(11), [5,5])
712+
sage: E.is_supersingular()
713+
False
714+
sage: E.scalar_multiplication(-77).separable_degree()
715+
539
716+
sage: E = EllipticCurve(GF(11), [5,0])
717+
sage: E.is_supersingular()
718+
True
719+
sage: E.scalar_multiplication(-77).separable_degree()
720+
49
721+
"""
722+
return self.degree() // self.inseparable_degree()
723+
702724
def is_separable(self):
703725
r"""
704726
Determine whether or not this morphism is a separable isogeny.
@@ -887,7 +909,7 @@ def is_injective(self):
887909
"""
888910
if self.is_zero():
889911
return False
890-
return self.inseparable_degree() == self.degree()
912+
return self.separable_degree().is_one()
891913

892914
def is_zero(self):
893915
r"""

0 commit comments

Comments
 (0)