On Apr 23, 10:44 am, Benjamin Jones <benjaminfjo...@gmail.com> wrote:
> The `symbolic_inverse` function you posted on ask.sagemath looks good.
> I might suggest catching the RuntimeError when no roots are found and
> raising a more informative error, e.g. "Sage could not find a symbolic
> inverse" ...

I am thinking about directly using "solve()", rather than "roots()",
to implement "inverse()". That way I can raise my own exception.

Another consideration is whether we want to let "inverse()" itself be
representable as a symbolic expression. I need to learn about how this
works in Sage, but I am referring to the behavior of "integral()" when
it can't integrate something. For example:

sage: Ei(x).integral(x)
integrate(Ei(x), x)
sage: Ei(x).integral(x).diff(x)
Ei(x)

In the case of "inverse()", this might look like:

sage: f(x) = x + sin(x)
sage: f.inverse(x)
inverse(x + sin(x), x)
sage: f(f.inverse(x))
x + sin(x)

Then this can be used to allow Sage to apply the inverse function
theorem[1], for example.

I have a lot to learn about how symbolics works in Sage before I can
work on this. Maybe the easier route would be not to let inverse() be
representable as a symbolic expression and simply raise an exception
if Maxima's "solve()" fails. Later down the line, I might be able to
do something fancier.

I would like to know whether letting inverse() "play" with the
symbolics as outlined above is desirable.

[1] http://en.wikipedia.org/wiki/Inverse_function_theorem

-- Kelvin

-- 
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to