#5520: [with patch; needs review] implement Pizer's algorithm for computing 
Brandt
Modules and Brandt Matrices
---------------------------+------------------------------------------------
 Reporter:  was            |       Owner:  craigcitro
     Type:  enhancement    |      Status:  new       
 Priority:  major          |   Milestone:  sage-3.4.1
Component:  modular forms  |    Keywords:            
---------------------------+------------------------------------------------

Comment(by tornaria):

 Here's a one-liner you definitely want to apply (with or without my patch
 above):
 {{{
          while got_something_new:
              got_something_new = False
 +            newly_computed_ideals = []
              for I in new_ideals:
                  L = self.cyclic_supermodules(I, p)
                  for J in L:
                      is_new = True
 }}}
 In fact, the list {{{newly_computed_ideals}}} needs to be reset after each
 cycle --- otherwise, each iteration computes
 {{{self.cyclic_supermodules()}}} again for all the ideals (not just the
 new ones)...

 This ({{{right_ideals()}}}) is now running in definitely sub-quadratic
 time... it seems quasi-linear besides the issue of figuring out the
 optimal bound for the theta series. For instance:
 {{{
 sage: time Is=BrandtModule(20011,use_cache=False).right_ideals(150)
 CPU times: user 25.45 s, sys: 0.05 s, total: 25.50 s
 Wall time: 25.50 s
 sage: time Is=BrandtModule(100003,use_cache=False).right_ideals(500)
 CPU times: user 275.69 s, sys: 0.69 s, total: 276.38 s
 Wall time: 276.39 s
 }}}

 The same idea can be applied to {{{hecke_matrix_directly}}} so that
 computing decomposition of the Brandt module scales better (maybe quasi-
 linear, definitely sub-quadratic).

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/5520#comment:14>
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