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