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.

Reply via email to