| 1 | initial version |
The reference manual describes cardinality as
cardinality(algorithm=None, extension_degree=1)
which means that the default value for the argument is None. The code says
if algorithm is None:
# Check for j in subfield
jpol = self.j_invariant().minimal_polynomial()
if jpol.degree() < self.base_field().degree():
algorithm = "subfield"
else:
algorithm = "pari"
So if you are working over a prime field, for example, the algorithm is "pari": "use the PARI C-library function ellcard", according to the reference manual. This pari function is documented here.
By the way, to see the source code, you can do
sage: E = EllipticCurve(GF(10007), [1,2,3,4,5])
sage: E.cardinality??
| 2 | No.2 Revision |
The reference manual describes cardinality as
cardinality(algorithm=None, extension_degree=1)
which means that the default value for the argument is None. The code says
if algorithm is None:
# Check for j in subfield
jpol = self.j_invariant().minimal_polynomial()
if jpol.degree() < self.base_field().degree():
algorithm = "subfield"
else:
algorithm = "pari"
So if you are working over a prime field, for example, the algorithm is "pari": "use the PARI C-library function ellcard", according to the reference manual. This pari function is documented here.. (Click on "Elliptic curves" in the menu on the left, then "ellcard" at the top. I don't see how to give a precise link to the page.)
By the way, to see the source code, you can do
sage: E = EllipticCurve(GF(10007), [1,2,3,4,5])
sage: E.cardinality??
Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.