# Elliptic Curve over finite fields - Irreducibility proof

Hello, I am new to Sage and I want to prove an elliptic curve is irreducible. How can I prove that?

Example: - E = EllipticCurve(GF(256),[8,4,3,2,0])

Thank you

edit retag close merge delete

Sort by » oldest newest most voted

To know which methods are available to a Python (or Sage) object, you can use tab-completion:

sage: E = EllipticCurve(GF(256),[8,4,3,2,0])
sage: E.<TAB>


Then you will notice that there is a is_irreducible method available:

sage: E.is_irreducible()
True


EDIT To see how the computation (hence the proof) works, you can get the source code of the method wit two question marks:

sage: E.is_irreducible??


Then you will see that is looks at its defining ideal, and see if it is prime. For this (recursively look at the source code), it looks at its complete primary decomposition, this computation is forwarded to Singular, so you will have to look there to see how that part is done algorithmically.

more

Thank you for your answer but how do I prove that step by step instead of using is_irreducible() ?

( 2017-01-06 04:11:37 +0200 )edit

What logical methods are available? Also, why do you want to prove this - fun? academic research? etc. ?

( 2017-01-08 21:28:42 +0200 )edit

The word irreducible gets used a lot in mathematics. For elliptic curves over finite fields the implementation is just "irreducible as a scheme". Since elliptic curves are irreducible by definition the implementation could just be

def is_irreducible(self):
return True


There are no steps involved.

For elliptic curves over QQ is_irreducible(p) is still a legacy test of whether the galois representation on the p-torsion is irreducible (but read the documentation about where this is moved). Once this deprecation has been resolved, the removal of the special is_irreducible would expose the scheme theoretic routine on elliptic curves over QQ as well.

more

In cidentally, all plane cubics given by Weierstrass equations are irreducible, even when singular. Since elliptic curves in Sage are Weierstrass cubics, the code for E.is_irreducible should just return True without bothering to call the generic irreducibility test.

more