Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download
Project: REU 2017
Views: 124
def exponent(p,power,E): #assumes p does not divide |E(F_p)|. Ep = E.reduction(p) exp = Ep.abelian_group().generator_orders()[0] return exp*p^(power-1) def is_Euler_elliptic_Carmichael_number(E,N): if gcd(E.discriminant(),N) > 1: return false factorization = list(factor(N)) if len(factorization) <= 1: return false cond = E.conductor() aN = 1 prime_coefficients = {} #compute ap, aN for prime, power in factorization: listy = [1, prime+1-E.Np(prime)] char = 1 if mod(cond,prime) == 0: char = 0 for j in range(2,power+1): listy.append(listy[1]*listy[j-1]-char*prime*listy[j-2]) aN = aN*listy[-1] prime_coefficients[prime] = listy[1] if mod(N+1-aN,2) != 0: return false #check 2*(exponent of group E(Z/p^ord_p(N)Z) divides (N+1-an)/2. for prime, power in factorization: exp = exponent(prime,power,E) if mod(Integer(N+1-aN), 2*exp) != 0: return false return true A,B = 0,80 E = EllipticCurve([A,B]) count = 1 N = 1 while true: if is_Euler_elliptic_Carmichael_number(E,N): print count, N count+=1 N+=1
1 481 2 1679 3 1763 4 3599 5 4991 6 5183 7 6119 8 7859 9 9271 10 9407 11 9599 12 18239 13 24119 14 24511 15 24803 16 31919 17 38111 18 38999 19 46079
Error in lines 33-37 Traceback (most recent call last): File "/cocalc/lib/python2.7/site-packages/smc_sagews/sage_server.py", line 1044, in execute exec compile(block+'\n', '', 'single', flags=compile_flags) in namespace, locals File "", line 2, in <module> File "", line 21, in is_Euler_elliptic_Carmichael_number File "", line 3, in exponent File "sage/misc/cachefunc.pyx", line 2016, in sage.misc.cachefunc.CachedMethodCaller.__call__ (build/cythonized/sage/misc/cachefunc.c:10855) w = self._instance_call(*args, **kwds) File "sage/misc/cachefunc.pyx", line 1892, in sage.misc.cachefunc.CachedMethodCaller._instance_call (build/cythonized/sage/misc/cachefunc.c:10306) return self.f(self._instance, *args, **kwds) File "/ext/sage/sage-8.1/local/lib/python2.7/site-packages/sage/schemes/elliptic_curves/ell_finite_field.py", line 1633, in abelian_group return AdditiveAbelianGroupWrapper(self.point_homset(), gens, orders) File "/ext/sage/sage-8.1/local/lib/python2.7/site-packages/sage/groups/additive_abelian/additive_abelian_wrapper.py", line 165, in __init__ addgp.AdditiveAbelianGroup_fixed_gens.__init__(self, cover, rels, cover.gens()) File "/ext/sage/sage-8.1/local/lib/python2.7/site-packages/sage/groups/additive_abelian/additive_abelian_group.py", line 416, in __init__ AdditiveAbelianGroup_class.__init__(self, cover, rels) File "/ext/sage/sage-8.1/local/lib/python2.7/site-packages/sage/groups/additive_abelian/additive_abelian_group.py", line 227, in __init__ FGP_Module_class.__init__(self, cover, relations) File "/ext/sage/sage-8.1/local/lib/python2.7/site-packages/sage/modules/fg_pid/fgp_module.py", line 357, in __init__ if not W.is_submodule(V): File "/ext/sage/sage-8.1/local/lib/python2.7/site-packages/sage/modules/free_module.py", line 1103, in is_submodule M = other.basis_matrix().solve_left(self.basis_matrix()) File "sage/matrix/matrix2.pyx", line 211, in sage.matrix.matrix2.Matrix.solve_left (build/cythonized/sage/matrix/matrix2.c:5903) return self.transpose().solve_right(B.transpose(), check=check).transpose() File "sage/matrix/matrix2.pyx", line 439, in sage.matrix.matrix2.Matrix.solve_right (build/cythonized/sage/matrix/matrix2.c:7948) if self.rank() != self.nrows(): File "sage/matrix/matrix_rational_dense.pyx", line 2433, in sage.matrix.matrix_rational_dense.Matrix_rational_dense.rank (build/cythonized/sage/matrix/matrix_rational_dense.c:22725) self.echelon_form(algorithm='flint') File "sage/matrix/matrix_rational_dense.pyx", line 1665, in sage.matrix.matrix_rational_dense.Matrix_rational_dense.echelon_form (build/cythonized/sage/matrix/matrix_rational_dense.c:16493) E = self.__copy__() File "sage/matrix/matrix_rational_dense.pyx", line 598, in sage.matrix.matrix_rational_dense.Matrix_rational_dense.__copy__ (build/cythonized/sage/matrix/matrix_rational_dense.c:8194) ans = Matrix_rational_dense.__new__(Matrix_rational_dense, self._parent, None, None, None) File "sage/matrix/matrix_rational_dense.pyx", line 141, in sage.matrix.matrix_rational_dense.Matrix_rational_dense.__cinit__ (build/cythonized/sage/matrix/matrix_rational_dense.c:4064) Matrix_dense.__init__(self, parent) File "sage/matrix/matrix0.pyx", line 122, in sage.matrix.matrix0.Matrix.__init__ (build/cythonized/sage/matrix/matrix0.c:3943) self._nrows = parent.nrows() File "/ext/sage/sage-8.1/local/lib/python2.7/site-packages/sage/matrix/matrix_space.py", line 1613, in nrows def nrows(self): File "src/cysignals/signals.pyx", line 251, in cysignals.signals.python_check_interrupt File "src/cysignals/signals.pyx", line 94, in cysignals.signals.sig_raise_exception KeyboardInterrupt