#5650: speed up gamma_inc
-------------------------+--------------------------------------------------
 Reporter:  ncalexan     |       Owner:                                 
     Type:  enhancement  |      Status:  new                            
 Priority:  major        |   Milestone:  sage-feature                   
Component:  symbolics    |    Keywords:  gamma_inc log performance speed
-------------------------+--------------------------------------------------
 The following is from code for evaluating Riemann theta functions on
 sage.math:

 {{{
 sage: %prun siegel_theta(tau3p, 1/10*vector([1/2 + I, 2/3*I, 1.222*I]))
          137700 function calls (136832 primitive calls) in 2.221 CPU
 seconds

    Ordered by: internal time

    ncalls  tottime  percall  cumtime  percall filename:lineno(function)
        23    1.668    0.073    1.674    0.073 {method 'gamma_inc' of
 'sage.rings.complex_number.ComplexNumber' objects}
     791/1    0.153    0.000    0.380    0.380
 riemann_theta.py:313(find_integer_points)
      1601    0.066    0.000    0.066    0.000 {method 'sin' of
 'sage.rings.real_mpfr.RealNumber' objects}
      5706    0.056    0.000    0.077    0.000 free_module.py:742(__call__)
         1    0.029    0.029    0.137    0.137
 riemann_theta.py:51(finite_sum_without_derivatives)
      1602    0.026    0.000    0.026    0.000 {method 'exp' of
 'sage.rings.real_mpfr.RealNumber' objects}
 }}}

 The {{{finite_sum_without_derivatives}}} is the main loop, which calls
 sin, cos, and exp each iteration.  But the dominant part is computing an
 initial error approximation, which computes {{{gamma_inc}}} to very high
 precision a bunch of times, optimizing a parameter.  That takes longer
 than everything else!  Could a party interested in special functions
 please speed this up?

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