Opened 14 years ago

Closed 8 years ago

#5650 closed enhancement (invalid)

speed up gamma_inc

Reported by: ncalexan Owned by:
Priority: major Milestone: sage-duplicate/invalid/wontfix
Component: symbolics Keywords: gamma_inc log performance speed
Cc: Merged in:
Authors: Reviewers: Jeroen Demeyer
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description

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?

Change History (4)

comment:1 Changed 14 years ago by fredrik.johansson

How high precision and for what values of the arguments is this?

comment:2 in reply to:  1 Changed 11 years ago by kcrisman

Report Upstream: N/A
Status: newneeds_info

How high precision and for what values of the arguments is this?

Yeah, this is really vague, and the code involved is custom and not in Sage at this time. It would be helpful to know if #7748, which changed the approximation to mpmath, helped here. Until such time as we get more details, 'needs info'.

comment:3 Changed 8 years ago by jdemeyer

Milestone: sage-featuresage-duplicate/invalid/wontfix
Reviewers: Jeroen Demeyer
Status: needs_infopositive_review

No answer, close as "invalid".

comment:4 Changed 8 years ago by vbraun

Resolution: invalid
Status: positive_reviewclosed
Note: See TracTickets for help on using tickets.