#6371: Implement Riemann theta functions
-----------------------------------------------+----------------------------
   Reporter:  ncalexan                         |          Owner:  cswiercz      
                    
       Type:  enhancement                      |         Status:  needs_work    
                    
   Priority:  minor                            |      Milestone:  sage-4.8      
                    
  Component:  numerical                        |       Keywords:  riemann theta 
klein               
Work_issues:                                   |       Upstream:  N/A           
                    
   Reviewer:  Marco Streng, Bernard Deconinck  |         Author:  Nick 
Alexander, Chris Swierczewski
     Merged:                                   |   Dependencies:                
                    
-----------------------------------------------+----------------------------

Comment(by cswiercz):

 Hello mstreng,

 Replying to [comment:31 mstreng]:
 > I don't know much about {{{BuiltinFunction}}}, but I suspect that it
 isn't meant for what you are trying to do. All the examples that I know of
 {{{BuiltinFunction}}} are single fixed functions, independent of any
 parameters, such as cos, min, max, {{{IndefiniteIntegral}}}, Gamma,
 dirac_delta, etc.

 It was my misunderstanding that {{{BuiltinFunction}}} is necessary for
 doing symbolic manipulation. My only reason for using it is so I can
 compute derivatives, etc. If you know of an alternate way to enable
 symbolics then I'd love to hear about it!

 > Your objects however depend on a parameter Omega, and are functions only
 of z. They are maps {{{theta(Omega): CC^g --> CC : z |--> theta(z)}}}.
 This will not be a "built-in function of Sage" for every Omega, so it does
 not sound to me like this should be a {{{BuiltinFunction}}} object. Maybe
 the memory leak is caused by this.

 I'll experiment with the code and see if this is an issue.

 In practice, $\Omega$ is treated more as a parameter than an argument of
 the Riemann theta function. That is, $\Omega$ is usually fixed and $z$
 varies. Several users of my code would like to see this behavior be
 reflected by having the Riemann theta function be "initialized" by this
 matrix.

 However, if memory leaks are unavoidable in this context then I suppose
 I'll just have to make $\Omega$ behave like an argument no different from
 $z$.

 > The function {{{theta: CC^g x H_g --> CC : (z, Omega) |--> theta(z,
 Omega)}}} definitely make sense as a built-in function, but not a function
 {{{theta(Omega) : CC^g --> C}}} that depends on Omega. In other words, if
 you have a function for which Omega is not a parameter but an actual
 variable, then that would make a good built-in function.

 Makes sense.

 > ps. Could you make sure you break the lines in the patch at 79
 characters?

 Of course! (As an in-terminal emacs user I usually try to do this anyway.)

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/6371#comment:32>
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