I agree with vdelecroix that I think that it is not even guaranteed to give
correct results over finite fields. In for example the description of the
modular symbol algorithms of John Cremona in his book or those described in
William Stein his book they define the module of modular symbols as some
explicitly given Z-module (or equivalently abelian group) modulo torsion.
So all the algorithms assume that there is no torsion in the underling
additive group of your ring. The only correct way to get sensible answers
without reimplementing every algorithm and thinking really hard about
torsion is to compute first everything over Z and then base change.
On Sunday, 3 July 2016 06:42:53 UTC+2, Rob Harron wrote:
>
> Hi,
>
> I'm trying to do some computations with mod 3 modular forms and I'm
> running into a couple of errors.
>
> (1) An assertion error. For example,
>
> sage: chi = kronecker_character(3*34603)
> sage: M = ModularSymbols(chi, 2, sign=1, base_ring=GF(3))
> ...
> File
> "/projects/sage/sage-6.10/local/lib/python2.7/site-packages/sage/modular/modsym/relation_matrix.py",
>
> line 126, in modS_relations
> assert j != -1
> AssertionError
>
> This appears to be something about not finding a relation that should
> exist between two symbols.
>
> (2) An arithmetic error. For example,
>
> sage: chi = kronecker_character(3*61379)
> sage: M = ModularSymbols(chi, 2, sign=1, base_ring=GF(3))
> ...
> File
> "/projects/sage/sage-6.10/local/lib/python2.7/site-packages/sage/modular/modsym/relation_matrix.py",
>
> line 125, in modS_relations
> j, s = syms.apply_S(i)
> File
> "/projects/sage/sage-6.10/local/lib/python2.7/site-packages/sage/modular/modsym/manin_symbol_list.py",
>
> line 1062, in apply_S
> k, s = self.index((self._weight-2-i, v, -u))
> File
> "/projects/sage/sage-6.10/local/lib/python2.7/site-packages/sage/modular/modsym/manin_symbol_list.py",
>
> line 1255, in index
> x, s = self.normalize(x)
> File
> "/projects/sage/sage-6.10/local/lib/python2.7/site-packages/sage/modular/modsym/manin_symbol_list.py",
>
> line 1290, in normalize
> u,v,s = self.__P1.normalize_with_scalar(x[1],x[2])
> File "sage/modular/modsym/p1list.pyx", line 1160, in
> sage.modular.modsym.p1list.P1List.normalize_with_scalar
> (/projects/sage/sage-6.10/src/build/cythonized/sage/modular/modsym/p1list.c:8566)
> self.__normalize(self.__N, u, v, &uu, &vv, &ss, 1)
> File "sage/modular/modsym/p1list.pyx", line 363, in
> sage.modular.modsym.p1list.c_p1_normalize_llong
> (/projects/sage/sage-6.10/src/build/cythonized/sage/modular/modsym/p1list.c:2997)
> ss[0] = <int> (arith_llong.c_inverse_mod_longlong(s*min_t, N) % ll_N)
> File "sage/rings/fast_arith.pyx", line 381, in
> sage.rings.fast_arith.arith_llong.c_inverse_mod_longlong
> (/projects/sage/sage-6.10/src/build/cythonized/sage/rings/fast_arith.c:5546)
> raise ArithmeticError("The inverse of %s modulo %s is not
> defined."%(a,m))
> ArithmeticError: The inverse of -2142142713 modulo 184137 is not defined.
>
> Does anyone know what might be causing this or if there's a workaround?
> Thanks.
>
> Best,
>
> Rob
>
>
--
You received this message because you are subscribed to the Google Groups
"sage-nt" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send an email to [email protected].
Visit this group at https://groups.google.com/group/sage-nt.
For more options, visit https://groups.google.com/d/optout.