#16671: implement harmonic number function H(n,m)
-------------------------------------+-------------------------------------
       Reporter:  rws                |        Owner:
           Type:  defect             |       Status:  needs_info
       Priority:  major              |    Milestone:  sage-6.3
      Component:  symbolics          |   Resolution:
       Keywords:                     |    Merged in:
        Authors:  Ralf Stephan       |    Reviewers:
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  u/rws/implement_harmonic_number_function_h_n_m_|  
5310ca10a440c2536da3f043deba80f5c35d041a
   Dependencies:                     |     Stopgaps:
-------------------------------------+-------------------------------------

Comment (by nbruin):

 Replying to [comment:5 rws]:
 > It is already implemented, I'm just waiting for
 https://groups.google.com/forum/?hl=en#!topic/sage-devel/SM_FLL33t2g as to
 argument order of the generalized version.
 > ----
 > New commits:
 >
 
||[http://git.sagemath.org/sage.git/commit/?id=5310ca10a440c2536da3f043deba80f5c35d041a
 5310ca1]||{{{16671: implement harmonic number function H(n,m) (modulo
 argument order)}}}||

 For `maxima_lib` you definitely have to implement a special conversion
 rule (in both `special_max_to_sage` and `special_sage_to_max`). It'll be a
 very simple conversion rule, though, so it should be quick to write. There
 are plenty of examples of entries there already that have to do more
 complicated manipulations, so just swapping arguments will be easy to
 figure out.

 For conversions to other maxima interfaces a good start may the special
 examples in `maxima_lib`. It seems that implementing
 `_maxima_init_evaled_` might do the trick for conversion to maxima.

 The workhorse for the other direction is
 `sage.calculus.calculus.symbolic_expression_from_maxima_string` which
 defines regexes for `polylog` etc., so it seems that any special
 conversion rules would need to be added there.

 Your conversion is not ''that'' strange though. You just need to swap
 arguments, which means no special conversion at all as long as you can get
 it converted to a sage function that expects the arguments in the required
 order and produces the desired symbolic expression.

 It seems that as long as you can get an entry into
 `sage.symbolic.pynac.symbol_table.get('maxima', {})` that has a argument-
 swapping function associated with it, you might be good to go.
 `sage.symbolic.pynac.register_symbol` might do the trick for that.

--
Ticket URL: <http://trac.sagemath.org/ticket/16671#comment:6>
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 unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to