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