#5648: Multiplication for modular forms
---------------------------+------------------------------------------------
 Reporter:  davidloeffler  |       Owner:  davidloeffler
     Type:  enhancement    |      Status:  new          
 Priority:  minor          |   Milestone:  sage-3.4.2   
Component:  modular forms  |    Keywords:               
---------------------------+------------------------------------------------
 The attached patch implements !__mul!__ for !ModularFormElement objects,
 so one can say
 {{{
 sage: M = ModularForms(DirichletGroup(3).0, 5)
 sage: f = M.0
 sage: f * f
 }}}

 and get back a modular form (in this case a weight 5 modular form of level
 3 and trivial character).

 In order to get this to work, I've made a few small adjustments elsewhere:

 * !DirichletGroup objects now have a base_extend method

 * a bug when multiplying two characters of the same modulus but different
 zeta orders is fixed

 * Dirichlet characters now always compare as unequal unless they have the
 same modulus (in particular, == for Dirichlet characters is now
 transitive, which it previously wasn't)

 * ambient spaces of modular forms with character now have a decent
 base_extend method (previously base_extend would forget the character and
 return an ambient space of modular forms for Gamma1(N)).

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/5648>
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