#6072: [with patch, needs work] Boundary space for GammaH fails to identify
vanishing classes
---------------------------+------------------------------------------------
 Reporter:  davidloeffler  |       Owner:  craigcitro
     Type:  defect         |      Status:  new       
 Priority:  minor          |   Milestone:  sage-4.0.1
Component:  modular forms  |    Keywords:            
---------------------------+------------------------------------------------

Comment(by davidloeffler):

 Sorry it's taken me so long to get around to reviewing this, but it still
 doesn't seem to quite fix the problem:

 {{{
 sage: G = GammaH(4, [])
 sage: B3 = G.modular_symbols(weight=3).boundary_space()
 sage: [B3(x) for x in G.cusps()]
 [[0], 0, [Infinity]]
 sage: B3.rank()
 3
 }}}

 I think the problem is that the check to see whether or not the new cusp
 class vanishes gets done *after* the cusp is added to
 {{{B3._known_cusps}}}, and the rank method just checks the length of
 known_cusps. The same happens if instead of explicitly coercing all the
 cusps of G into B3, you do {{{B3 =
 G.modular_symbols(weight=3).boundary_map().codomain()}}} to get a fully-
 initialised version.

 Another silly minor quibble: if -1 is in G, then the boundary space should
 clearly be zero in all odd weights, but this doesn't seem to happen:

 {{{
 sage: G = GammaH(10, [9])
 sage: B3 = G.modular_symbols(weight=3).boundary_space()
 sage: B3(Cusp(1))
 sage: [B3(x) for x in G.cusps()]
 [[1], 0, [1/4], 0, [1/3], 0, [1/2], 0]
 }}}

 Finally, here's another (possibly completely unrelated) bug:
 {{{
 sage: G = GammaH(8, [5])
 sage: G.modular_symbols(weight=3).boundary_map()
 ---------------------------------------------------------------------------
 AssertionError                            Traceback (most recent call
 last)

 /home/david/.sage/temp/groke/13903/_home_david__sage_init_sage_0.py in
 <module>()

 /home/david/sage-4.0.alpha0/local/lib/python2.5/site-
 packages/sage/modular/modsym/ambient.pyc in boundary_map(self)
    1251             # compute boundary map
    1252             B = self.boundary_space()
 -> 1253             I = [B(b) for b in self.basis()]
    1254             W = matrix_space.MatrixSpace(self.base_ring(), len(I),
 B.rank(), sparse=True)
    1255

 /home/david/sage-4.0.alpha0/local/lib/python2.5/site-
 packages/sage/modular/modsym/boundary.pyc in __call__(self, x)
     583             if len(S) == 0:
     584                 return self(0)
 --> 585             return sum([c*self._coerce_in_manin_symbol(v) for c, v
 in S])
     586
     587         elif is_FreeModuleElement(x):

 /home/david/sage-4.0.alpha0/local/lib/python2.5/site-
 packages/sage/modular/modsym/boundary.pyc in _coerce_in_manin_symbol(self,
 x)
     532         """
     533         i = x.i
 --> 534         alpha, beta = x.endpoints(self.level())
     535         if self.weight() == 2:
     536             return self(alpha) - self(beta)

 /home/david/sage-4.0.alpha0/local/lib/python2.5/site-
 packages/sage/modular/modsym/manin_symbols.pyc in endpoints(self, N)
    1758             if N < 1:
    1759                 raise ArithmeticError, "N must be positive"
 -> 1760         a,b,c,d = self.lift_to_sl2z()
    1761         return cusps.Cusp(b,d), cusps.Cusp(a,c)
    1762

 /home/david/sage-4.0.alpha0/local/lib/python2.5/site-
 packages/sage/modular/modsym/manin_symbols.pyc in lift_to_sl2z(self, N)
    1735         d += N*m
    1736         g, z1, z2 = arith.XGCD(c,d)
 -> 1737         assert g==1
    1738         return [z2, -z1, c, d]
    1739

 AssertionError:
 }}}

 (This may well be nothing to do with any of this, I just happened to spot
 it while testing your patch, so feel free to ignore it if it's not
 relevant).

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/6072#comment:2>
Sage <http://sagemath.org/>
Sage - Open Source Mathematical Software: Building the Car Instead of 
Reinventing the Wheel

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to