#10480: fast PowerSeries_poly multiplication
-----------------------------------+----------------------------------------
   Reporter:  pernici              |       Owner:  malb        
       Type:  enhancement          |      Status:  needs_work  
   Priority:  major                |   Milestone:  sage-4.6.2  
  Component:  commutative algebra  |    Keywords:  power series
     Author:  mario pernici        |    Upstream:  N/A         
   Reviewer:                       |      Merged:              
Work_issues:                       |  
-----------------------------------+----------------------------------------
Changes (by lftabera):

  * status:  new => needs_work
  * milestone:  sage-4.6.1 => sage-4.6.2


Comment:

 Could you please check if the changes of #10255 in karatsuba
 multiplication provide further improvement?

 PowerSeries are constructed over commutative rings, but
 polynomial_elements do not. Hence mul_trunc needs to work also over
 noncommutative rings. It does not right now (al least lines 5342 and 5345
 do not differenciate between left and right multiplication).

 I see several improvements:

 I think that

 cdef int i, j, a1len, a2len, n1, n2, ih

 in line 5334 should be Py_ssize_t, but maybe a cython expert should look
 at this.

 c = [0]*h in line 5346 of the patch is inefficient in several cases. One
 of the most contributions in 10480 is to avoid python 0 'int' in the code,
 that can be (relatively) expensive to coerce. I guess that this code will
 be slow if the base ring is a number field (that has slow coercion).

 The last loop is classical multiplication up to the precision required. I
 wonder if part of that multiplication could use do_karatsuba or a
 truncated_do_karatsuba.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10480#comment:1>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
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